JP2008117491A - Recording device, recording method and program - Google Patents

Recording device, recording method and program Download PDF

Info

Publication number
JP2008117491A
JP2008117491A JP2006301484A JP2006301484A JP2008117491A JP 2008117491 A JP2008117491 A JP 2008117491A JP 2006301484 A JP2006301484 A JP 2006301484A JP 2006301484 A JP2006301484 A JP 2006301484A JP 2008117491 A JP2008117491 A JP 2008117491A
Authority
JP
Japan
Prior art keywords
page number
data
recording
recorded
disk medium
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
JP2006301484A
Other languages
Japanese (ja)
Inventor
Tetsuya Tamura
哲也 田村
Akira Nishimura
章 西村
Takeshi Sasa
剛 佐々
Kazuya Suzuki
一也 鈴木
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2006301484A priority Critical patent/JP2008117491A/en
Publication of JP2008117491A publication Critical patent/JP2008117491A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a recording device to record data in a disk scheduling without needing any special command from a host device side. <P>SOLUTION: A table T1 shows a nonvolatile memory and a physical page number of an HDD associated with a logical page number. A block bit is designed to record "1" when the logical page number is converted into a physical page number by a block unit, and "0" when the logical page number is converted into a physical page number by a page unit. The invention is applied to a recording device for recording data in the HDD. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、記録装置、記録方法、およびプログラムに関し、特に、ホスト装置から供給されるデータをハードディスクなどのディスク媒体上に均等に記録して一定の転送速度を保証する、いわゆるディスクスケジューリング記録を実現できるようにした記録装置、記録方法、およびプログラムに関する。   The present invention relates to a recording device, a recording method, and a program, and in particular, realizes so-called disk scheduling recording in which data supplied from a host device is evenly recorded on a disk medium such as a hard disk to guarantee a constant transfer rate. The present invention relates to a recording apparatus, a recording method, and a program that can be used.

パーソナルコンピュータやビデオカメラなどのホスト装置からデータを出力し、出力されたデータをハードディスクなどのディスク媒体を内蔵する記録装置に記録させることを考える。   Consider that data is output from a host device such as a personal computer or a video camera, and the output data is recorded in a recording device including a disk medium such as a hard disk.

これまでは、ホスト装置であるPC(Personal Computer)は記録装置に対し、単位時間当たりのコマンド処理数やデータ転送速度(比較的長時間における平均値)を上げることを要求し、従って、データ転送速度のばらつきや、応答速度はあまり考慮されなかった。   Until now, PC (Personal Computer) as a host device has requested the recording device to increase the number of command processing per unit time and the data transfer rate (average value for a relatively long time), and therefore data transfer Variations in speed and response speed were not considered much.

一方、コンスーマ機器が記憶装置に対して要求する性能は、平均的にはそれほど高くない。例えば、ハイビジョン録画をMPEG(Moving Picture Experts Group)2で行う場合、そのデータレートは25Mbit/sec 程度であり、100Mbit/secを超えるHDDの転送速度からみてそれほど高いわけではない。   On the other hand, the performance required by a consumer device for a storage device is not so high on average. For example, when high-definition video recording is performed by MPEG (Moving Picture Experts Group) 2, the data rate is about 25 Mbit / sec, which is not so high in view of the transfer rate of the HDD exceeding 100 Mbit / sec.

しかしながら、転送速度のばらつきを減らす、応答速度を早くする、すなわちリアルタイム性については強い要求がある。実際、転送速度のばらつきが大きく、応答速度が遅ければ、再生中に画像や音声が止まる、又は録画や記録中に録画ができないなどの問題が起こる。これらの問題は、コンスーマ機器として記憶装置を用いるには致命的である。   However, there is a strong demand for reducing variations in transfer speed, increasing response speed, that is, real-time characteristics. In fact, if the transfer speed varies greatly and the response speed is slow, problems such as stopping of images and sound during reproduction or inability to record during recording or recording will occur. These problems are fatal for using a storage device as a consumer device.

このような転送速度のばらつきが起こる要因は大きく分けて2つある。転送速度が遅くなる第1の要因としては、シークエラー又は読み出したデータに誤りが存在することであり、このことにより、その訂正あるいは再試行に時間がかかってしまうことが挙げられる。また、転送速度が遅くなる第2の要因としては、シーク動作や回転待ちが多く発生し無駄な時間が多い、あるいは転送速度の遅い領域を長時間に亘って使用しているなどである。   There are roughly two factors that cause such transfer speed variations. The first factor that slows down the transfer rate is that there is a seek error or an error in the read data, and this takes time to correct or retry. Further, the second factor that slows down the transfer speed is that there are many seek operations and waiting for rotation and there is a lot of wasted time, or an area where the transfer speed is slow is used for a long time.

上述した第1の要因に関しては、データの信頼性が低くてもよいAVデータなどについては、エラーを無視する、またはコマンドの処理時間に上限を設定することで一応解決することができる。例えば、ATA(AT Attachment)−7のStreaming Feature Set(一般にAVコマンドと称される)では、個々のコマンドの処理時間を直接指定することができる。   The first factor described above can be solved for AV data or the like whose data reliability may be low by ignoring errors or setting an upper limit for the command processing time. For example, in ATA (AT Attachment) -7 Streaming Feature Set (generally referred to as AV command), the processing time of each command can be directly specified.

しかしながら、それをどのように実行するかはストレージ側に完全にまかされていて、データが実際に正しく読み書きできたかどうかは保障されないという問題がある。ただし、このような問題の発生頻度は比較的小さい。   However, there is a problem that how to execute it is completely up to the storage side, and it is not guaranteed whether the data can actually be read and written correctly. However, the frequency of occurrence of such problems is relatively small.

上述した第2の要因に関しては、上記1つめの要因より発生頻度が高く、問題としてはより深刻である。その解決法として、従来、ディスクスケジューリングとファイルの物理的配置の工夫との2つが提案されてきた。   The second factor described above has a higher occurrence frequency than the first factor and is more serious as a problem. Conventionally, two solutions have been proposed: disk scheduling and device physical arrangement.

ディスクスケジューリングは、アプリケーションから要求される複数のI/O要求をまとめてその処理時間が小さくなるようにそれらの実行する順番を変更する技術である。古くから多くの研究が行われていて、その代表的なアルゴリズムとして、SSTF (shortest -seek-time-first 最小シークの順)、SCAN、FCFS (first-come-first-served 到着順)、EDF (earliest-deadline-first 期限の早い順)などを挙げることができる(非特許文献1参照)。   Disk scheduling is a technique for changing the execution order of a plurality of I / O requests requested by an application so that the processing time is reduced. A lot of research has been done for a long time, and representative algorithms include SSTF (shortest-seek-time-first least seek order), SCAN, FCFS (first-come-first-served arrival order), EDF ( earliest-deadline-first) (see Non-Patent Document 1).

例えばSSTFでは、数個から百個くらいのコマンドをキューイングして、その実行時間を計算した値をテーブルとして保持し、保持しているテーブルの値と一番最近入ってきたコマンドの実行時間と比較して、一番小さいものを実行するのが通常である。なお、実行時間を計算するにあたり回転待ち時間は考慮したものも提案されている。なお、SSTFは主に記憶装置内部のコントローラに実装されてきた。   For example, in SSTF, several to a hundred commands are queued, and the values calculated for the execution time are stored as a table. The values of the stored table and the execution time of the most recently entered command are stored. In comparison, it is normal to execute the smallest one. It has been proposed that the rotation waiting time is taken into account when calculating the execution time. SSTF has been mainly implemented in controllers inside storage devices.

またSCANにおいては、SSTFと同様にコマンドをキューイングするが、コマンドの実行をディスクの内周から外周へ(あるいは外周から内周へ)一方向にむけて行い、ディスクの端に辿り着いたらその方向を反転させるものである。なおその改良としてコマンド実行後に、その先にアクセス要求がなくなっていたら反転するものを Look Scan、さらに循環的にコマンドの実行を行うもの、具体的には最外周でコマンドの実行を行ったら次に最内周でのコマンドの実行を行うものを C(Circular) Look Scanと称する。なお SCAN は主にホスト装置側で実装されてきた。   In SCAN, commands are queued in the same way as SSTF, but commands are executed in one direction from the inner circumference to the outer circumference of the disk (or from the outer circumference to the inner circumference). The direction is reversed. As an improvement, after executing the command, if there is no access request ahead, the reverse is Look Scan, and the command is executed cyclically, specifically, the command is executed at the outermost periphery. The one that executes commands on the innermost circumference is called C (Circular) Look Scan. SCAN has been implemented mainly on the host device side.

しかしながら、これらの方法はAVデータを扱うのには不向きである。なぜならば、I/O要求当たりのデータ転送量が多く、したがって単位時間あたりのI/O要求の数が少ないからである。また上記のアルゴリズムでは、比較するI/O要求が少ないと効果が薄く、かといって多数のI/O要求を得るまで待てばリアルタイム性が損なわれてしまう。   However, these methods are not suitable for handling AV data. This is because the amount of data transfer per I / O request is large, and therefore the number of I / O requests per unit time is small. In the above algorithm, if the number of I / O requests to be compared is small, the effect is weak. However, if waiting until a large number of I / O requests are obtained, the real-time property is impaired.

そこで、AVデータを扱う場合には、FCFS,EDFが用いられることが多い。しかし前述の「シーク動作や回転待ちが多く発生し無駄な時間が多い」、またディスク媒体を角速度一定(CAV:Constant Angular Velocity)で用いる場合、ディスクの内周と外周ではデータの転送速度が大きく異なるために、「転送速度の遅い領域を長時間に亘って使用してしまう」ために応答は速くても十分なスループットを出すことができない可能性がある。   Therefore, when handling AV data, FCFS and EDF are often used. However, when the disk media is used at a constant angular velocity (CAV), the data transfer speed is large on the inner and outer circumferences of the disk. Because of the difference, “a region with a low transfer rate is used for a long time”, and even if the response is fast, there is a possibility that sufficient throughput cannot be obtained.

一方、ファイルの物理的配置を工夫する方法も数多くの研究・実装がある。例えば、最近のファイルシステムでは、データの局所性を利用し、関連するデータを物理的に近接した配置する努力を論理ブロックアドレス(LBA:Logical Brock Address)空間上で行っている。また、転送速度の最低値を保障するためにシーク動作が増えることを覚悟して転送速度が遅い領域と早い領域とを組み合わせて使用する方法が提案されている(特許文献1参照)。   On the other hand, there are many research and implementation methods for devising the physical layout of files. For example, in recent file systems, efforts are made on the logical block address (LBA) space by using the locality of data and placing related data in physical proximity. In addition, a method has been proposed in which a seek operation is increased in order to guarantee the minimum transfer rate and a combination of a low transfer rate region and a fast transfer region is used (see Patent Document 1).

しかしながら、ホスト装置側では、HDDにおいて、現在ヘッドがどこに存在しているのか、データがディスクのどこに配置されるかなどの情報を直接知ることができない。そのためヘッドを所定のトラックにシークする時間、とりわけそれ以後の回転待ち時間を厳密に知ることが困難で、その短縮には限界があった。   However, the host device cannot directly know information such as where the head currently exists in the HDD and where the data is arranged on the disk. For this reason, it is difficult to accurately know the time for seeking the head to a predetermined track, especially the rotation waiting time thereafter, and there is a limit to shortening it.

これに対して、さらにファイルの配置に制限を設けて、より回転待ち時間を最適化する技術が提案されているが(特許文献2参照)、ブロック分割にともないシーク動作が多くなること、ディスク面の使用効率が悪くなるなどの問題がある。   On the other hand, a technique for further optimizing the rotation waiting time by limiting the file arrangement has been proposed (see Patent Document 2), but the seek operation increases as the block is divided, and the disk surface There are problems such as poor usage efficiency.

これらの問題を解決するために、ファイルシステムの中の配置情報を管理するコンポーネントを記憶装置側に移動させ、ディスクの記憶領域を外周から内周にむけて複数のエリアに分割し、所定のパターンに従って各エリアをほぼ等しい頻度で使用することにより、データの転送速度の下限を保証する技術が提案されている(特許文献3参照)。   In order to solve these problems, the component that manages the arrangement information in the file system is moved to the storage device side, and the storage area of the disk is divided into a plurality of areas from the outer periphery to the inner periphery, and a predetermined pattern is obtained. A technique has been proposed in which the lower limit of the data transfer rate is guaranteed by using each area almost at the same frequency according to (see Patent Document 3).

特開平10−49996号公報Japanese Patent Laid-Open No. 10-49996 特開平9−185864号公報JP-A-9-185864 特開2005−228404号公報JP 2005-228404 A 前川 守著「岩波講座ソフトウェア科学 オペレーティングシステム」、岩波書店、1988年9月6日発行Maekawa Mamoru “Iwanami Lecture Software Science Operating System”, Iwanami Shoten, September 6, 1988

しかしながら、ホスト装置と記録装置からなる従来のシステムにおいて、提案した方法によってデータをディスクスケジューリング記録し、また読み出すためには、ホスト装置側から記録装置側に対して、単なる書き込みコマンドや読み出しコマンドとは異なる特別なコマンドを出力する必要があり、ホスト装置側の負担が大きかった。   However, in a conventional system consisting of a host device and a recording device, in order to record and read data on a disk by the proposed method, a simple write command or read command from the host device side to the recording device side is It was necessary to output a different special command, and the burden on the host device was heavy.

本発明はこのような状況に鑑みてなされたものであり、ホスト装置側からの特別なコマンドを必要とせず、ホスト装置から出力される既存のコマンドに従い、データをディスク媒体にディスクスケジューリング記録できるようにするものである。   The present invention has been made in view of such a situation, and does not require a special command from the host device side, so that data can be recorded in a disk scheduling on a disk medium in accordance with an existing command output from the host device. It is to make.

本発明の一側面である記録装置は、ホスト装置から供給される記録すべきデータ、および記録位置を示す論理ブロックアドレスに基づいて、前記記録すべきデータをディスク媒体に記録する記録装置において、前記ホスト装置から供給された前記論理ブロックアドレスを論理ページ番号に変換する変換手段と、前記論理ページ番号に対応付けられている前記ディスク媒体の物理ページ番号を示す第1のテーブルを保持する保持手段と、前記変換手段による変化後の前記論理ページ番号に対応付ける前記ディスク媒体の物理ページ番号を選択する選択手段と、前記選択手段によって選択された前記ディスク媒体の前記物理ページ番号の位置に、前記ホスト装置から供給された前記記録すべきデータを記録する記録手段と、前記記録手段によって前記記録すべきデータが記録されたことに対応し、前記変換手段による変化後の前記論理ページ番号に、前記記録すべきデータが記録された前記物理ページ番号を対応付けることによって前記第1のテーブルを更新する更新手段とを含む。   A recording apparatus according to an aspect of the present invention is a recording apparatus that records data to be recorded on a disk medium based on data to be recorded supplied from a host device and a logical block address indicating a recording position. Converting means for converting the logical block address supplied from the host device into a logical page number; holding means for holding a first table indicating the physical page number of the disk medium associated with the logical page number; Selection means for selecting a physical page number of the disk medium associated with the logical page number after the change by the conversion means, and the host device at the position of the physical page number of the disk medium selected by the selection means Recording means for recording the data to be recorded supplied from the recording means, and the recording means Corresponding to the fact that the data to be recorded has been recorded, the first table is created by associating the physical page number on which the data to be recorded is recorded with the logical page number after the change by the converting means. Updating means for updating.

前記第1のテーブルは、前記論理ページ番号と前記ディスク媒体の物理ページ番号との対応関係をページ単位の整数倍のブロック単位で示すようにすることができる。   The first table can indicate the correspondence between the logical page number and the physical page number of the disk medium in block units that are integer multiples of the page unit.

前記保持手段は、前記ディスク媒体の前記AV用領域に属する物理ブロックアドレスが、既に前記論理ページ番号に対応付けられているか否かを示す第2のテーブルも保持するようにすることができる。   The holding unit may also hold a second table indicating whether or not a physical block address belonging to the AV area of the disk medium is already associated with the logical page number.

前記保持手段は、不揮発性メモリであって前記記録すべきデータを記憶することができ、前記第1のテーブルには、前記論理ページ番号に対応付けられている前記不揮発性メモリの物理ページ番号も記録されているようにすることができる。   The holding means is a non-volatile memory and can store the data to be recorded, and the first table also includes a physical page number of the non-volatile memory associated with the logical page number. Can be recorded.

前記ディスク媒体には、比較的データ量の大きなAVデータを記録するためのAVデータ用領域と、比較的データ量の小さな非AVデータを記録するための非AVデータ用領域が設けられているようにすることができる。   The disk medium is provided with an AV data area for recording AV data having a relatively large data amount and a non-AV data area for recording non-AV data having a relatively small data amount. Can be.

前記選択手段は、前記記録すべきデータのデータ量に基づき、前記変換手段による変化後の前記論理ページ番号に対応付ける前記ディスク媒体の物理ページ番号を、前記AV用領域、または前記非AV用領域から選択するようにすることができる。   The selection means determines the physical page number of the disk medium to be associated with the logical page number after the change by the conversion means based on the data amount of the data to be recorded from the AV area or the non-AV area. Can be selected.

前記選択手段は、前記記録すべきデータのデータ量が所定のデータ単位である場合、前記変換手段による変化後の前記論理ページ番号に対応付ける前記ディスク媒体の物理ページ番号を、前記所定のデータ量毎、前記AV用領域に設けた複数のエリアを所定の順序で切り替えて選択するようにすることができる。   When the data amount of the data to be recorded is a predetermined data unit, the selecting unit sets the physical page number of the disk medium associated with the logical page number after the change by the converting unit for each predetermined data amount. The plurality of areas provided in the AV area can be switched and selected in a predetermined order.

本発明の一側面である記録方法は、ホスト装置から供給される記録すべきデータ、および記録位置を示す論理ブロックアドレスに基づいて、前記記録すべきデータをディスク媒体に記録する記録装置の記録方法において、前記ホスト装置から供給された前記論理ブロックアドレスを論理ページ番号に変換する変換ステップと、前記変換ステップの処理による変化後の前記論理ページ番号に対応付ける前記ディスク媒体の物理ページ番号を選択する選択ステップと、前記選択ステップの処理で選択された前記ディスク媒体の前記物理ページ番号の位置に、前記ホスト装置から供給された前記記録すべきデータを記録する記録ステップと、前記記録ステップの処理で前記記録すべきデータが記録されたことに対応し、前記変換ステップの処理による変化後の前記論理ページ番号に、前記記録すべきデータが記録された前記物理ページ番号を対応付けることによって、前記論理ページ番号に対応付けられている前記ディスク媒体の物理ページ番号を示す第1のテーブルを更新する更新ステップとを含む。   A recording method according to one aspect of the present invention is a recording method of a recording apparatus that records data to be recorded on a disk medium based on data to be recorded supplied from a host device and a logical block address indicating a recording position. A conversion step of converting the logical block address supplied from the host device into a logical page number, and a selection for selecting a physical page number of the disk medium associated with the logical page number after the change by the processing of the conversion step A recording step for recording the data to be recorded supplied from the host device at the position of the physical page number of the disk medium selected in the processing of the selection step; and Corresponding to the recording of data to be recorded, A first table indicating the physical page number of the disk medium associated with the logical page number by associating the physical page number on which the data to be recorded is recorded with the logical page number after the change. Updating step.

本発明の一側面であるプログラムは、ホスト装置から供給される記録すべきデータ、および記録位置を示す論理ブロックアドレスに基づいて、前記記録すべきデータをディスク媒体に記録する記録装置の制御用のプログラムであって、前記ホスト装置から供給された前記論理ブロックアドレスを論理ページ番号に変換する変換ステップと、前記変換ステップの処理による変化後の前記論理ページ番号に対応付ける前記ディスク媒体の物理ページ番号を選択する選択ステップと、前記選択ステップの処理で選択された前記ディスク媒体の前記物理ページ番号の位置に、前記ホスト装置から供給された前記記録すべきデータを記録させる記録ステップと、前記記録ステップの処理で前記記録すべきデータが記録されたことに対応し、前記変換ステップの処理による変化後の前記論理ページ番号に、前記記録すべきデータが記録された前記物理ページ番号を対応付けることによって、前記論理ページ番号に対応付けられている前記ディスク媒体の物理ページ番号を示す第1のテーブルを更新する更新ステップとを含む処理をコンピュータに実行させる。   A program according to an aspect of the present invention is a program for controlling a recording apparatus that records data to be recorded on a disk medium based on data to be recorded supplied from a host apparatus and a logical block address indicating a recording position. A conversion step of converting the logical block address supplied from the host device into a logical page number; and a physical page number of the disk medium associated with the logical page number after the change by the processing of the conversion step. A selection step for selecting, a recording step for recording the data to be recorded supplied from the host device at the position of the physical page number of the disk medium selected in the processing of the selection step, and In response to the recording of the data to be recorded in the processing, The physical page number of the disk medium associated with the logical page number is indicated by associating the physical page number on which the data to be recorded is associated with the logical page number after the change by the processing of the group. Causing the computer to execute a process including an update step of updating the first table.

本発明の一側面においては、ホスト装置から供給された論理ブロックアドレスが論理ページ番号に変換され、変化後の論理ページ番号に対応付けるディスク媒体の物理ページ番号が選択され、選択されたディスク媒体の物理ページ番号の位置に、ホスト装置から供給された記録すべきデータが記録される。そして、記録すべきデータが記録されたことに対応し、変化後の論理ページ番号に、記録すべきデータが記録された物理ページ番号を対応付けることによって、論理ページ番号に対応付けられているディスク媒体の物理ページ番号を示す第1のテーブルが更新される。   In one aspect of the present invention, a logical block address supplied from a host device is converted into a logical page number, a physical page number of a disk medium associated with the changed logical page number is selected, and the physical of the selected disk medium is selected. Data to be recorded supplied from the host device is recorded at the position of the page number. Then, in response to the recording of the data to be recorded, the disk medium associated with the logical page number by associating the physical page number on which the data to be recorded is recorded with the logical page number after the change. The first table indicating the physical page number is updated.

本発明の一側面によれば、ホスト装置側からの特別なコマンドを必要とせず、ホスト装置から出力される既存のコマンドに従い、データをディスク媒体にディスクスケジューリング記録することが可能となる。   According to one aspect of the present invention, it is possible to record data on a disk medium according to an existing command output from the host apparatus without requiring a special command from the host apparatus side.

以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。   Embodiments of the present invention will be described below. Correspondences between constituent elements of the present invention and the embodiments described in the specification or the drawings are exemplified as follows. This description is intended to confirm that the embodiments supporting the present invention are described in the specification or the drawings. Therefore, even if there is an embodiment which is described in the specification or the drawings but is not described here as an embodiment corresponding to the constituent elements of the present invention, that is not the case. It does not mean that the form does not correspond to the constituent requirements. Conversely, even if an embodiment is described here as corresponding to a configuration requirement, that means that the embodiment does not correspond to a configuration requirement other than the configuration requirement. It's not something to do.

本発明の一側面である記録装置(例えば、図1の記録装置20)は、ホスト装置(例えば、図1のホスト装置10)から供給される記録すべきデータ、および記録位置を示す論理ブロックアドレスに基づいて、前記記録すべきデータをディスク媒体(例えば、図1のディスク媒体39)に記録する記録装置において、前記ホスト装置から供給された前記論理ブロックアドレスを論理ページ番号に変換する変換手段(例えば、図19のステップS2を実行する図1のCPU21)と、前記論理ページ番号に対応付けられている前記ディスク媒体の物理ページ番号を示す第1のテーブル(例えば、図1のテーブルT1)を保持する保持手段(例えば、図1の不揮発性メモリ29)と、前記変換手段による変化後の前記論理ページ番号に対応付ける前記ディスク媒体の物理ページ番号を選択する選択手段(例えば、図20のステップS16を実行する図1のCPU21)と、前記選択手段によって選択された前記ディスク媒体の前記物理ページ番号の位置に、前記ホスト装置から供給された前記記録すべきデータを記録する記録手段(例えば、図20のステップS17を実行する図1のHDD制御部25)と、前記記録手段によって前記記録すべきデータが記録されたことに対応し、前記変換手段による変化後の前記論理ページ番号に、前記記録すべきデータが記録された前記物理ページ番号を対応付けることによって前記第1のテーブルを更新する更新手段(例えば、図20のステップS19を実行する図1のCPU21)とを含む。   A recording apparatus (for example, the recording apparatus 20 in FIG. 1) according to one aspect of the present invention includes data to be recorded supplied from a host apparatus (for example, the host apparatus 10 in FIG. 1) and a logical block address indicating a recording position. In the recording apparatus for recording the data to be recorded on a disk medium (for example, the disk medium 39 in FIG. 1) based on the above, conversion means (converting the logical block address supplied from the host apparatus into a logical page number) For example, the CPU 21 in FIG. 1 that executes step S2 in FIG. 19) and a first table (for example, the table T1 in FIG. 1) that indicates the physical page number of the disk medium that is associated with the logical page number. The holding means for holding (for example, the non-volatile memory 29 in FIG. 1) and the logical page number after the change by the converting means are associated with the logical page number Selection means for selecting a physical page number of the disk medium (for example, the CPU 21 of FIG. 1 that executes step S16 of FIG. 20), and the host at the position of the physical page number of the disk medium selected by the selection means Recording means for recording the data to be recorded supplied from the apparatus (for example, the HDD control unit 25 in FIG. 1 that executes step S17 in FIG. 20) and the data to be recorded are recorded by the recording means And updating means for updating the first table by associating the physical page number on which the data to be recorded is recorded with the logical page number after the change by the converting means (for example, FIG. 20). 1 for executing step S19.

前記保持手段は、前記ディスク媒体の前記AV用領域に属する物理ブロックアドレスが、既に前記論理ページ番号に対応付けられているか否かを示す第2のテーブル(例えば、図1のテーブルT2)も保持するようにすることができる。   The holding unit also holds a second table (for example, the table T2 in FIG. 1) indicating whether a physical block address belonging to the AV area of the disk medium is already associated with the logical page number. To be able to.

本発明の一側面である記録方法およびプログラムは、前記ホスト装置から供給された前記論理ブロックアドレスを論理ページ番号に変換する変換ステップ(例えば、図19のステップS2)と、前記変換ステップの処理による変化後の前記論理ページ番号に対応付ける前記ディスク媒体の物理ページ番号を選択する選択ステップ(例えば、図20のステップS16)と、前記選択ステップの処理で選択された前記ディスク媒体の前記物理ページ番号の位置に、前記ホスト装置から供給された前記記録すべきデータを記録する記録ステップ(例えば、図20のステップS17)と、前記記録ステップの処理で前記記録すべきデータが記録されたことに対応し、前記変換ステップの処理による変化後の前記論理ページ番号に、前記記録すべきデータが記録された前記物理ページ番号を対応付けることによって、前記論理ページ番号に対応付けられている前記ディスク媒体の物理ページ番号を示す第1のテーブルを更新する更新ステップ(例えば、図20のステップS19)とを含む。   A recording method and a program according to an aspect of the present invention include a conversion step (for example, step S2 in FIG. 19) for converting the logical block address supplied from the host device into a logical page number, and processing of the conversion step. A selection step (for example, step S16 in FIG. 20) for selecting the physical page number of the disk medium associated with the logical page number after the change, and the physical page number of the disk medium selected in the processing of the selection step Corresponding to the recording step (for example, step S17 in FIG. 20) for recording the data to be recorded supplied from the host device at the position and the data to be recorded recorded in the processing of the recording step. , The data to be recorded in the logical page number after the change in the process of the conversion step. An update step for updating the first table indicating the physical page number of the disk medium associated with the logical page number by associating the physical page number recorded with (for example, step S19 in FIG. 20) Including.

以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。   Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings.

図1は、本発明を適用したハイブリッド記録システムの構成例を示している。   FIG. 1 shows a configuration example of a hybrid recording system to which the present invention is applied.

このハイブリッド記録システム1は、例えばパーソナルコンピュータやビデオカメラなどのデータを出力するホスト装置10、並びに、ホスト装置10から入力されたデータを記録する記録媒体としてNANDフラッシュメモリなどからなる不揮発性メモリ29およびハードディスクドライブ(以下、HDDと称する)30を備える記録装置20から構成される。   The hybrid recording system 1 includes, for example, a host device 10 that outputs data such as a personal computer and a video camera, and a nonvolatile memory 29 including a NAND flash memory as a recording medium for recording data input from the host device 10 and The recording apparatus 20 includes a hard disk drive (hereinafter referred to as HDD) 30.

ホスト装置10は、所定の制御用プログラムを実行することによりホスト装置10の全体を制御するCPU(Central Processing Unit)11、制御用プログラムを保持するとともにCPU11の処理領域として利用されるCPU用メモリ13、およびIDE(Integrated Drive Electronics),SCSI(Small Computer System Interface),FC(Fibre Channel),USB(Universal Serial Bus)などからなる記録装置I/F(インタフェース)14から構成される。CPUメモリ13および記録装置I/F14は、バス12を介してCPU11に接続されている。   The host device 10 executes a predetermined control program, thereby controlling a CPU (Central Processing Unit) 11 that controls the entire host device 10, and a CPU memory 13 that holds a control program and is used as a processing area of the CPU 11. And a recording device I / F (interface) 14 composed of IDE (Integrated Drive Electronics), SCSI (Small Computer System Interface), FC (Fibre Channel), USB (Universal Serial Bus), and the like. The CPU memory 13 and the recording device I / F 14 are connected to the CPU 11 via the bus 12.

ホスト装置10では、記録装置20に対してデータの記録を指示するとき、CPU11が一般的な書き込みコマンドと、記録させるデータ(例えば、AVデータなど)と、記録させる位置を示す論理ブロックアドレス(以下、LBA:Logical Block Addressと称する)とを、記録装置I/F14を介して記録装置20に出力するようになされている。   In the host device 10, when instructing the recording device 20 to record data, the CPU 11 performs a general write command, data to be recorded (for example, AV data, etc.), and a logical block address (hereinafter referred to as a recording block location). , LBA: Logical Block Address) is output to the recording device 20 via the recording device I / F 14.

記録装置20は、所定の制御用プログラムを実行することにより記録装置20の全体を制御するCPU21、制御用プログラムを保持するとともにCPU21の処理領域として利用されるCPU用メモリ23、ホスト装置10と記録すべきデータなど通信するホスト装置I/F24、HDD30を制御するHDD制御部25、バッファメモリ27乃至不揮発性メモリ29を制御するメモリ制御部26、不揮発性メモリ29に対するデータ転送速度を一定に保つためのバッファメモリ27、バッファメモリ27と不揮発性メモリ29の間のページ単位(後述)のデータ転送を効率化させるためのページバッファ28、ホスト装置10から入力されるデータが記録される不揮発性メモリ29、およびホスト装置10から入力されるデータが記録されるHDD30から構成される。   The recording device 20 controls the entire recording device 20 by executing a predetermined control program, holds the control program, and uses the CPU memory 23 used as a processing area of the CPU 21, the host device 10 and the recording device In order to keep constant the data transfer rate to the host device I / F 24 that communicates data to be transmitted, the HDD control unit 25 that controls the HDD 30, the memory control unit 26 that controls the buffer memory 27 to the nonvolatile memory 29, and the nonvolatile memory 29 Buffer memory 27, page buffer 28 for improving the efficiency of data transfer between the buffer memory 27 and the nonvolatile memory 29 (described later), and nonvolatile memory 29 in which data input from the host device 10 is recorded And the HDD 30 in which data input from the host device 10 is recorded

CPU用メモリ23乃至メモリ制御部26は、バス22を介してCPU21に接続されている。   The CPU memory 23 to the memory control unit 26 are connected to the CPU 21 via the bus 22.

バッファメモリ27は、コスト高を抑えるためDRAM(Dynamic Random Access Memory)またはSRAM(Static RAM)により構成する。ページバッファ28は、バッファメモリ27と不揮発性メモリ29の間のデータ転送だけでなく、不揮発性メモリ29内においてデータを移動させるときにも利用される。   The buffer memory 27 is configured by DRAM (Dynamic Random Access Memory) or SRAM (Static RAM) in order to reduce the cost. The page buffer 28 is used not only to transfer data between the buffer memory 27 and the nonvolatile memory 29 but also to move data in the nonvolatile memory 29.

不揮発性メモリ29に対するデータの書き込み、読み出し、および消去は、メモリ制御部26によって実行される。不揮発性メモリ29は、例えば2キロバイトからなるページ単位でデータを読み書きし、ページ単位の整数倍であるブロック単位(例えば、128キロバイト)でデータの消去を行うようになされている。不揮発性メモリ29にデータを書き込む場合、書き込む位置にそれまで記録されていたデータを消去する必要がある。   Writing, reading, and erasing of data with respect to the nonvolatile memory 29 are executed by the memory control unit 26. The non-volatile memory 29 reads and writes data in units of, for example, 2 kilobytes, and erases data in units of blocks (for example, 128 kilobytes) that is an integral multiple of the page unit. When writing data to the nonvolatile memory 29, it is necessary to erase the data that has been recorded up to that point.

不揮発性メモリ29には、ホスト装置10から入力されるデータが記録される他、後述するテーブルT1,T2,t2(後述)が保持されている。   The nonvolatile memory 29 stores data input from the host device 10 and holds tables T1, T2, and t2 (described later) described later.

HDD30は、HDD制御部25と接続してデータなどを通信するI/F31、HDD30の全体を制御する制御部32、ディスク媒体39に記録する前のデータを一時的に保持するバッファメモリ33、記録するデータを変調して符号化信号を生成するとともにディスク媒体39から読み出され符号化信号を復調するチャンネル部34、ディスク媒体39に対して符号化信号を記録し、また読み出すヘッド35、スピンドルモータ37およびトラッキングモータ38を制御するサーボ制御部36、ディスク媒体39を回転させるスピンドルモータ37、およびヘッド35をディスク媒体39上の所定の位置に移動させるトラッキングモータ38から構成される。   The HDD 30 is connected to the HDD control unit 25 to communicate data and the like, the control unit 32 that controls the entire HDD 30, a buffer memory 33 that temporarily holds data before recording on the disk medium 39, a recording A channel unit 34 that modulates data to be generated to generate an encoded signal and demodulates the encoded signal read from the disk medium 39; a head 35 that records and reads the encoded signal on the disk medium 39; and a spindle motor 37, a servo control unit 36 that controls the tracking motor 38, a spindle motor 37 that rotates the disk medium 39, and a tracking motor 38 that moves the head 35 to a predetermined position on the disk medium 39.

HDD30に対するデータの書き込みおよび読み出しは、HDD制御部26によって実行される。HDD30は、例えば512バイトからなるセクタ単位でデータを読み書きする。HDD30にデータを書き込む場合、その書き込む位置に不要なデータが残っていても上書きすることができる。   Writing and reading of data with respect to the HDD 30 is executed by the HDD control unit 26. The HDD 30 reads and writes data in units of sectors, for example consisting of 512 bytes. When data is written to the HDD 30, it can be overwritten even if unnecessary data remains at the writing position.

HDD30に対するデータの書き込みは、ホスト装置10に対して転送速度の下限値を保証するため、その記憶領域を外周側から内周側にむけて複数のエリアに分割し、各エリアを所定のパターンに従ってほぼ等しい頻度で使用するようにしたディスクスケジューリング記録により行う。なお、記録位置の各エリアへの振り分けはテーブルT1を用いるので、ホスト装置10が特別なコマンドを出力する必要がない。   When writing data to the HDD 30, the storage area is divided into a plurality of areas from the outer peripheral side to the inner peripheral side in order to guarantee the lower limit of the transfer rate for the host device 10, and each area is divided according to a predetermined pattern. It is performed by disk scheduling recording that is used at an approximately equal frequency. Note that since the table T1 is used to assign the recording position to each area, the host device 10 does not need to output a special command.

エリア数は、一般的なHDDにおいて採用されている、容量を増やすために記憶領域を10乃至20程度の複数のゾーンに分割してゾーン毎に転送速度を変えるゾーンビッドレコーディングと称する手法におけるゾーン数の半分の5乃至10程度とする。また、データの書き込みサイズがあまりにも小さい場合、シーク動作のオーバヘッドが目立つので、書き込みサイズは複数トラック分の容量を超えるようにする。   The number of areas is the number of zones in a technique called zone bid recording, which is adopted in general HDDs, and divides the storage area into a plurality of zones of about 10 to 20 to increase the capacity and changes the transfer speed for each zone. It is about 5 to 10 which is half of the above. If the data write size is too small, the overhead of the seek operation is conspicuous, so the write size should exceed the capacity for a plurality of tracks.

なお、不揮発性メモリ29の記録単位であるページのサイズと、HDD30の記録単位であるセクタのサイズはと必ずしも一致しない。しかしながら、ページのサイズ(例えば、2キロバイト)はセクタのサイズ(例えば、512バイト)の整数倍であるので、ホスト装置10が指定する論理ブロックアドレス空間に、不揮発性メモリ29の論理ページ番号と、HDD30の論理ページ番号とを容易に対応付けることができる。   Note that the size of the page, which is the recording unit of the nonvolatile memory 29, does not necessarily match the size of the sector, which is the recording unit of the HDD 30. However, since the page size (for example, 2 kilobytes) is an integral multiple of the sector size (for example, 512 bytes), the logical page number of the nonvolatile memory 29 and the logical block address space designated by the host device 10 are The logical page number of the HDD 30 can be easily associated.

記録装置20では、ホスト装置10からデータの書き込みが指示された場合、CPU21がホスト装置I/F24を介して取得するホスト装置10から通知されるLBAを論理ページ番号に変換し、この論理ページ番号を、不揮発性メモリ29に保持されているテーブルT1,T2を参照して不揮発性メモリ29またはHDD30の物理ページ番号に変換してHDD制御部25またはメモリ制御部26のどちらかにデータの記録を制御させる。   In the recording device 20, when data writing is instructed from the host device 10, the CPU 21 converts the LBA notified from the host device 10 acquired via the host device I / F 24 into a logical page number, and this logical page number. Is converted into a physical page number of the nonvolatile memory 29 or the HDD 30 with reference to the tables T1 and T2 held in the nonvolatile memory 29, and data is recorded in either the HDD control unit 25 or the memory control unit 26 Let me control.

以下、不揮発性メモリ29の容量は128メガバイト、HDD30の容量は8ギガバイト以上を想定する。ただし、不揮発性メモリ29およびHDD30の容量は上述した値に限定されるものではない。   Hereinafter, it is assumed that the capacity of the nonvolatile memory 29 is 128 megabytes, and the capacity of the HDD 30 is 8 gigabytes or more. However, the capacities of the nonvolatile memory 29 and the HDD 30 are not limited to the values described above.

ここで、テーブルT1,T2の原型となる、テーブルt1,t2を用いるNANDフラッシュメモリのガベージコレクションについて説明する。   Here, the garbage collection of the NAND flash memory using the tables t1 and t2, which is a prototype of the tables T1 and T2, will be described.

ガベージコレクションとは、不揮発性メモリ29に採用されたNANDフラッシュメモリの性質、すなわち「ページ単位でデータを読み書きし、ページ単位の整数倍であるブロック単位でデータを消去する。そして、データの書き込みは、書き込む位置にそれまで記録されていたデータを消去する必要がある」に対処してNANDフラッシュメモリの記録容量を効率的に利用するための手法である。   Garbage collection is the nature of the NAND flash memory employed in the non-volatile memory 29, that is, “data is read and written in units of pages, and data is erased in units of blocks that are integer multiples of pages. This is a method for efficiently using the recording capacity of the NAND flash memory in response to the need to erase the data that has been recorded at the writing position.

以下の説明では、NANDフラッシュメモリの記録容量を128メガバイト、書き込み単位のページを2キロバイト、消去単位のブロックを128キロバイトと想定する。この場合、NANDフラッシュメモリは1024ブロック、あるいは65536ページから構成されることになる。   In the following description, it is assumed that the recording capacity of the NAND flash memory is 128 megabytes, the page of writing unit is 2 kilobytes, and the block of erasing unit is 128 kilobytes. In this case, the NAND flash memory is composed of 1024 blocks or 65536 pages.

NANDフラッシュメモリの物理ページ番号を表す場合、図2に示すように、16ビットを用い、そのうちのMSB(Most Significant Bit)側の10ビット(0x000乃至0x3FF)でブロックを表し、LSB(Least Significant Bit)側の6ビット (0x00乃至0x3F)でブロック内のオフセットを表すようにする。以下、物理ページ番号だけでなく、論理ページ番号も、例えば0x000_3Fのようにブロック番号_オフセットの表記を用いることとする。   When representing the physical page number of the NAND flash memory, as shown in FIG. 2, 16 bits are used, and the block is represented by 10 bits (0x000 to 0x3FF) of the MSB (Most Significant Bit) side, LSB (Least Significant Bit) ) Side 6 bits (0x00 to 0x3F) represent the offset in the block. Hereinafter, not only the physical page number but also the logical page number uses a block number_offset notation such as 0x000_3F.

NANDフラッシュメモリに対するデータの書き込みは、可能な限り均等に各ページを使用してデータを書き込めるように、また可能な限り均等に各ブロックを消去できるように追記型の書き込みを行う。この追記型書き込みには、図3Aに示すテーブルt1、図3Bに示すテーブルt2、および図3Cに示すポインタを用いる。   Data is written to the NAND flash memory by write-once writing so that data can be written using each page as uniformly as possible, and each block can be erased as evenly as possible. For this write-once type writing, a table t1 shown in FIG. 3A, a table t2 shown in FIG. 3B, and a pointer shown in FIG. 3C are used.

テーブルt1は、論理ページ番号に対応付けられた物理ページ番号を示すものである。   The table t1 shows the physical page number associated with the logical page number.

テーブルt2には、各物理ブロックにおける各ページの状態を示すフラグ列が記録されている。このフラグ列は、各物理ブロックを構成するページ数と同じ桁数の10進数からなり、ブロック内におけるページのオフセット量と、フラグ列における上位側からの桁数が一致している。いまの場合、フラグ列は64桁であり、例えば、物理ページ番号0x002_01のフラグは、テーブルt2の物理ブロック番号0x002に対応するフラグ列の2桁目に存在する。フラグが0,1、または2の場合、それぞれ当該ページが未使用(データが書き込まれていない)、有効(必要なデータが書き込まれている)、または無効(不要なデータが書き込まれている)を意味する。   In the table t2, a flag string indicating the state of each page in each physical block is recorded. This flag string is composed of decimal numbers having the same number of digits as the number of pages constituting each physical block, and the offset amount of the page in the block matches the number of digits from the upper side in the flag string. In this case, the flag string has 64 digits. For example, the flag of the physical page number 0x002_01 exists in the second digit of the flag string corresponding to the physical block number 0x002 of the table t2. When the flag is 0, 1, or 2, the page is not used (data is not written), valid (necessary data is written), or invalid (unnecessary data is written). Means.

ポインタには、次にデータが書き込まれる物理ページ番号が記録される。   In the pointer, a physical page number to which data is next written is recorded.

まず、NANDフラッシュメモリに対して新規にデータを書き込み処理について、図3および図4を参照して説明する。初めに図3Aのテーブルt1が参照される。このテーブルt1によれば、論理ページ番号0x001_00が未割り当てであるので、ここがデータの記録位置に決定される。次に図3Cのポインタが参照される。ポインタは物理ページ番号0x002_01を示しているので、データは物理ページ番号0x002_01のページに書き込まれる。   First, a process for newly writing data to the NAND flash memory will be described with reference to FIGS. First, the table t1 in FIG. 3A is referred to. According to this table t1, since the logical page number 0x001_00 has not been assigned, this is determined as the data recording position. Next, the pointer of FIG. 3C is referred. Since the pointer indicates the physical page number 0x002_01, the data is written to the page with the physical page number 0x002_01.

この新規のデータの書き込みに対応し、図4に示すように、テーブルt1の論理ページ番号0x001_00に対応付けて物理ページ番号0x002_01が記録される。また、テーブルt2における物理ページ番号0x002_01に対応するフラグ、すなわち、物理ブロック番号0x002に対応するフラグ列の上位から2桁目が未使用0から有効1に更新される。さらに、ポインタが1ページ分だけインクリメントされて、物理ページ番号0x002_02に更新される。   Corresponding to the writing of this new data, as shown in FIG. 4, the physical page number 0x002_01 is recorded in association with the logical page number 0x001_00 of the table t1. Further, the flag corresponding to the physical page number 0x002_01 in the table t2, that is, the second digit from the top of the flag string corresponding to the physical block number 0x002 is updated from unused 0 to valid 1. Further, the pointer is incremented by one page and updated to the physical page number 0x002_02.

次に、NANDフラッシュメモリ上のデータを書き換える処理について、図5および図6を参照して説明する。図5Aに示されるテーブルt1の論理ページ番号0x001_01に書き込まれているデータを書き換える場合、まず図5Aのポインタが参照される。ポインタは物理ページ番号0x003_02を示しているので、書き換え後のデータは物理ページ番号0x003_02のページに書き込まれる。   Next, processing for rewriting data in the NAND flash memory will be described with reference to FIGS. When rewriting the data written in the logical page number 0x001_01 of the table t1 shown in FIG. 5A, first, the pointer in FIG. 5A is referred to. Since the pointer indicates the physical page number 0x003_02, the rewritten data is written to the page of the physical page number 0x003_02.

この書き換え後のデータ書き込みに対応し、図6に示すように、テーブルt1の論理ブロック番号の対応付けが、物理ページ番号0x002_03から物理ページ番号0x003_02に変更される、また、テーブルt2における物理ページ番号0x002_03に対応するフラグ、すなわち、物理ブロック番号0x002に対応するフラグ列の上位から4桁目が有効1から無効2に更新され、新たに書き込まれた物理ページ番号0x003_02に対応するフラグ、すなわち、物理ブロック番号0x003に対応するフラグ列の上位から3桁目が未使用0から有効1に更新される。さらに、ポインタが1ページ分だけインクリメントされて、物理ページ番号0x003_03に更新される。   Corresponding to the data writing after the rewriting, as shown in FIG. 6, the correspondence of the logical block numbers in the table t1 is changed from the physical page number 0x002_03 to the physical page number 0x003_02, and the physical page number in the table t2 The flag corresponding to 0x002_03, that is, the flag corresponding to the physical block number 0x002, the fourth digit from the top is updated from valid 1 to invalid 2, and the flag corresponding to the newly written physical page number 0x003_02, ie, physical The third digit from the top of the flag string corresponding to block number 0x003 is updated from unused 0 to valid 1. Further, the pointer is incremented by one page and updated to the physical page number 0x003_03.

このような新規データの書き込みやデータの書き換えを継続してゆくと、無効なページが次第に増加し、最終的には使用できるページがなくなってしまう。そのために有効なデータを他のブロックに移動して、1つのブロック内の全ページを無効化した後に消去を行い使用可能な領域を増やすことが行われる。この一連の処理をガベージコレクションと称する。   If such new data writing or data rewriting is continued, invalid pages gradually increase, and eventually there are no usable pages. For this purpose, valid data is moved to another block, all pages in one block are invalidated, and then erased to increase the usable area. This series of processing is called garbage collection.

ガベージコレクションの一例について、図7および図13を参照して説明する。なお、説明を簡略化するため、ここでは、1ブロックを4ページで構成しているものとする。したがって、テーブルt2のフラグ列は4桁の10進数となる。   An example of garbage collection will be described with reference to FIGS. In order to simplify the description, it is assumed here that one block is composed of four pages. Therefore, the flag string in the table t2 is a 4-digit decimal number.

図7は、論理ページ番号0x000_1乃至0x002_1のページにデータが書き込まれている状態に対応するテーブルt1,t2、およびポインタを示しており、図8は、図7の状態から、論理ページ番号0x000_0および0x000_1のページのデータを書き換え、さらに論理ページ番号0x001_2および0x002_3のページのデータを消去した後の状態に対応するテーブルt1,t2、およびポインタ示している。図8Bに示すテーブルt2からわかるように、物理ブロック番号0x000と0x001のブロックに無効なページがあり、これらがガベージコレクションの対象となる。   FIG. 7 shows tables t1, t2 and pointers corresponding to the state in which data is written in the pages of logical page numbers 0x000_1 to 0x002_1. FIG. 8 shows the logical page numbers 0x000_0 and 0x000_0 from the state of FIG. Tables t1 and t2 and pointers corresponding to the state after the page data of 0x000_1 is rewritten and the page data of logical page numbers 0x001_2 and 0x002_3 are erased are shown. As can be seen from the table t2 shown in FIG. 8B, there are invalid pages in the physical block numbers 0x000 and 0x001, and these are the targets of garbage collection.

以下、物理ブロック番号0x000,0x001の順にガベージコレクションを行う。   Thereafter, garbage collection is performed in the order of physical block numbers 0x000 and 0x001.

まず、図9Bに示されるテーブルt2に基づき、物理ブロック番号0x000を構成する4ページのうち、有効な2ページを、図9Cのポインタが示す物理ページ番号0x003_0とその次の物理ページ番号0x003_1の2ページにコピーする。このコピーに対応して、テーブルt1,t2およびポインタは図10に示されるように更新される。   First, based on the table t2 shown in FIG. 9B, among the four pages that make up the physical block number 0x000, two effective pages are the physical page number 0x003_0 indicated by the pointer in FIG. 9C and the next physical page number 0x003_1. Copy to page. Corresponding to this copy, the tables t1, t2 and the pointer are updated as shown in FIG.

具体的には、テーブルt1の論理ページ番号0x000_2および0x000_3が、物理ページ番号0x003_0および 0x003_1に更新される。また、テーブルt2における物理ページ番号0x000_2および0x000_3に対応するフラグ、すなわち、物理ブロック番号0x000に対応するフラグ列の上位から3および4桁目が有効1から無効2に更新される。また、テーブルt2における物理ページ番号0x003_0および0x003_1に対応するフラグ、すなわち、物理ブロック番号0x003に対応するフラグ列の上位から1および2桁目が未使用0から有効1に更新される。さらに、ポインタが2ページ分だけインクリメントされて、物理ページ番号0x003_02に更新される。   Specifically, the logical page numbers 0x000_2 and 0x000_3 in the table t1 are updated to physical page numbers 0x003_0 and 0x003_1. In addition, the flags corresponding to the physical page numbers 0x000_2 and 0x000_3 in the table t2, that is, the third and fourth digits from the top of the flag column corresponding to the physical block number 0x000 are updated from valid 1 to invalid 2. In addition, the flags corresponding to the physical page numbers 0x003_0 and 0x003_1 in the table t2, that is, the first and second digits of the flag column corresponding to the physical block number 0x003 are updated from unused 0 to valid 1. Further, the pointer is incremented by two pages and updated to the physical page number 0x003_02.

この後、物理ブロック番号0x000のブロックのデータは消去され、この消去に対応して図11Bに示されるように、テーブルt2における物理ブロック番号0x000のフラグ列が未使用0に更新される。   Thereafter, the data of the block having the physical block number 0x000 is erased, and as shown in FIG. 11B, the flag string of the physical block number 0x000 in the table t2 is updated to unused 0 corresponding to this erasure.

次に、図11Bに示されるテーブルt2に基づき、物理ブロック番号0x001を構成する4ページのうち、有効な2ページを、図11Cのポインタが示す物理ページ番号0x003_2とその次の物理ページ番号0x003_3の2ページにコピーする。このコピーに対応して、テーブルt1,t2およびポインタは図12に示されるように更新される。   Next, based on the table t2 shown in FIG. 11B, the valid two pages of the four pages constituting the physical block number 0x001 are the physical page number 0x003_2 indicated by the pointer in FIG. 11C and the next physical page number 0x003_3. Copy to 2 pages. Corresponding to this copy, the tables t1, t2 and the pointer are updated as shown in FIG.

具体的には、テーブルt1の論理ページ番号0x001_0および0x001_1が、物理ページ番号0x003_2および 0x003_2に更新される。また、テーブルt2における物理ページ番号0x001_0および0x001_1に対応するフラグ、すなわち、物理ブロック番号0x001に対応するフラグ列の上位から1および2桁目が有効1から無効2に更新される。また、テーブルt2における物理ページ番号0x003_2および0x003_3に対応するフラグ、すなわち、物理ブロック番号0x003に対応するフラグ列の上位から3および4桁目が未使用0から有効1に更新される。さらに、ポインタが2ページ分だけインクリメントされて、物理ページ番号0x004_0に更新される。   Specifically, the logical page numbers 0x001_0 and 0x001_1 in the table t1 are updated to the physical page numbers 0x003_2 and 0x003_2. In addition, the flags corresponding to the physical page numbers 0x001_0 and 0x001_1 in the table t2, that is, the first and second digits of the flag column corresponding to the physical block number 0x001 are updated from valid 1 to invalid 2. In addition, the flags corresponding to the physical page numbers 0x003_2 and 0x003_3 in the table t2, that is, the third and fourth digits from the top of the flag string corresponding to the physical block number 0x003 are updated from unused 0 to valid 1. Further, the pointer is incremented by two pages and updated to the physical page number 0x004_0.

この後、物理ブロック番号0x001のブロックのデータは消去され、この消去に対応して図13Bに示されるように、テーブルt2における物理ブロック番号0x001のフラグ列が未使用0に更新される。   Thereafter, the data of the block having the physical block number 0x001 is erased, and the flag string of the physical block number 0x001 in the table t2 is updated to unused 0 as shown in FIG. 13B corresponding to this erasure.

以上で、テーブルt1,t2を用いるNANDフラッシュメモリのガベージコレクションの説明を終了する。   This is the end of the description of the NAND flash memory garbage collection using the tables t1 and t2.

次に、ホスト装置10が記録装置20に対してデータの書き込み、読み出しを指示するときに指定するLBAと、ハイブリッド記録システム1で採用するFAT(File Allocation Tables)ファイルシステムについて説明する。   Next, an LBA specified when the host apparatus 10 instructs the recording apparatus 20 to write and read data and a FAT (File Allocation Tables) file system employed in the hybrid recording system 1 will be described.

図14は、ホスト装置10が記録装置20に対して指定するLBA空間を示している。このLBA空間においては、HDD30の最小アクセス単位であるセクタ(例えば512バイト)を1単位(LBA空間におけるブロック)として扱っている。上述したように、HDD30のセクタと不揮発性メモリ29の記録単位であるページはサイズが必ずしも一致しないが、ページのサイズはセクタのサイズの整数倍であるので、LBA空間にHDD30のセクタと不揮発性メモリ29のページを容易に対応付けることができる。   FIG. 14 shows an LBA space designated by the host device 10 for the recording device 20. In this LBA space, a sector (for example, 512 bytes) which is the minimum access unit of the HDD 30 is handled as one unit (a block in the LBA space). As described above, the sector of the HDD 30 and the page which is the recording unit of the nonvolatile memory 29 do not necessarily have the same size, but the page size is an integral multiple of the sector size. The pages of the memory 29 can be easily associated.

FATファイルシステムでは、ファイルデータを管理する最小単位として、複数のセクタからなるクラスタを採用している。クラスタにはLBAの小さい方から順にクラスタ番号が割り振られる。以下の説明ではオフセット(クラスタ番号0のクラスタをLBA空間のどこに配置するか)を無視して、クラスタ番号を、LBAを単に1クラスタを構成するセクタ数(例えば16)で割ったものとする(いまの例の場合、1クラスタは8キロバイトとなる)。   The FAT file system employs a cluster composed of a plurality of sectors as the minimum unit for managing file data. Clusters are assigned cluster numbers in order from the smallest LBA. In the following description, it is assumed that the offset (where the cluster with cluster number 0 is placed in the LBA space) is ignored, and the cluster number is simply divided by the number of sectors (for example, 16) constituting one cluster (for example, 16). In the current example, one cluster is 8 kilobytes).

LBA空間に格納されているFATは、複数のクラスタに分割して記録されているファイルがどのように配置されているかを示す連結情報が書かれたテーブルである。そのためFAT内ではLBAではなくクラスタ番号が用いられる。FATファイルシステムで管理される記憶領域は、予約領域、FAT領域、およびファイルとディレクトリデータ領域の3領域から構成される。   The FAT stored in the LBA space is a table in which concatenation information indicating how the files recorded by being divided into a plurality of clusters are arranged is written. Therefore, the cluster number is used instead of the LBA in the FAT. The storage area managed by the FAT file system includes a reserved area, a FAT area, and a file and directory data area.

例えば、ファイルとディレクトリデータ領域に格納されているディレクトリ項目Daには、ファイル名(いまの場合、f1)とその開始クラスタ番号(いまの場合、12340h)が記述されている。ファイルf1にアクセスする場合、ホスト装置10は、ディレクトリ項目Daから開始クラスタ番号12340hを読み出し、それに対応するFAT項目(FAT Entry)を参照して、ファイルf1が記録されている次のクラスタがクラスタ番号12341hにあることを取得する。以下順次FATを参照して次のクラスタ番号を取得し、クラスタ番号1237FhのFAT項目がEOF(End of File)であるところまで配置情報を読み出す。ホスト装置10は読み出した配置情報に基づいてファイルにアクセスを行う。   For example, in the directory item Da stored in the file and directory data area, a file name (in this case, f1) and its start cluster number (in this case, 12340h) are described. When accessing the file f1, the host device 10 reads the start cluster number 12340h from the directory item Da, and refers to the FAT entry (FAT Entry) corresponding thereto, and the next cluster in which the file f1 is recorded is the cluster number. Get to be at 12341h. Subsequently, the next cluster number is obtained by sequentially referring to the FAT, and the arrangement information is read until the FAT item of the cluster number 1237Fh is EOF (End of File). The host device 10 accesses the file based on the read arrangement information.

記録装置20では、ホスト装置10から指示されたLBAを論理ページ番号に変換し、この論理ページ番号を、不揮発性メモリ29に保持されているテーブルT1,T2,t2を参照して不揮発性メモリ29の物理ページ番号またはHDD30の物理ブロックアドレスに変換してHDD制御部25またはメモリ制御部26のどちらかにデータの記録を制御させる。   In the recording device 20, the LBA instructed from the host device 10 is converted into a logical page number, and this logical page number is referred to the tables T 1, T 2, t 2 held in the nonvolatile memory 29, and the nonvolatile memory 29. The data is converted into a physical page number or a physical block address of the HDD 30, and either the HDD control unit 25 or the memory control unit 26 controls data recording.

次に、LBA、論理ページ番号、不揮発性メモリ29の物理ページ番号、およびHDD30の物理ページ番号の対応関係について、図15および図16を参照して説明する。   Next, a correspondence relationship between the LBA, the logical page number, the physical page number of the nonvolatile memory 29, and the physical page number of the HDD 30 will be described with reference to FIGS.

図15は、LBA空間と論理ページ番号空間の対応関係を示している。LBA空間は、図14における予約領域およびFAT領域に相当するユーザ領域UA1と、図14におけるファイルとディレクトリデータ領域に相当するユーザ領域UA2,UA3の3領域に分割されている。論理ページ番号空間の先頭には、システム領域が設けられており、これに続いてユーザ領域UA1,UA3,UA2の順に配置されている。ただし、ユーザ領域UA1乃至UA3の配置の順序は、他の順序、例えばユーザ領域UA1,UA2,UA3などであっても構わない。   FIG. 15 shows the correspondence between the LBA space and the logical page number space. The LBA space is divided into three areas, a user area UA1 corresponding to the reserved area and the FAT area in FIG. 14, and user areas UA2 and UA3 corresponding to the file and directory data areas in FIG. A system area is provided at the head of the logical page number space, followed by user areas UA1, UA3, and UA2. However, the order of arrangement of the user areas UA1 to UA3 may be other orders, for example, the user areas UA1, UA2, UA3.

なお、このLBA空間と論理ページ番号空間の対応関係は、CPU21によって実行されるファームウェアによって管理されている。以下、ユーザ領域UA1は32メガバイト、ユーザ領域UA2は8ギガバイトを想定する。   Note that the correspondence between the LBA space and the logical page number space is managed by firmware executed by the CPU 21. Hereinafter, it is assumed that the user area UA1 is 32 megabytes and the user area UA2 is 8 gigabytes.

図16は、論理ページ番号空間と、不揮発性メモリ29の物理ページ番号およびHDD30の物理ブロックアドレスとの対応関係を示している。論理ページ番号空間におけるシステム領域、ユーザ領域UA1、およびユーザ領域UA3は、不揮発性メモリ29の物理ページ番号に対応付けられている。さらに、ユーザ領域UA1、およびユーザ領域UA3は、バックアップ用としてHDD30の物理ブロックアドレス0x00000000乃至0x0000FFFFにも対応付けられている。不揮発性メモリ29の物理ページ番号の先頭部分は、記録装置20のCPU21だけがアクセス可能なシステム領域が設けられている。このシステム領域には、ブロックアクセスとバイト単位のランダムアクセスが可能であり、以下に詳述するテーブルT1,T2が保持される。   FIG. 16 shows the correspondence between the logical page number space, the physical page number of the nonvolatile memory 29, and the physical block address of the HDD 30. The system area, user area UA 1, and user area UA 3 in the logical page number space are associated with physical page numbers in the nonvolatile memory 29. Furthermore, the user area UA1 and the user area UA3 are also associated with physical block addresses 0x00000000 to 0x0000FFFF of the HDD 30 for backup. A system area accessible only by the CPU 21 of the recording device 20 is provided at the top of the physical page number of the nonvolatile memory 29. In this system area, block access and random access in byte units are possible, and tables T1 and T2 described in detail below are held.

論理ページ番号空間において論理ページ番号0x00400_00乃至0x103FF_3Fを占めるユーザ領域UA2は、HDD30の物理ブロックアドレス0x00010000乃至0x0100FFFFに対応付けられている。ユーザ領域UA2のうち、論理ページ番号0x00400_00乃至0x004FF_3Fは、HDD30の物理ブロックアドレス0x00010000乃至0x0001FFFに対応付けられており、比較的データ量が小さくディスクスケジューリング記録の対象とならない非AVデータの記録用に用いる非とされている。残りの論理ページ番号0x00500_00乃至0x103FF_3Fは、HDD30の物理ブロックアドレス0x00020000乃至0x0100FFFFに対応付けられており、比較的データ量が大きくディスクスケジューリング記録の対象となるAVデータの記録用に用いるとされている。   The user area UA2 occupying the logical page numbers 0x00400_00 to 0x103FF_3F in the logical page number space is associated with the physical block addresses 0x00010000 to 0x0100FFFF of the HDD 30. In the user area UA2, logical page numbers 0x00400_00 to 0x004FF_3F are associated with the physical block addresses 0x00010000 to 0x0001FFF of the HDD 30, and are used for recording non-AV data that has a relatively small data amount and is not subject to disk scheduling recording. It is said to be non. The remaining logical page numbers 0x00500_00 to 0x103FF_3F are associated with the physical block addresses 0x00020000 to 0x0100FFFF of the HDD 30, and are used for recording AV data having a relatively large data amount and subject to disk scheduling recording.

なお、図示の説明上、HDD30に記録領域は物理ブロックアドレスを用いて表記しているが、HDD制御部25がHDD30を制御する際にはLBAを用いている。   In the illustrated description, the recording area of the HDD 30 is described using a physical block address. However, when the HDD control unit 25 controls the HDD 30, an LBA is used.

図15および図16から明らかなように、HDD30の物理ブロックアドレスの先頭部分をユーザ領域UA1およびUA3のバックアップ用として使用しているので、ホスト装置10がアクセスするLBA空間とHDD30の物理ブロックアドレスの範囲が一致している。   As is apparent from FIGS. 15 and 16, since the head part of the physical block address of the HDD 30 is used for backup of the user areas UA1 and UA3, the LBA space accessed by the host device 10 and the physical block address of the HDD 30 are The range is consistent.

以上に説明した対応関係をまとめると次の(1)乃至(4)とおりである。   The correspondence described above is summarized as follows (1) to (4).

(1)HDD30の物理ブロックアドレス0x00000000乃至0x000FFFFは、ユーザ領域UA1に割り当てられた論理ページ番号に対応付ける。この論理ページ番号と物理ブロックアドレスの対応付けは変更されない。   (1) The physical block addresses 0x00000000 to 0x000FFFF of the HDD 30 are associated with the logical page number assigned to the user area UA1. The association between the logical page number and the physical block address is not changed.

(2)HDD30の物理ブロックアドレス0x00010000乃至0x0001FFFFは、ユーザ領域UA2のうちの非に割り当てられた論理ページ番号0x00400_00乃至0x004FF_3Fに対応付ける。この論理ページ番号と物理ブロックアドレスの対応付けは変更されない。   (2) The physical block addresses 0x00010000 to 0x0001FFFF of the HDD 30 are associated with non-assigned logical page numbers 0x00400_00 to 0x004FF_3F in the user area UA2. The association between the logical page number and the physical block address is not changed.

(3)HDD30の物理ブロックアドレス0x00020000乃至0x0100FFFFは、ユーザ領域UA2のうちのに割り当てられた論理ページ番号0x00500_00乃至0x103FF_3Fに対して動的に対応付ける。すなわち、例えば図16に示すように、論理ページ番号0x00600_00乃至0x00600_3Fを、動的に物理ブロックアドレス0x00020000乃至0x0100FFFFの範囲に属する物理ブロックアドレス0x00030000乃至0x000300FFに対応付ける。この対応付けは、原則としてブロックあるいはスーパクラスタ単位で行われる(スーパクラスタはブロックの整数倍である)。ただし、例外的にページ単位での対応付けを行う場合もある。   (3) The physical block addresses 0x00020000 to 0x0100FFFF of the HDD 30 are dynamically associated with the logical page numbers 0x00500_00 to 0x103FF_3F assigned to the user area UA2. That is, for example, as shown in FIG. 16, logical page numbers 0x00600_00 to 0x00600_3F are dynamically associated with physical block addresses 0x00030000 to 0x000300FF belonging to the range of physical block addresses 0x00020000 to 0x0100FFFF. This association is performed in principle in units of blocks or super clusters (a super cluster is an integer multiple of a block). However, there is an exceptional case where association is performed in units of pages.

(4)HDD30の物理ブロックアドレス0x01010000乃至0x0000FFFFは、ユーザ領域UA3に割り当てられた論理ページ番号に対応付ける。この論理ページ番号と物理ブロックアドレスの対応付けは変更されない。   (4) The physical block addresses 0x01010000 to 0x0000FFFF of the HDD 30 are associated with the logical page number assigned to the user area UA3. The association between the logical page number and the physical block address is not changed.

以上で、LBAと、論理ページ番号と、不揮発性メモリ29の物理ページ番号またはHDD30の物理ページ番号との対応関係の説明を終了する。   This is the end of the description of the correspondence relationship between the LBA, the logical page number, and the physical page number of the nonvolatile memory 29 or the physical page number of the HDD 30.

次に、記録装置20において用いるテーブルT1,T2,t2について説明する。   Next, the tables T1, T2, and t2 used in the recording apparatus 20 will be described.

図17は、テーブルT1の一例を示している。このテーブルT1は、論理ページ番号に対応付けられた物理ページ番号を示すものであり、上述したガベージコレクションにおいて用いたテーブルt1に、ブロックビットを追加して拡張したものである。   FIG. 17 shows an example of the table T1. This table T1 shows the physical page number associated with the logical page number, and is expanded by adding a block bit to the table t1 used in the above-described garbage collection.

追加されたブロックビットは、論理ページ番号をブロック単位で物理ページ番号に変換する場合には1、論理ページ番号をページ単位で物理ページ番号に変換できる場合には0を記録するようになされている。例えば、図17の例は、(一部分を除く)に対応するブロックビットが1とされている。ブロックビットを1とした部分については、テーブルT1においてページ単位の記載を省略し、テーブルT1のサイズを縮約することができる。   The added block bit records 1 when the logical page number is converted into a physical page number in block units, and 0 when the logical page number can be converted into a physical page number in page units. . For example, in the example of FIG. 17, the block bit corresponding to (except for a part) is set to 1. For the part where the block bit is set to 1, the description of the page unit is omitted in the table T1, and the size of the table T1 can be reduced.

ただし、図17の例では、の一部分については、非AVデータの記録に流用できるように、対応するブロックビットが0とされている。ブロックビットを0に変更した部分については、テーブルT1においてページ単位の記載を省略できない。   However, in the example of FIG. 17, the corresponding block bit is set to 0 so that a part of can be used for recording of non-AV data. For the part where the block bit is changed to 0, the page unit description cannot be omitted in the table T1.

図18は、テーブルT2の一例を示している。このテーブルT2は、論理ページ番号に対して動的に対応付けられる、HDD30のAVデータ用領域に属する各物理ブロックアドレスに、アドレス変換フラグが対応付けて記録されている。アドレス変換フラグは、当該物理ブロックアドレスが既に論理ページ番号に対応付けられているか否かを示すものであり、アドレス変換フラグが0の場合は未対応付けを意味し、アドレス変換フラグが1の場合は対応付け済みを意味する。   FIG. 18 shows an example of the table T2. In this table T2, an address conversion flag is recorded in association with each physical block address belonging to the AV data area of the HDD 30, which is dynamically associated with the logical page number. The address translation flag indicates whether or not the physical block address has already been associated with the logical page number. When the address translation flag is 0, it means no association, and when the address translation flag is 1. Means matched.

図18に示すテーブルT2の例は、図16に示されているように、論理ページ番号0x00600_00乃至0x00600_3Fに、HDD30の物理ブロックアドレス0x00030000乃至0x000300FFが動的に対応付けられた状態に対応している。したがって、図18のテーブルT2では、物理ブロックアドレス0x00030000に対応するアドレス変換フラグが1に設定されている。   The example of the table T2 illustrated in FIG. 18 corresponds to a state in which the physical block addresses 0x00030000 to 0x000300FF of the HDD 30 are dynamically associated with the logical page numbers 0x00600_00 to 0x00600_3F, as illustrated in FIG. . Therefore, in the table T2 of FIG. 18, the address conversion flag corresponding to the physical block address 0x00030000 is set to 1.

テーブルt2については、上述したガベージコレクションの説明と同様である。   The table t2 is the same as that described in the garbage collection described above.

次に、このテーブルT1、T2、およびt2を用いたデータ記録処理について、図19および図20のフローチャートを参照して説明する。ただし、最初に用いるディスクスケジューリング記録のエリア、ディスクスケジューリング記録のエリアを変更するパターン、およびAVデータを書き込む場合に使用するデータサイズは予め設定されているものとする。
例えば、ディスクスケジューリング記録のエリアは、ユーザ領域UA2のが、HDD30の物理ブロックアドレス0x00020000乃至0x0100FFFFであるので、これをほぼ同容量の4つのエリア、エリアA1:0x00020000乃至0x003FFFFF、エリアA2:0x00400000乃至0x007FFFFF、エリアA3:0x00800000乃至0x00BFFFFF、およびエリアA4:0x00C00000乃至0x0100FFFFに分割して使用する。
Next, data recording processing using the tables T1, T2, and t2 will be described with reference to the flowcharts of FIGS. However, it is assumed that the disk scheduling recording area used first, the pattern for changing the disk scheduling recording area, and the data size used when writing AV data are set in advance.
For example, since the disk scheduling recording area of the user area UA2 is the physical block address 0x00020000 to 0x0100FFFF of the HDD 30, it is divided into four areas having almost the same capacity, area A1: 0x00020000 to 0x003FFFFF, area A2: 0x00400000 to 0x007FFFFF Area A3: 0x00800000 to 0x00BFFFFF and area A4: 0x00C00000 to 0x0100FFFF.

ステップS1において、ホスト装置10が一般的な書き込みコマンドと、記録させるデータと、記録させる位置を示すLBAを出力すると、ホスト装置I/F24がこれらを取得し、バス22を介してCPU21に通知する。   In step S 1, when the host apparatus 10 outputs a general write command, data to be recorded, and LBA indicating a recording position, the host apparatus I / F 24 acquires these and notifies the CPU 21 via the bus 22. .

ステップS2において、CPU21(より具体的にはCPU21によって実行されるファームウェア)は、ホスト装置I/F24から通知されたLBAを論理ページ番号に変換し、変換後の論理ページ番号が不揮発性メモリ29に対応するユーザ領域UA1またはUA31に属するか否かを判定する。変換後の論理ページ番号がユーザ領域UA1またはUA31に属すると判定された場合、処理はステップS3に進められる。   In step S 2, the CPU 21 (more specifically, firmware executed by the CPU 21) converts the LBA notified from the host device I / F 24 into a logical page number, and the converted logical page number is stored in the nonvolatile memory 29. It is determined whether it belongs to the corresponding user area UA1 or UA31. If it is determined that the converted logical page number belongs to the user area UA1 or UA31, the process proceeds to step S3.

ステップS3において、CPU21は、上述したガベージコレクションの説明の前段と同様、テーブルT1およびt2を参照し、ウェアレベリングなどを考慮して変換後の論理ページ番号を不揮発性メモリ29の物理ページ番号に対応付ける。ステップS4において、メモリ制御部26は、CPU21からの制御に従い、対応付けられた不揮発性メモリ29の物理ページ番号に、ホスト装置24から供給された記録すべきデータを記録する。   In step S3, the CPU 21 refers to the tables T1 and t2 and associates the converted logical page number with the physical page number of the nonvolatile memory 29 in consideration of wear leveling and the like, as in the previous stage of the garbage collection description. . In step S <b> 4, the memory control unit 26 records the data to be recorded supplied from the host device 24 in the physical page number of the associated nonvolatile memory 29 in accordance with the control from the CPU 21.

ステップS5において、メモリ制御部26は、不揮発性メモリ29に対するデータの記録が成功したか否か判定し、判定結果をCPU21に通知する。不揮発性メモリ29に対するデータの記録が成功した場合、処理はステップS6に進められ、CPU21は、テーブルT1の当該論理ページ番号に対応付けて、記録した物理ページ番号を記録する。また、テーブルt2において、当該物理ページ番号に対応するフラグを有効1に更新する。   In step S <b> 5, the memory control unit 26 determines whether or not the data recording to the nonvolatile memory 29 is successful, and notifies the CPU 21 of the determination result. If the data recording to the nonvolatile memory 29 is successful, the process proceeds to step S6, and the CPU 21 records the recorded physical page number in association with the logical page number of the table T1. In the table t2, the flag corresponding to the physical page number is updated to valid 1.

反対に、不揮発性メモリ29に対するデータの記録が成功しなかった場合、処理はステップS7に進められ、CPU21は、ホスト装置I/F24を介してホスト装置10にエラーの発生を通知してこのデータ記録処理を終了する。   On the other hand, if the data recording to the nonvolatile memory 29 is not successful, the process proceeds to step S7, and the CPU 21 notifies the host device 10 of the occurrence of an error via the host device I / F 24, and this data. The recording process ends.

ステップS2において、変換後の論理ページ番号がユーザ領域UA1またはUA31に属さない、すなわち、変換後の論理ページ番号がHDD30に対応するユーザ領域UA2に属すると判定された場合、処理はステップS8に進められる。   If it is determined in step S2 that the converted logical page number does not belong to the user area UA1 or UA31, that is, the converted logical page number belongs to the user area UA2 corresponding to the HDD 30, the process proceeds to step S8. It is done.

ステップS8において、CPU21は、変換後の論理ページ番号がユーザ領域UA2のうちの非AV領域であるか否かを判定する。変換後の論理ページ番号が非AV領域であると判定された場合、処理はステップS9に進められる。ステップS9において、CPU21は、変換後の論理ページ番号に固定して対応付けられているHDD30の物理ブロックアドレスを判別する。   In step S8, the CPU 21 determines whether or not the converted logical page number is a non-AV area in the user area UA2. If it is determined that the converted logical page number is a non-AV area, the process proceeds to step S9. In step S9, the CPU 21 determines the physical block address of the HDD 30 that is fixedly associated with the converted logical page number.

ステップS10において、HDD制御部25は、CPU21からの制御に従い、HDD30を制御して、判別されたHDD30の物理ブロックアドレスに、ホスト装置I/F24からバス22を介して供給された記録すべきデータを記録させる。   In step S 10, the HDD control unit 25 controls the HDD 30 according to the control from the CPU 21, and the data to be recorded supplied from the host device I / F 24 via the bus 22 to the determined physical block address of the HDD 30. To record.

ステップS11において、HDD制御部25は、HDD30に対するデータの記録が成功したか否か判定し、判定結果をCPU21に通知する。HDD30に対するデータの記録が成功しなかった場合、処理はステップS12に進められ、CPU21は、ホスト装置I/F24を介してホスト装置10にエラーの発生を通知してこの記録処理を終了する。反対に、HDD30に対するデータの記録が成功した場合、ステップS12がスキップされて、このデータ記録処理は終了される。   In step S <b> 11, the HDD control unit 25 determines whether or not the data recording to the HDD 30 is successful, and notifies the CPU 21 of the determination result. If the data recording to the HDD 30 is not successful, the process proceeds to step S12, and the CPU 21 notifies the host apparatus 10 of the occurrence of an error via the host apparatus I / F 24 and ends the recording process. On the other hand, if the data recording to the HDD 30 is successful, step S12 is skipped and the data recording process is terminated.

ステップS8において、変換後の論理ページ番号が非AV領域ではない、すなわち、AVデータ領域であると判定された場合、処理はステップS13に進められる。このステップS13以降の処理がディスクスケジューリング記録となる。   If it is determined in step S8 that the converted logical page number is not a non-AV area, that is, an AV data area, the process proceeds to step S13. The processing after step S13 is disk scheduling recording.

ステップS13において、CPU21は、テーブルT1を参照し、変換後の論理ページ番号に既にHDD30の物理ブロック番号が割り当てられているか否かを判定する。物理ブロック番号が割り当てられていると判定された場合(すなわち、データを書き換える場合)、処理はステップS14に進められる。   In step S13, the CPU 21 refers to the table T1, and determines whether or not the physical block number of the HDD 30 has already been assigned to the logical page number after conversion. If it is determined that a physical block number is assigned (that is, data is rewritten), the process proceeds to step S14.

ステップS14において、HDD制御部25は、CPU21からの制御に従い、HDD30を制御して、割り当てられているHDD30の物理ブロックアドレスに、ホスト装置I/F24からバス22を介して供給された記録すべきデータを上書き記録させる。この後、処理はステップS11以降と同様に、データの記録が成功しなければホスト装置10にエラーが通知され、成功すれば、このデータ記録処理は終了される。   In step S14, the HDD control unit 25 controls the HDD 30 according to the control from the CPU 21 and records the physical block address of the assigned HDD 30 supplied from the host device I / F 24 via the bus 22. Overwrite the data. Thereafter, as in the processing from step S11 onward, if data recording is not successful, an error is notified to the host device 10, and if successful, this data recording processing is terminated.

ステップS13において、テーブルT1を参照した結果、変換後の論理ページ番号にHDD30の物理ブロック番号が割り当てられていないと判定された場合、処理は図20のステップS15に進められる。   If it is determined in step S13 that the physical block number of the HDD 30 is not assigned to the converted logical page number as a result of referring to the table T1, the process proceeds to step S15 in FIG.

ステップS15において、CPU21は、記録すべきデータのサイズがスーパクラスタ単位であるか否かを判定し、スーパクラスタ単位であると判定した場合、処理をステップS16に進める。ステップS16において、CPU21は、前回のディスクスケジューリング記録で使用したエリアの次に使用すべきエリアを所定のパターンに基づいて決定し、テーブルT2を参照し、決定した当該エリアにおいて空いているブロックをランダムに選択する。   In step S15, the CPU 21 determines whether or not the size of the data to be recorded is a super cluster unit. If it is determined that the size is the super cluster unit, the process proceeds to step S16. In step S16, the CPU 21 determines an area to be used next to the area used in the previous disk scheduling recording based on a predetermined pattern, refers to the table T2, and randomly selects an empty block in the determined area. Select

ステップS17において、HDD制御部25は、CPU21からの制御に従い、HDD30を制御して、選択されたHDD30の物理ブロックアドレスに、ホスト装置I/F24からバス22を介して供給された記録すべきデータを記録させる。   In step S <b> 17, the HDD control unit 25 controls the HDD 30 according to the control from the CPU 21, and the data to be recorded supplied to the physical block address of the selected HDD 30 from the host device I / F 24 via the bus 22. To record.

ステップS18において、HDD制御部25は、HDD30に対するデータの記録が成功したか否か判定し、判定結果をCPU21に通知する。HDD30に対するデータの記録が成功した場合、処理はステップS19に進められ、CPU21は、テーブルT1の当該論理ページ番号に対応付けて、データを記録した物理ブロックアドレスに相当する物理ページ番号を記録する。また、テーブルT2において、当該物理ページ番号に対応するアドレス変換フラグを1に更新する。さらに、今回のディスクスケジューリング記録で使用したエリアをシステム領域に記録して、このデータ記録処理を終了する。   In step S <b> 18, the HDD control unit 25 determines whether or not the data recording to the HDD 30 is successful, and notifies the CPU 21 of the determination result. If the data recording to the HDD 30 is successful, the process proceeds to step S19, and the CPU 21 records a physical page number corresponding to the physical block address where the data is recorded in association with the logical page number of the table T1. In the table T2, the address conversion flag corresponding to the physical page number is updated to 1. Further, the area used in the current disk scheduling recording is recorded in the system area, and this data recording process is terminated.

反対に、HDD30に対するデータの記録が成功しなかった場合、処理はステップS20に進められ、CPU21は、ホスト装置I/F24を介してホスト装置10にエラーの発生を通知してこのデータ記録処理を終了する。   On the other hand, if the data recording to the HDD 30 is not successful, the process proceeds to step S20, and the CPU 21 notifies the host apparatus 10 of the occurrence of an error via the host apparatus I / F 24 and performs this data recording process. finish.

ステップS15において、記録すべきデータのサイズがスーパクラスタ単位ではないと判定された場合、処理はステップS21に進められる。この場合、記録すべきデータは、そのデータ単位がスーパクラスタ単位に満たないものであり、比較的サイズの小さなデータをAV領域に記録することになる。   If it is determined in step S15 that the size of the data to be recorded is not a super cluster unit, the process proceeds to step S21. In this case, the data to be recorded has a data unit that is less than the super cluster unit, and relatively small data is recorded in the AV area.

ステップS21において、CPU21は、テーブルT1を参照し、ユーザ領域UA2のAV用データ領域に属する論理ページ番号の中で、ブロックビットが0であって物理ページ番号が割り当てられていないものを検出し、ステップ22において、検出できたか否かを判定する。検出できなかった場合、処理はステップS23に進められる。反対に、検出できた場合、ステップS23の処理はスキップされる。   In step S21, the CPU 21 refers to the table T1 and detects a logical page number belonging to the AV data area of the user area UA2 that has a block bit of 0 and no physical page number assigned thereto. In step 22, it is determined whether or not it has been detected. If not detected, the process proceeds to step S23. On the other hand, if it can be detected, the process of step S23 is skipped.

ステップS23において、CPU21は、テーブルT2を参照し、ユーザ領域UA2の物理ブロックアドレスの中で空いているもの(アドレス変換フラグが0のもの)を検出し、テーブルT1において、検出した物理ブロックアドレスに対応する論理ページ番号のブロックビットを0に更新する。   In step S23, the CPU 21 refers to the table T2 to detect an empty physical block address in the user area UA2 (with an address translation flag of 0). In the table T1, the CPU 21 detects the detected physical block address. The block bit of the corresponding logical page number is updated to 0.

ステップS24において、HDD制御部25は、CPU21からの制御に従い、HDD30を制御して、ステップS21の処理で検出された論理ページ番号に対応する物理ブロックアドレス、またはステップS23の処理で検出された物理ブロックアドレスに、ホスト装置I/F24からバス22を介して供給された記録すべきデータを記録させる。   In step S24, the HDD control unit 25 controls the HDD 30 according to the control from the CPU 21, and the physical block address corresponding to the logical page number detected in the process of step S21 or the physical block detected in the process of step S23. Data to be recorded supplied from the host apparatus I / F 24 via the bus 22 is recorded in the block address.

ステップS25において、HDD制御部25は、HDD30に対するデータの記録が成功したか否か判定し、判定結果をCPU21に通知する。HDD30に対するデータの記録が成功した場合、処理はステップS26に進められる。   In step S <b> 25, the HDD control unit 25 determines whether or not the data recording to the HDD 30 is successful, and notifies the CPU 21 of the determination result. If the data recording to the HDD 30 is successful, the process proceeds to step S26.

ステップS26において、CPU21は、テーブルT1の当該論理ページ番号に対応付けて、データを記録した物理ブロックアドレスに相当する物理ページ番号を記録する。また、テーブルT2において、当該物理ページ番号に対応するアドレス変換フラグを1に更新する。   In step S26, the CPU 21 records a physical page number corresponding to the physical block address in which data is recorded in association with the logical page number of the table T1. In the table T2, the address conversion flag corresponding to the physical page number is updated to 1.

ステップS27において、CPU21は、記録すべきデータの全体を記録したか否かを判定する。記録すべきデータの全体を記録していない、すなわち、記録すべきデータがまだ未記録で残っていると判定された場合、処理はステップS21に戻されて、それ以降の処理が繰り返される。そして、ステップS27で、記録すべきデータの全体を記録したと判定された場合、このデータ記録処理は終了される。   In step S27, the CPU 21 determines whether or not the entire data to be recorded has been recorded. If it is determined that the entire data to be recorded is not recorded, that is, it is determined that the data to be recorded is still unrecorded, the process returns to step S21 and the subsequent processes are repeated. If it is determined in step S27 that the entire data to be recorded has been recorded, the data recording process is terminated.

なお、ステップS25において、HDD30に対するデータの記録が成功しなかったと判定された場合、処理はステップS28に進められ、CPU21は、ホスト装置I/F24を介してホスト装置10にエラーの発生を通知してこのデータ記録処理を終了する。   If it is determined in step S25 that data recording to the HDD 30 has not been successful, the process proceeds to step S28, and the CPU 21 notifies the host device 10 of the occurrence of an error via the host device I / F 24. The data recording process ends.

以上で、テーブルT1、T2、およびt2を用いたデータ記録処理の説明を終了する。   This is the end of the description of the data recording process using the tables T1, T2, and t2.

次に、上述したデータ記録処理によって更新されるテーブルT1,T2の一例を示す。 Next, an example of the tables T1 and T2 updated by the data recording process described above is shown.

図21は、上述したデータ記録処理によって論理ページ番号0x00500_00以降に1メガバイトのAVデータがディスクスケジューリング記録により、エリアA1,A2,A3,A4,A1,A2,・・・の順で記録された後のテーブルT1を示している。図22は、それに対応するテーブルT2を示している。ただし、スーパクラスタのサイズをブロックサイズと同等としている。   FIG. 21 shows the case where 1 megabyte of AV data is recorded in the order of areas A1, A2, A3, A4, A1, A2,... Table T1 is shown. FIG. 22 shows a corresponding table T2. However, the size of the super cluster is made equal to the block size.

最初にエリアA1の物理ブロックアドレス0x00020000以降に128キロバイト分のデータが書き込まれる。この書き込みに対応し、テーブルT1において、論理ページ番号0x00500_00に対応して物理ページ番号0x00020000が記録される。また、テーブルT2の物理ブロックアドレス0x00020000に対応するアドレス変換フラグが1に更新される。   First, 128 kilobytes of data is written after physical block address 0x00020000 in area A1. Corresponding to this writing, the physical page number 0x00020000 is recorded corresponding to the logical page number 0x00500_00 in the table T1. Further, the address conversion flag corresponding to the physical block address 0x00020000 in the table T2 is updated to 1.

次にHDD30のヘッド35がエリアA2までシークされ、物理ブロックアドレス0x00400000以降に128キロバイト分のデータが書き込まれる。この書き込みに対応し、テーブルT1において、論理ページ番号0x00501_00に対応して物理ページ番号0x00040000が記録される。また、テーブルT2の物理ブロックアドレス0x00040000に対応するアドレス変換フラグが1に更新される。   Next, the head 35 of the HDD 30 is sought to the area A2, and 128 kilobytes of data are written after the physical block address 0x00400000. Corresponding to this writing, the physical page number 0x00040000 is recorded corresponding to the logical page number 0x00501_00 in the table T1. In addition, the address conversion flag corresponding to the physical block address 0x00040000 in the table T2 is updated to 1.

これ以降、エリアA3,A4,A1,・・・の順にデータの書き込みが行われ、それに対応してテーブルT1,T2が更新される。以上で、データ記録処理によって更新されるテーブルT1,T2の例の説明を終了する。   Thereafter, data is written in the order of areas A3, A4, A1,..., And tables T1 and T2 are updated correspondingly. Above, description of the example of table T1, T2 updated by a data recording process is complete | finished.

なお、上述した説明において、AVデータとして扱うサイズをスーパクラスタ単位の1種類としたが、それを複数に増やして、それぞれでスケジューリング記録をするようにしてもよい。   In the above description, the size handled as AV data is one type of super cluster unit. However, it is also possible to increase the number of AV data and to perform scheduling recording for each type.

また、上述した説明において、ユーザ領域UA2に対する書き込みに不揮発性メモリ29は使用しないことを前提としたが、論理ブロックアドレスと論理ページ番号の対応関係を示すテーブルを別途設ければ、不揮発性メモリ29のシステム領域を一時的な書き込み領域として使うことができる。これは、振動などの理由で時間内の書き込みができない場合は有効な方法である。またそのように書かれたデータを不揮発性メモリ29からHDD30に移動する機能を設ければ、不揮発性メモリ29を有効に使うことが可能となる。   In the above description, it is assumed that the nonvolatile memory 29 is not used for writing to the user area UA2. However, if a table indicating the correspondence between the logical block address and the logical page number is provided separately, the nonvolatile memory 29 is provided. The system area can be used as a temporary writing area. This is an effective method when writing in time cannot be performed for reasons such as vibration. Further, if a function for moving the written data from the nonvolatile memory 29 to the HDD 30 is provided, the nonvolatile memory 29 can be used effectively.

以上説明したように、本発明を適用したハイブリッド記録システム1によれば、ホスト装置10は一般的な書き込みコマンドを用いるだけで、記録装置20においてディスクスケジューリング記録が可能となる。このとき、ホスト装置10に課される条件は、データの書き込みサイズをAVデータと非AVデータで変更し、それを事前に記憶装置20と共有することのみである。これによりLBA空間上で連続しているデータであっても、ランダムに分散されているデータであっても、記録装置20によってスケジューリング記録が行われる。このいずれの場合においても、電源断対策に必要な情報であるテーブルT1,T2はホスト装置10が関わることなく、記録装置20により定期的に記録、更新されるので、電源断修復後にデータを読み出すことが可能となる。   As described above, according to the hybrid recording system 1 to which the present invention is applied, the host apparatus 10 can perform disk scheduling recording in the recording apparatus 20 only by using a general write command. At this time, the condition imposed on the host device 10 is only to change the data write size between AV data and non-AV data and share it with the storage device 20 in advance. As a result, scheduling recording is performed by the recording device 20 regardless of whether the data is continuous in the LBA space or is randomly distributed. In any of these cases, the tables T1 and T2, which are information necessary for countermeasures against power interruption, are regularly recorded and updated by the recording apparatus 20 without the host apparatus 10 being involved. It becomes possible.

また、非AVデータとAVデータ領域を記憶空間上で分けたこと、および比較的データ量の小さい非AVデータをページ単位で記録できるようにしたことにより、空き領域のフラグメンテーションによっておこる利用効率の低下と書き込み速度の低下を抑えることができる。   In addition, since the non-AV data and the AV data area are divided on the storage space, and the non-AV data having a relatively small data amount can be recorded in units of pages, the use efficiency is reduced due to the fragmentation of the free area. And a decrease in writing speed can be suppressed.

さらに不揮発性メモリ29のシステム領域をバッファとして用いるようにすれば、一時的に処理時間制限を満たせない事態を回避することができる。   Furthermore, if the system area of the nonvolatile memory 29 is used as a buffer, it is possible to avoid a situation where the processing time limit cannot be temporarily satisfied.

ところで、本明細書において、プログラムに基づいて実行されるステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。   By the way, in this specification, the steps executed based on the program are executed in parallel or individually even if they are not necessarily processed in time series, as well as processes performed in time series according to the described order. It also includes processing.

また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。   Further, in this specification, the system represents the entire apparatus constituted by a plurality of apparatuses.

なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。   The embodiment of the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present invention.

本発明を適用したハイブリッド記録システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the hybrid recording system to which this invention is applied. 不揮発性メモリの物理ページ番号を示す図である。It is a figure which shows the physical page number of a non-volatile memory. 不揮発性メモリへの書き込みに利用するテーブルt1,t2、およびポインタを示す図である。It is a figure which shows table t1, t2 utilized for writing to a non-volatile memory, and a pointer. 不揮発性メモリのガベージコレクションを説明するための図である。It is a figure for demonstrating the garbage collection of a non-volatile memory. 不揮発性メモリのガベージコレクションを説明するための図である。It is a figure for demonstrating the garbage collection of a non-volatile memory. 不揮発性メモリのガベージコレクションを説明するための図である。It is a figure for demonstrating the garbage collection of a non-volatile memory. 不揮発性メモリのガベージコレクションを説明するための図である。It is a figure for demonstrating the garbage collection of a non-volatile memory. 不揮発性メモリのガベージコレクションを説明するための図である。It is a figure for demonstrating the garbage collection of a non-volatile memory. 不揮発性メモリのガベージコレクションを説明するための図である。It is a figure for demonstrating the garbage collection of a non-volatile memory. 不揮発性メモリのガベージコレクションを説明するための図である。It is a figure for demonstrating the garbage collection of a non-volatile memory. 不揮発性メモリのガベージコレクションを説明するための図である。It is a figure for demonstrating the garbage collection of a non-volatile memory. 不揮発性メモリのガベージコレクションを説明するための図である。It is a figure for demonstrating the garbage collection of a non-volatile memory. 不揮発性メモリのガベージコレクションを説明するための図である。It is a figure for demonstrating the garbage collection of a non-volatile memory. LBA空間を示す図である。It is a figure which shows LBA space. LBA空間と論理ページ番号空間の対応関係を示す図である。It is a figure which shows the correspondence of LBA space and a logical page number space. 論理ページ番号空間と不揮発性メモリまたはHDDの物理ページ番号空間との対応関係を示す図である。It is a figure which shows the correspondence of a logical page number space and the physical page number space of a non-volatile memory or HDD. 論理ページ番号と物理ページ番号の対応関係を示すテーブルT1の一例を示す図である。It is a figure which shows an example of table T1 which shows the correspondence of a logical page number and a physical page number. HDDのAVデータ用領域の各物理ブロックの割り当て状況を示すテーブルT2の一例を示す図である。It is a figure which shows an example of the table T2 which shows the allocation condition of each physical block of the area | region for AV data of HDD. テータ記録処理を説明するフローチャートである。It is a flowchart explaining a data recording process. テータ記録処理を説明するフローチャートである。It is a flowchart explaining a data recording process. 論理ページ番号と物理ページ番号の対応関係を示すテーブルT1の一例を示す図である。It is a figure which shows an example of table T1 which shows the correspondence of a logical page number and a physical page number. HDDのAVデータ用領域の各物理ブロックの割り当て状況を示すテーブルT2の一例を示す図である。It is a figure which shows an example of the table T2 which shows the allocation condition of each physical block of the area | region for AV data of HDD.

符号の説明Explanation of symbols

1 ハイブリッド記録システム, 10 ホスト装置, 11 CPU, 20 記録装置, 21 CPU, 24 ホスト装置I/F, 25 HDD制御部, 26 メモリ制御部, 29 不揮発性メモリ, 30 HDD   1 hybrid recording system, 10 host device, 11 CPU, 20 recording device, 21 CPU, 24 host device I / F, 25 HDD control unit, 26 memory control unit, 29 nonvolatile memory, 30 HDD

Claims (9)

ホスト装置から供給される記録すべきデータ、および記録位置を示す論理ブロックアドレスに基づいて、前記記録すべきデータをディスク媒体に記録する記録装置において、
前記ホスト装置から供給された前記論理ブロックアドレスを論理ページ番号に変換する変換手段と、
前記論理ページ番号に対応付けられている前記ディスク媒体の物理ページ番号を示す第1のテーブルを保持する保持手段と、
前記変換手段による変化後の前記論理ページ番号に対応付ける前記ディスク媒体の物理ページ番号を選択する選択手段と、
前記選択手段によって選択された前記ディスク媒体の前記物理ページ番号の位置に、前記ホスト装置から供給された前記記録すべきデータを記録する記録手段と、
前記記録手段によって前記記録すべきデータが記録されたことに対応し、前記変換手段による変化後の前記論理ページ番号に、前記記録すべきデータが記録された前記物理ページ番号を対応付けることによって前記第1のテーブルを更新する更新手段と
を含む記録装置。
In a recording apparatus for recording data to be recorded on a disk medium based on data to be recorded supplied from a host device and a logical block address indicating a recording position,
Conversion means for converting the logical block address supplied from the host device into a logical page number;
Holding means for holding a first table indicating a physical page number of the disk medium associated with the logical page number;
Selecting means for selecting a physical page number of the disk medium associated with the logical page number after the change by the converting means;
Recording means for recording the data to be recorded supplied from the host device at the position of the physical page number of the disk medium selected by the selection means;
Corresponding to the fact that the data to be recorded is recorded by the recording means, the logical page number after the change by the converting means is associated with the physical page number where the data to be recorded is recorded. A recording device comprising: updating means for updating one table.
前記第1のテーブルは、前記論理ページ番号と前記ディスク媒体の物理ページ番号との対応関係をページ単位の整数倍のブロック単位で示す
請求項1に記載の記録装置。
The recording apparatus according to claim 1, wherein the first table indicates a correspondence relationship between the logical page number and the physical page number of the disk medium in a block unit that is an integral multiple of a page unit.
前記保持手段は、前記ディスク媒体の前記AV用領域に属する物理ブロックアドレスが、既に前記論理ページ番号に対応付けられているか否かを示す第2のテーブルも保持する
請求項1に記載の記録装置。
The recording apparatus according to claim 1, wherein the holding unit also holds a second table indicating whether or not a physical block address belonging to the AV area of the disk medium is already associated with the logical page number. .
前記保持手段は、不揮発性メモリであって前記記録すべきデータを記憶することができ、
前記第1のテーブルには、前記論理ページ番号に対応付けられている前記不揮発性メモリの物理ページ番号も記録されている
請求項1に記載の記録装置。
The holding means is a nonvolatile memory and can store the data to be recorded,
The recording apparatus according to claim 1, wherein the first table also records a physical page number of the nonvolatile memory associated with the logical page number.
前記ディスク媒体には、比較的データ量の大きなAVデータを記録するためのAVデータ用領域と、比較的データ量の小さな非AVデータを記録するための非AVデータ用領域が設けられている
請求項1に記載の記録装置。
The disk medium is provided with an AV data area for recording AV data having a relatively large amount of data and a non-AV data area for recording non-AV data having a relatively small amount of data. Item 2. The recording device according to Item 1.
前記選択手段は、前記記録すべきデータのデータ量に基づき、前記変換手段による変化後の前記論理ページ番号に対応付ける前記ディスク媒体の物理ページ番号を、前記AV用領域、または前記非AV用領域から選択する
請求項5に記載の記録装置。
The selection means determines the physical page number of the disk medium to be associated with the logical page number after the change by the conversion means based on the data amount of the data to be recorded from the AV area or the non-AV area. The recording apparatus according to claim 5.
前記選択手段は、前記記録すべきデータのデータ量が所定のデータ単位である場合、前記変換手段による変化後の前記論理ページ番号に対応付ける前記ディスク媒体の物理ページ番号を、前記所定のデータ量毎、前記AV用領域に設けた複数のエリアを所定の順序で切り替えて選択する
請求項5に記載の記録装置。
When the data amount of the data to be recorded is a predetermined data unit, the selecting unit sets the physical page number of the disk medium associated with the logical page number after the change by the converting unit for each predetermined data amount. The recording apparatus according to claim 5, wherein a plurality of areas provided in the AV area are selected by switching in a predetermined order.
ホスト装置から供給される記録すべきデータ、および記録位置を示す論理ブロックアドレスに基づいて、前記記録すべきデータをディスク媒体に記録する記録装置の記録方法において、
前記ホスト装置から供給された前記論理ブロックアドレスを論理ページ番号に変換する変換ステップと、
前記変換ステップの処理による変化後の前記論理ページ番号に対応付ける前記ディスク媒体の物理ページ番号を選択する選択ステップと、
前記選択ステップの処理で選択された前記ディスク媒体の前記物理ページ番号の位置に、前記ホスト装置から供給された前記記録すべきデータを記録する記録ステップと、
前記記録ステップの処理で前記記録すべきデータが記録されたことに対応し、前記変換ステップの処理による変化後の前記論理ページ番号に、前記記録すべきデータが記録された前記物理ページ番号を対応付けることによって、前記論理ページ番号に対応付けられている前記ディスク媒体の物理ページ番号を示す第1のテーブルを更新する更新ステップと
を含む記録方法。
In a recording method of a recording apparatus for recording data to be recorded on a disk medium based on data to be recorded supplied from a host device and a logical block address indicating a recording position,
A conversion step of converting the logical block address supplied from the host device into a logical page number;
A selection step of selecting a physical page number of the disk medium to be associated with the logical page number after the change by the process of the conversion step;
A recording step of recording the data to be recorded supplied from the host device at the position of the physical page number of the disk medium selected in the processing of the selection step;
Corresponding to the fact that the data to be recorded has been recorded in the process of the recording step, the physical page number on which the data to be recorded is associated with the logical page number after the change by the process of the converting step. And an update step of updating the first table indicating the physical page number of the disk medium associated with the logical page number.
ホスト装置から供給される記録すべきデータ、および記録位置を示す論理ブロックアドレスに基づいて、前記記録すべきデータをディスク媒体に記録する記録装置の制御用のプログラムであって、
前記ホスト装置から供給された前記論理ブロックアドレスを論理ページ番号に変換する変換ステップと、
前記変換ステップの処理による変化後の前記論理ページ番号に対応付ける前記ディスク媒体の物理ページ番号を選択する選択ステップと、
前記選択ステップの処理で選択された前記ディスク媒体の前記物理ページ番号の位置に、前記ホスト装置から供給された前記記録すべきデータを記録させる記録ステップと、
前記記録ステップの処理で前記記録すべきデータが記録されたことに対応し、前記変換ステップの処理による変化後の前記論理ページ番号に、前記記録すべきデータが記録された前記物理ページ番号を対応付けることによって、前記論理ページ番号に対応付けられている前記ディスク媒体の物理ページ番号を示す第1のテーブルを更新する更新ステップと
を含む処理をコンピュータに実行させるプログラム。
A program for controlling a recording device that records data to be recorded on a disk medium based on data to be recorded supplied from a host device and a logical block address indicating a recording position,
A conversion step of converting the logical block address supplied from the host device into a logical page number;
A selection step of selecting a physical page number of the disk medium to be associated with the logical page number after the change by the process of the conversion step;
A recording step of recording the data to be recorded supplied from the host device at the position of the physical page number of the disk medium selected in the processing of the selection step;
Corresponding to the fact that the data to be recorded has been recorded in the process of the recording step, the physical page number on which the data to be recorded is associated with the logical page number after the change by the process of the converting step. By this, a program for causing a computer to execute a process including an update step of updating a first table indicating a physical page number of the disk medium associated with the logical page number.
JP2006301484A 2006-11-07 2006-11-07 Recording device, recording method and program Pending JP2008117491A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006301484A JP2008117491A (en) 2006-11-07 2006-11-07 Recording device, recording method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006301484A JP2008117491A (en) 2006-11-07 2006-11-07 Recording device, recording method and program

Publications (1)

Publication Number Publication Date
JP2008117491A true JP2008117491A (en) 2008-05-22

Family

ID=39503279

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006301484A Pending JP2008117491A (en) 2006-11-07 2006-11-07 Recording device, recording method and program

Country Status (1)

Country Link
JP (1) JP2008117491A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010013445A1 (en) * 2008-07-30 2010-02-04 パナソニック株式会社 Nonvolatile storage device, host device, nonvolatile storage system, data recording method, and program
US9465546B2 (en) 2014-01-14 2016-10-11 Socionext Inc. Memory control method, memory control program, and semiconductor integrated circuit device

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04268622A (en) * 1990-12-11 1992-09-24 Stc Internatl Computers Ltd Rotary memory system
JPH08212708A (en) * 1994-11-08 1996-08-20 Matsushita Electric Ind Co Ltd Information recording medium, information recording method and information recorder
JPH09146712A (en) * 1995-11-17 1997-06-06 Nec Corp Multiplexed disk access control system
JPH09198195A (en) * 1996-01-19 1997-07-31 Nec Corp Disk device capable of rearranging data
JPH1115712A (en) * 1997-06-25 1999-01-22 Toshiba Corp Server device and hierarchical storage control method
JPH11176103A (en) * 1997-12-09 1999-07-02 Toshiba Corp Digital information recording and reproducing system and defect control method applied to the system
JP2001337850A (en) * 2000-05-25 2001-12-07 Hitachi Ltd Storage and method for controlling the same
JP2004281052A (en) * 2004-07-08 2004-10-07 Hitachi Ltd Data recording device
WO2004114298A2 (en) * 2003-06-23 2004-12-29 Koninklijke Philips Electronics N.V. Device and method for recording information
WO2005034117A2 (en) * 2003-10-07 2005-04-14 Koninklijke Philips Electronics N.V. Device and method for recording information
JP2005129114A (en) * 2003-10-22 2005-05-19 Sony Corp Recording device, recording method, recording program, and recording medium
JP2006178778A (en) * 2004-12-22 2006-07-06 Sony Corp Data recorder and data recording system
JP2006235960A (en) * 2005-02-24 2006-09-07 Fujitsu Ltd Method for increasing speed of garbage collection

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04268622A (en) * 1990-12-11 1992-09-24 Stc Internatl Computers Ltd Rotary memory system
JPH08212708A (en) * 1994-11-08 1996-08-20 Matsushita Electric Ind Co Ltd Information recording medium, information recording method and information recorder
JPH09146712A (en) * 1995-11-17 1997-06-06 Nec Corp Multiplexed disk access control system
JPH09198195A (en) * 1996-01-19 1997-07-31 Nec Corp Disk device capable of rearranging data
JPH1115712A (en) * 1997-06-25 1999-01-22 Toshiba Corp Server device and hierarchical storage control method
JPH11176103A (en) * 1997-12-09 1999-07-02 Toshiba Corp Digital information recording and reproducing system and defect control method applied to the system
JP2001337850A (en) * 2000-05-25 2001-12-07 Hitachi Ltd Storage and method for controlling the same
WO2004114298A2 (en) * 2003-06-23 2004-12-29 Koninklijke Philips Electronics N.V. Device and method for recording information
WO2005034117A2 (en) * 2003-10-07 2005-04-14 Koninklijke Philips Electronics N.V. Device and method for recording information
JP2005129114A (en) * 2003-10-22 2005-05-19 Sony Corp Recording device, recording method, recording program, and recording medium
JP2004281052A (en) * 2004-07-08 2004-10-07 Hitachi Ltd Data recording device
JP2006178778A (en) * 2004-12-22 2006-07-06 Sony Corp Data recorder and data recording system
JP2006235960A (en) * 2005-02-24 2006-09-07 Fujitsu Ltd Method for increasing speed of garbage collection

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010013445A1 (en) * 2008-07-30 2010-02-04 パナソニック株式会社 Nonvolatile storage device, host device, nonvolatile storage system, data recording method, and program
US8266371B2 (en) 2008-07-30 2012-09-11 Panasonic Corporation Non-volatile storage device, host device, non-volatile storage system, data recording method, and program
JP5443998B2 (en) * 2008-07-30 2014-03-19 パナソニック株式会社 Nonvolatile storage device, host device, nonvolatile storage system, data recording method, and program
US9465546B2 (en) 2014-01-14 2016-10-11 Socionext Inc. Memory control method, memory control program, and semiconductor integrated circuit device

Similar Documents

Publication Publication Date Title
US7472219B2 (en) Data-storage apparatus, data-storage method and recording/reproducing system
US6606714B1 (en) Disk drive using defect list to perform uninterrupted writing of non-relocated data blocks and caching of relocated data blocks for deferred writing
KR101086857B1 (en) Control Method of Solid State Storage System for Data Merging
US6735678B2 (en) Method and apparatus for disc drive defragmentation
US8756382B1 (en) Method for file based shingled data storage utilizing multiple media types
US7716422B2 (en) Storage apparatus and method for using a non-volatile cache memory organized into stationary and non-stationary circular regions
KR100216146B1 (en) Data compression method and structure for a direct access storage device
US7373477B2 (en) Fragmentation executing method and storage device
US7647470B2 (en) Memory device and controlling method for elongating the life of nonvolatile memory
KR101854200B1 (en) Method for writing data on storage medium and storage apparatus applying the same
US20090157756A1 (en) File System For Storing Files In Multiple Different Data Storage Media
WO2011068109A1 (en) Storage device and memory controller
JP2007193883A (en) Data recording device and method, data reproducing device and method, and data recording and reproducing device and method
US8862856B2 (en) Implementing remapping command with indirection update for indirected storage
KR20060134149A (en) Compound storage, data writing method and program
JP2007184021A (en) Address assigning method, disk device, and data writing method
JP2010237907A (en) Storage device and recording method
JP4106702B2 (en) Information processing apparatus, data recording / reproducing method, program for data recording / reproducing method, and recording medium recording program for data recording / reproducing method
US20110022774A1 (en) Cache memory control method, and information storage device comprising cache memory
JP2007257061A (en) Data storage apparatus and data access method
JP2008117491A (en) Recording device, recording method and program
KR101072730B1 (en) Recording/reproducing device and recording method
JP4470471B2 (en) Recording / reproducing apparatus and method, and recording / reproducing system
KR20030061948A (en) : Apparatus storing information and method for controlling the File using its
JP7435470B2 (en) Information processing device, information processing method, and information processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110906

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120112