データ記録装置及び方法、及びデータ再生装置及び方法、並びにデータ記録再生装置及び方法
【課題】 効率的にガベージコレクションを実行する。
【解決手段】 所定の容量を有する記録媒体20と、記録媒体20と記憶空間を構成し、所定の容量を有する不揮発性固体メモリ28と、記録媒体20へのアクセスを制御する制御部26と、所定の容量を有するバッファメモリ27と、不揮発性固体メモリ28へのアクセスを制御するメモリ制御部30とを備え、ホスト装置1からのアクセスに応じて、メモリ制御部30によりガベージコレクションが必要かどうかの判断を行い、データの読み出し又はデータの書き込みと並行してガベージコレクションを実行する。
【解決手段】 所定の容量を有する記録媒体20と、記録媒体20と記憶空間を構成し、所定の容量を有する不揮発性固体メモリ28と、記録媒体20へのアクセスを制御する制御部26と、所定の容量を有するバッファメモリ27と、不揮発性固体メモリ28へのアクセスを制御するメモリ制御部30とを備え、ホスト装置1からのアクセスに応じて、メモリ制御部30によりガベージコレクションが必要かどうかの判断を行い、データの読み出し又はデータの書き込みと並行してガベージコレクションを実行する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記録媒体と、不揮発性記憶媒体とを備え、共通するファイルシステムに基づき、データの書き込み及び読み出しが行われるデータ記録装置及び方法、及びデータ再生装置及び方法、並びにデータ記録再生装置及び方法に関する。
【背景技術】
【0002】
不揮発性固体メモリには様々のものがあるが、近年注目を集めている大容量記憶装置に用いられているのは、NANDフラッシュメモリである。不揮発性固体メモリは、任意の領域に既にデータが書き込まれている場合において、当該任意の領域に新たなデータを書き込む(プログラムとも呼ばれる)ときには、当該任意の領域に書き込まれているデータを消去する必要がある。この消去動作には、約ms単位の時間がかかる。また、消去する単位は、ブロックと呼ばれ、データにアクセスする単位(ページ)よりも大きい。
【0003】
例えば、Toshiba 1Gbit NAND EEPROM TC58NVG0S3AFT05の不揮発性固体メモリでは、ブロックサイズは、128KB(ECCを除く)であり、ページサイズは、2KB(ECCを除く)である。一のブロックに書き込まれているデータを消去するために要する時間は、約2ms(typical)となっている。なお、消去に要する最大時間は、約4msである。
【0004】
また、このようにして、「データの書き込み」作業の前に、「データの消去」作業による所定の時間を要するため、その時間分ホスト装置は待たされてしまう。
【0005】
そこで、一般的には、既に消去が行われている(すなわち、データの書き込みが直ぐに行える)別な場所に変更後のデータを書き込む、いわゆる追記型によるデータの書き込み処理を行う。そして、記憶装置内に置かれている論理アドレスを物理アドレスに変換するテーブルを変更し、追記したブロックの物理アドレスと論理アドレスを対応させる。また、同時に、データの入っていたブロック内のページを無効とするための処理を行う。また、無効とされたページは、新たなデータの書き込みに使用できないので、記憶装置がアクセスを受けていない時(例えば、アイドル時間)に、有効なデータを他のブロックに移動した後に、ブロック全体の消去を行う、いわゆるガベージコレクションを行い、将来の新たなデータの書き込みに備える。また、任意のファイルが消去され、無効なページがブロック内に発生した場合にも、上述と同様にガベージコレクションを行う。
【0006】
【特許文献1】特開平9−97218号公報
【特許文献2】特開平11−126488号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
ところで、不揮発性固体メモリには、データの書換え回数に制限があるために(104〜105)、各ブロックにおいて書き込みが行われた回数を同じにする必要がある。このために行われる処理をWear Leveling(書換え回数の平均化)という。
【0008】
ここで、追記型の書換え処理を採用しつつ、Wear Levelingによる処理を実現するための手法は、種々提案されている(例えば、引用文献1及び2)。
【0009】
引用文献1では、ガベージコレクションを必要とするブロックの中から、消去回数の少ないものを選んでガベージコレクションを実行し、データの書き込み回数の平均化を実現する方法が示されている。
【0010】
また、引用文献2では、メモリを、データ書き換え用の領域と、ガベージコレクションを実行するための領域の二つに分けることにより、消去回数を直接用いることなく、書込回数の平均化を行う方法が示されている。
【0011】
しかしながら、いずれの方法においても、ホスト装置からアクセスがある間は、ホスト装置を待たせることは許されないため、ガベージコレクションは実行されない。そのため、不揮発性固体メモリに十分な記憶容量がありながらも、無効ページ(データの書き込みができないページ)が多くなってしまった場合には、データの書込途中において、書き込むブロックが足りなくなってしまうことがある。このような場合には、ファイルを消去するか、ガベージコレクションを実行し、データを書き込むことができる領域(ブロック)を作成する必要があり、結果的に、ホスト装置から供給されるデータの転送速度が大きく低下してしまう。
【0012】
そこで、本発明では、このような問題点に鑑みて、データの配置情報を自身で管理できる特性を生かして、ホスト装置からのアクセス中であったとしても、ガベージコレクションを実行し、ホスト装置から供給されるデータの転送速度を一定に保つことができるデータ記録装置及び方法、及びデータ再生装置及び方法、並びにデータ記録再生装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明に係るデータ記録装置は、上述の課題を解決するために、ホスト装置が接続され、ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ記録装置において、第1の物理アドレスが付されている第1のデータ領域を有し、第1のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が必要な不揮発性固体メモリと、第2の物理アドレスが付されている第2のデータ領域を有し、第2のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が不要な記憶媒体と、ホスト装置が接続される接続手段と、ホスト装置から転送されてきたデータを不揮発性固体メモリの任意の領域又は記憶媒体の任意の領域に書き込む書込手段と、第2のデータアクセスモードが選択され、接続手段に接続されているホスト装置からデータが転送されてきた場合、又は書込手段により不揮発性固体メモリ又は記録媒体にデータを書き込んでいる場合に、不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する判断手段と、不揮発性固体メモリに対してガベージコレクションを実行するガベージコレクション実行手段と、判断手段によりガベージコレクションが必要であると判断された場合に、ホスト装置から転送されたデータを記憶媒体の所定の領域に書き込むように書込手段を制御し、不揮発性固体メモリに対してガベージコレクションを実行するようにガベージコレクション実行手段を制御する制御手段とを備える。
【0014】
また、本発明に係るデータ記録方法は、上述の課題を解決するために、ホスト装置が接続され、ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ記録装置のデータ記録方法において、第2のデータアクセスモードが選択され、ホスト装置からデータが転送されてきた場合、又は第1の物理アドレスが付されている第1のデータ領域を有し、第1のデータ領域にデータを書き込んでいる際に、書き込み対象となる領域の消去動作が必要な不揮発性固体メモリにデータを書き込んでいる場合に、不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する判断工程と、判断工程によりガベージコレクションが必要であると判断された場合に、ホスト装置から転送されたデータを、第2の物理アドレスが付されている第2のデータ領域を有し、第2のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が不要な記録媒体の所定の領域に書き込む書込工程と、書込工程によるデータの書き込み動作と並行して、不揮発性固体メモリに対してガベージコレクションを実行するガベージコレクション実行工程を備える。
【0015】
また、本発明に係るデータ再生装置は、上述の課題を解決するために、ホスト装置が接続され、ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ再生装置において、第1の物理アドレスが付されている第1のデータ領域を有し、第1のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が必要な不揮発性固体メモリと、第2の物理アドレスが付されている第2のデータ領域を有し、第2の領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が不要な記憶媒体と、データのバッファリング用に用いられるバッファリングメモリと、ホスト装置が接続される接続手段と、ホスト装置の命令にしたがって、不揮発性固体メモリの任意の領域又は記憶媒体の任意の領域からデータを読み出す読出手段と、第2のデータアクセスモードが選択され、接続手段に接続されているホスト装置からデータの読み出しが命令された場合に、不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する判断手段と、不揮発性固体メモリに対してガベージコレクションを実行するガベージコレクション実行手段と、判断手段によりガベージコレクションが必要であると判断された場合に、不揮発性固体メモリから必要となるデータをバッファリングメモリ上に読み出すように読出手段を制御し、不揮発性固体メモリに対してガベージコレクションを実行するようにガベージコレクション実行手段を制御する制御手段とを備える。
【0016】
また、本発明に係るデータ再生方法は、上述の課題を解決するために、ホスト装置が接続され、ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ再生装置のデータ再生方法において、第2のデータアクセスモードが選択され、ホスト装置からデータの読み出しが命令された場合に、第1の物理アドレスが付されている第1のデータ領域を有し、第1のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が必要な不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する判断工程と、判断工程によりガベージコレクションが必要であると判断された場合に、不揮発性固体メモリから必要となるデータをバッファリングメモリ上に読み出す読出工程と、読出工程によるデータの読み出し動作と並行して、不揮発性固体メモリに対してガベージコレクションを実行するガベージコレクション実行工程を備える。
【0017】
また、本発明に係るデータ記録再生装置は、上述の課題を解決するために、ホスト装置が接続され、ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ記録再生装置において、第1の物理アドレスが付されている第1のデータ領域を有し、第1のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が必要な不揮発性固体メモリと、第2の物理アドレスが付されている第2のデータ領域を有し、第2のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が不要な記憶媒体と、データのバッファリング用に用いられるバッファリングメモリと、ホスト装置が接続される接続手段と、ホスト装置から転送されてきたデータを不揮発性固体メモリの任意の領域又は記憶媒体の任意の領域に書き込む書込手段と、ホスト装置の命令にしたがって、不揮発性固体メモリの任意の領域又は記憶媒体の任意の領域からデータを読み出す読出手段と、第2のデータアクセスモードが選択され、接続手段に接続されているホスト装置からデータが転送されてきた場合、又は書込手段により不揮発性固体メモリ又は記録媒体にデータを書き込んでいる場合に、不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する第1の判断手段と、第2のデータアクセスモードが選択され、接続手段に接続されているホスト装置からデータの読み出しが命令された場合に、不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する第2の判断手段と、不揮発性固体メモリに対してガベージコレクションを実行するガベージコレクション実行手段と、第1の判断手段によりガベージコレクションが必要であると判断された場合に、ホスト装置から転送されたデータを記憶媒体の所定の領域に書き込むように書込手段を制御し、不揮発性固体メモリに対してガベージコレクションを実行するようにガベージコレクション実行手段を制御する第1の制御手段と、第2の判断手段によりガベージコレクションが必要であると判断された場合に、不揮発性固体メモリから必要となるデータをバッファリングメモリ上に読み出すように読出手段を制御し、不揮発性固体メモリに対してガベージコレクションを実行するようにガベージコレクション実行手段を制御する第2の制御手段とを備える。
【0018】
また、本発明に係るデータ記録再生方法は、上述の課題を解決するために、ホスト装置が接続され、ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ記録再生装置のデータ記録再生方法において、第2のデータアクセスモードが選択され、ホスト装置からデータが転送されてきた場合、又は第1の物理アドレスが付されている第1のデータ領域を有し、第1のデータ領域にデータを書き込んでいる際に、書き込み対象となる領域の消去動作が必要な不揮発性固体メモリにデータを書き込んでいる場合に、不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する第1の判断工程と、第1の判断工程によりガベージコレクションが必要であると判断された場合に、ホスト装置から転送されたデータを、第2の物理アドレスが付されている第2のデータ領域を有し、第2のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が不要な記録媒体の所定の領域に書き込む書込工程と、書込工程によるデータの書き込み動作と並行して、不揮発性固体メモリに対してガベージコレクションを実行する第1のガベージコレクション実行工程と、第2のデータアクセスモードが選択され、ホスト装置からデータの読み出しが命令された場合に、不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する第2の判断工程と、第2の判断工程によりガベージコレクションが必要であると判断された場合に、不揮発性固体メモリから必要となるデータをバッファリングメモリ上に読み出す読出工程と、読出工程によるデータの読み出し動作と並行して、不揮発性固体メモリに対してガベージコレクションを実行する第2のガベージコレクション実行工程を備える。
【発明の効果】
【0019】
本発明では、不揮発性固体メモリを使用する上で避けることのできないガベージコレクションを、所定のモードにおいて、他の不揮発性固体メモリ又は記録媒体にデータの書き込みを中断することなく並行して実行することができ、又はホスト装置へのデータ転送に影響を及ぼすことなく並行して実行することができる。
【発明を実施するための最良の形態】
【0020】
本発明は、データの書き込み対象となる領域に対して、既にデータが書き込まれている場合に、当該領域に対して消去動作が必要な不揮発性固体メモリと、他の記録媒体とにより構成されるデータ記録再生装置において、不揮発性固体メモリ及び他の記録媒体へのアクセスに必要なアドレス情報の制御を行う機能を持ち、不揮発性固体メモリのフラグメンテーションを解消するためのガベージコレクションを効率的に実行するデータ記録再生装置に係るものである。
【0021】
また、以下の実施例では、他の記録媒体としてHDD(Hard Disk Drive)を用いるものとし、HDDと不揮発性固体メモリとを組み合わせたものをハイブリッド記憶装置と呼ぶ。また、不揮発性固体メモリは、既にデータが書き込まれているエリア(ページ)に対してデータを書き込む場合には、当該ページを含むブロックに対して消去動作を必要とするNANDフラッシュメモリを想定している。また、ファイルシステムは、MS−DOS互換FATファイルシステムを使用するものとして説明するが、データをファイルとして管理するシステムであればMS−DOS互換FATファイルシステムに限らずどのようなシステムでも適用することができる。
【0022】
<データ記録再生装置の構成>
図1は、PC又はAV機器等のホスト装置1と、データ記録再生装置2とが、IDE(Integrated Drive Electronics)、SCSI(Small Computer System Interface)、FC(Fibre Channel)、USB(Universal Serial Bus)等のインターフェースケーブル3を介して接続されて構成されたときの状態を示す図である。
【0023】
データ記録再生装置2は、図1に示すように、記録媒体20にデータを書き込み、書き込まれているデータを読み出すヘッド部21と、記録媒体20にアクセスする際にヘッド部21を駆動するヘッド駆動部22と、記録媒体20を所定方向に所定の回転数で駆動する記録媒体駆動部23と、ヘッド駆動部22と記録媒体駆動部23を制御するサーボ制御部24と、ヘッド部21に接続されており、供給されるデータに対して所定の処理を行うリードライトチャンネル部25と、サーボ制御部24とリードライトチャンネル部25とを制御する制御部26と、一時的にデータがバッファリングされるバッファメモリ27と、所定の容量を有する不揮発性固体メモリ28と、所定の容量を有するページバッファ29と、データの書き込み及び読み出しを行うために不揮発性固体メモリ28にアクセスする際にバッファメモリ29と不揮発性固体メモリ28とページバッファ29とを制御するメモリ制御部30と、所定の演算を行い、データ記録再生装置2の各部に必要なコマンド及びパラメータを設定して動作させる演算処理部(CPU)31と、CPU31による演算等に用いられるメモリ32と、ホスト装置1とデータ及び制御情報等の送受信を行うインターフェース制御部33とを備える。また、データ記録再生装置2は、ホスト装置1の制御にしたがってデータのアクセスが行われる第1のデータアクセスモード(PCモード)と、データ記録再生装置2自身の制御によってデータのアクセスを行う第2のデータアクセスモード(AVモード)とを有する。
【0024】
<ファイルシステムについて>
ここで、本発明に係るデータ記録再生装置2で採用するファイルシステムについて図2を参照して説明する。なお、以下では、記録媒体20をHDDと呼ぶ。
【0025】
HDDにおいてデータを記録する最小の単位は、セクタで(通常、512byte)である。ホスト装置1は、論理ブロックアドレス(LBA)を用いてHDDにアクセスを行う。既に説明したように、不揮発性固体メモリ28の最小単位はページであり、このページのサイズは、セクタのサイズとは必ずしも一致するわけではないが、セクタの整数倍で構成されている。したがって、論理ページ番号と論理アドレスを容易に関係付けることが可能である。したがって、ホスト装置1は、データ記録再生装置2に対してHDDと同様に不揮発性固体メモリ28に対しても論理ブロックアドレス(LBA)を用いてアクセスを行うことが可能である。
【0026】
また、ファイルを管理するファイルシステムでは、複数のセクタ(N個)を1クラスタとし、このクラスタをデータの読み書きの際の最小単位としている。また、FAT(File Allocation Table)は、一つのファイルがクラスタにどのように格納されているかを記録してあるテーブルである。このFATを用いて管理を行うファイルシステムのことをFATファイルシステムと呼ぶ。以後、クラスタアドレスは、LBAを単純にNで割ったものとし、本実施例における説明では、N=16とする(1クラスタ=8KByte)。
【0027】
また、FATファイルシステムボリュームは、3つの領域(予約領域A、FAT領域B、ファイルとディレクトリデータ領域C)から構成されている。なお、本実施例では、パーティションは、1つの場合しか想定しないのでボリュームとパーティションは同一のもとなっている。
【0028】
また、図2では、ディレクトリ項目Dにファイル名やその開始クラスタ番号が格納されている。ホスト装置1は、ディレクトリ項目Dの中身を読み出して、開始クラスタ番号を知り(図2では「12340h」)、それに対応するFAT項目(FAT Entry)を参照して、ファイルの次のクラスタがクラスタ番号「12341h」にあることを知る。ホスト装置1は、順次、続くクラスタ番号を求め、最後に「1237Fh」の中身が「EOF(End of File)」であるところまで配置情報を読み出す。そして、ホスト装置1は、読み出した配置情報に基づいてファイルにアクセスを行う。このようなアクセス方法をPCモードと呼ぶ。
【0029】
記録媒体20は、前述したFAT(File Allocation Table)ファイルシステムによって管理されており、少なくとも所定のデータサイズ(クラスタ)ごとにアドレス(以下、物理アドレスという。)が付されてなるユーザデータエリアからなるHD(ハードディスク)等のディスク状記録媒体により構成されている。なお、データ記録再生装置2では、記録媒体20の代わりに所定の容量を有する不揮発性メモリを用いて構成されても良い。ただし、不揮発性メモリは、不揮発性固体メモリ28とは異なり、データを書き込む際に、対象となるエリア(ページ)に書き込まれているデータの消去動作が不要なメモリであり、例えば、MRAM、FeRAM、nVSRAM等である。
【0030】
ヘッド部21は、記録媒体20がHD等の磁気記録媒体である場合には、外部磁界の大きさや向きにより抵抗値が変化する、いわゆる磁気抵抗効果を利用し、記録媒体20からの信号磁界を検出するための感磁素子を有する磁気ヘッドにより構成される。
【0031】
ヘッド駆動部22は、サーボ制御部24の制御に応じて、ヘッド部21の動作を制御する。
【0032】
記録媒体制御部23は、サーボ制御部24の制御に応じて、記録媒体20を所定の回転数で回転するように制御する。
【0033】
サーボ制御部24は、記録媒体20を所定方向に所定速度で回転駆動させるように記録媒体駆動部23を制御し、また、記録媒体20上の所定の場所にアクセスするためにヘッド部21の駆動を制御する。
【0034】
リードライトチャンネル部25は、データの書き込み動作時に、供給されたデータを符号化(変調)し、記録再生系の特性に適したデジタルビット系列に変換した後、変換後のデータをヘッド部21に供給する。また、リードライトチャンネル部25は、データの読み出し動作時に、ヘッド部21から供給された再生信号から高域ノイズを除去した後でアナログデジタル変換器(ADC、Analog Digital Converter)によりデジタル化し、最尤復号法等を用いて所定の処理を行った後、復調を行う。
【0035】
制御部26は、バッファメモリ27、不揮発性固体メモリ28、リードライトチャンネル部25、インターフェース制御部33それぞれの間のデータのやり取りを管理し、データのフォーマットにかかわる処理を行う。また、制御部26は、当該処理を行う際に、誤り訂正符号による符号化と、誤り検出及び誤り訂正にかかわる処理も併せて行う。
【0036】
また、ホスト装置1から書き込まれたデータは、記録媒体20、あるいは不揮発性固体メモリ28に格納される。バッファメモリ27は、その際、あるいはデータの読み出し時に、一時的にデータの格納(バッファリング)が行われ、転送速度の違いや起動に伴う遅延などによる性能の低下を抑えるために用いられる。また、通常、バッファメモリ27は、コストのことを考慮してDRAMあるいはSRAMで構成される。
【0037】
不揮発性固体メモリ28は、例えば、FATファイルシステムが採用されるNAND型FLASHメモリカード(Memory Stick、Compact Flash、SD Card等)であり、所定のデータサイズ(ページ)ごとに、所定のアドレス(以下、論理ページ番号という。)が付されてなるデータエリアを有する。また、不揮発性固体メモリ28は、データを書き込む際に、対象となるページに書き込まれているデータの消去動作が必要なメモリである。
【0038】
また、不揮発性固体メモリ28と記録媒体20とは、後述するように、一部重複エリア(オーバーラップエリア)を有しつつ、同一のアドレス空間(論理ブロックアドレス(LBA))上に配置されている。制御部26は、そのアドレスを用いて、不揮発性固体メモリ28と記録媒体20に対してデータの読み書きの動作を行う。なお、図1に示されているメモリ制御部30と、バッファメモリ27と、不揮発性固体メモリ28とを連結するバスの構成は、一例であり、メモリとのインターフェースに基づいて適宜変更されるものである。
【0039】
また、ページバッファ29は、不揮発性固体メモリ28と、メモリ制御部30の間に配置され、バッファメモリ27と不揮発性固体メモリ28との間で行われるページ単位での転送を効率的に処理するために用いられる。また、ページバッファ29は、バッファメモリ29を経由しないで、不揮発性固体メモリ28内のデータを不揮発性固体メモリ28の他の場所にコピーする際にも使用される。なお、データ記録再生装置2は、ページバッファ29を具有していない構成であっても良いが、詳細は後述するが、効率的なガベージコレクションを実行するために具有している方が好ましい。
【0040】
メモリ制御部30は、AVモードが選択されているときに、ホスト装置1から供給されるデータを記録媒体20又は不揮発性固体メモリ28に書き込む場合、又は記録媒体20又は不揮発性固体メモリ28に書き込まれているデータをホスト装置1へ送信する場合に、不揮発性固体メモリ28に対してガベージコレクションが必要かどうかの判断を行い、必要な場合にはガベージコレクションを行う。
【0041】
ここで、メモリ制御部30の動作について説明する。また、不揮発性固体メモリ28は、1GBitのフラッシュメモリ(Block Size=128KB、Page Size=2KB)であり、ブロックが1024個あり、ページが全部で65536ページで構成されているものとする。また、物理ページ番号は、図3に示すように、上位10bit(「0x000」から「0x3FF」)でブロックを示し、下位6bit(「0x00」から「0x3F」)でブロック内のオフセットを示す。なお、ここでの「x」は、16進法を表すものとする。また、NANDフラッシュメモリでは、不良ブロックを交替しなければならないので、一部のブロックをその用途に残しておかなければならない。図3では、ブロック番号「0x3F0」から「0x3FF」の16個のブロックをそれにあてている。そのため、論理ページ番号は、上位10bit(「0x000」から「0x3EF」)でブロックを示し、下位6bit(「0x00」から「0x3F」)でブロック内のオフセットを示している。
【0042】
また、不揮発性固体メモリ28では、できるだけ均等に各ブロックを消去し、また、できるだけ均等に各ページにデータを書き込むために、所定の追記型処理(Wear Leveling)を行っている。データ記録再生装置2では、この追記型処理を行うために、論理ページ番号に対応する物理ページ番号が記録されるテーブル1と、ブロック番号との対応におけるページの状態を示すフラグ(未使用を「0」で示し、有効を「1」で示し、無効を「2」で示す)が記録されるテーブル2とを利用する。したがって、メモリ制御部30は、テーブル2を参照することにより、データの書換えが行われ、現在、無効となっているページを知ることができる。また、データ記録再生装置2は、次のデータの書き込みの際に使用されるページを示す「ポインタ」を導入する。
【0043】
<ホスト装置の構成>
また、ホスト装置1は、インターフェース3を介してデータ記録再生装置2とデータの送受信を行うインターフェース制御部40と、所定の演算処理を行うCPU41と、CPU41による演算等に用いられるメモリ42とを備える。ホスト装置1は、例えば、データ記録再生装置2の長所を生かして効率良く記録再生処理を行うビデオカメラ、デジタルカメラ、音楽プレイヤー等のアプリケーション機器である。
【0044】
CPU42は、電源起動時、所定の処理手順の実行により、ディスク20のシステム領域に記録されてなる管理用データであるブート領域、FAT領域、ディレクトリ領域に格納されている各データをメモリ42にアップロードし、このアップロードしたデータを基準にしたパラメータの設定により種々のコマンドをデータ記録再生装置2に対して送信する。
【0045】
<新規データの書き込み>
ここで、新規データの書き込みについて図4を参照して説明する。図4は、論理ページ番号「0x001_00」に書き込みを行った場合の例である。図4(A−1)、(A−2)は、不揮発性固体メモリ28の論理ページ番号と物理ページ番号の対応関係を示すテーブル1であり、図4(B−1)、(B−2)は、ブロック番号とフラグの対応関係を示すテーブル2であり、図4(C−1)、(C−2)は、ポインタである。なお、図中の「x」は、(0,1,2)のいずれかの値をとるという意味である。
【0046】
メモリ制御部30は、ポインタが「0x002_01」を示しているので(図4(C−1))、そこにデータの書き込みを行う。次に、メモリ制御部30は、テーブル1の「0x001_00」に対応する物理ページ番号に、「0x002_01」を入れる(図4(A−2))。また、メモリ制御部30は、同時にテーブル2で物理ページ番号「0x002_01」に対応するフラグを有効、すなわちフラグを「0」から「1」へ変更する(図4(B−2))。また、メモリ制御部30は、ポインタをインクリメントし、「0x002_02」にセットする(図4(C−2))。
【0047】
<データの書き換え>
つぎに、データの書換えを行う場合について図5を参照して説明する。なお、図5では、論理アドレス番号「0x001_01」に書かれていたデータの書き換えを行ったものである。メモリ制御部30は、ポインタが「0x003_02」を示しているので(図5(C−1))、そこに書き込みを行う。次に、メモリ制御部30は、テーブル1の「0x001_03」に対応する物理ページ番号を「0x002_03」から「0x003_02」に変更し(図5(A−2))、同時にテーブル2で物理ページ番号「0x002_03」に対応するフラグを無効、すなわち、フラグを「1」から「2」へ変更し、書き込みを行った物理ページ番号「0x003_02」に対応するフラグを有効、すなわち、フラグを「0」から「1」へ変更する(図5(B−2))。また、メモリ制御部30は、ポインタを一つインクリメントし、「0x003_03」にセットする(図5(C−2))。
【0048】
このようにして、データの書き込みを継続してゆくと、無効なページが次第に増加し、最終的には使用できるページがなくなってしまう。そこで、メモリ制御部30は、有効なデータを他のブロックに移動して、1つのブロック内の全ページを無効化した後に、消去を行い使用可能な領域を増やす処理、いわゆるガベージコレクションを行う。ここで、ガベージコレクションについて、図6及び図7を用いて説明する。なお、図6及び図7では、説明上便宜的に、1ブロックに4個のページがあるものとする。
【0049】
<ガベージコレクションについて>
メモリ制御部30は、図6に示すように、データを論理ページ「0x000_1」から「0x002_1」まで書き込み(図6(A−1))、その後、論理ページ「0x000_0」と「0x000_1」を書き直し、さらに論理ページ「0x001_2」と「0x002_3」を消去することにより、ガベージコレクションを実行する。テーブル2から分かるように、ブロック1とブロック2に無効なページがあり、それらがガベージコレクションの対象となる(図6(B−2))。
【0050】
また、メモリ制御部30は、図6(A−2)、(B−2)、(C−2)に示す状態から、ブロック番号「0x000」、「0x001」の順番でガベージコレクションを実行する(図7乃至図9)。なお、図6(A−2)、(B−2)、(C−2)と、図7(A−2)、(B−2)、(C−2)は、同一のものである。
【0051】
メモリ制御部30は、ブロック番号「0x000」の有効な二つのページ(フラグが「1」を示している)をポインタが与える物理ページ番号「0x003_0」と「0x003_1」にコピーしてテーブル1とテーブル2を適宜更新し、ポインタを「0x003_2」にセットする(ステップS1)(図7(A−3)、(B−3)、(C−3))。その後、メモリ制御部30は、ブロック内の全てのページが無効となっているブロック番号「0x000」の消去を行い、テーブル2を更新する(ステップS2)(図8(A−4)、(B−4)、(C−4))。つぎに、ブロック番号「0x001」内の有効な二つのページ(フラグが「1」を示している)をポインタが与える物理ページ番号「0x003_2」と「0x003_3」にコピーして、テーブル1とテーブル2を適宜更新し、ポインタを「0x004_0」にセットする(ステップS3)(図8(A−5)、(B−5)、(C−5))。その後、メモリ制御部30は、ブロック内の全てのページが無効となっているブロック番号「0x001」の消去を行い、テーブル2を更新する(ステップS4)(図9(A−6)、(B−6)、(C−6))。したがって、ステップS1〜ステップS4により、ブロック番号「0x000」及びブロック番号「0x001」に属するページに新たなデータを書き込むことができるようになる。
【0052】
<不揮発性固体メモリ28と記録媒体20の記憶空間>
ここで、図10を用いて、データ記録再生装置2内部において不揮発性固体メモリ28と記録媒体20の記憶空間がどのように配置されるかを説明する。
【0053】
データ記録再生装置2との記憶空間は、図10に示すように、データ記録再生装置2用のシステム領域Eと、ディスクキャッシュ領域Fと、ユーザ領域G1と、ユーザ領域G2と、ユーザ領域G3とから構成されている。また、ユーザ領域G1〜G3は、ホスト装置1から見たLBA空間に割り当てられている。
【0054】
システム領域Eは、不揮発性固体メモリ28で構成され、CPU31がブートコードや各種テーブルを格納するため、あるいは二次欠陥の代替処理用の領域として使用するものである。
【0055】
ディスクキャッシュ領域Fは、記録媒体20で構成され、一時的にデータを格納する目的に使用される。図10に示す例では、ディスクキャッシュ領域Fの容量は、128MByteである。ホスト装置1は、ディスクキャッシュ領域Fに対して直接的にアドレスを指定して書き込みを行うことはできない。
【0056】
ユーザ領域G1は、不揮発性固体メモリ28で構成され、記録媒体20を用いて一部あるいは全部がバックアップされる。ユーザ領域G1は、MBR(Master Boot Record)とPBR(Partition Boot Record)を含む予約領域と、FAT(File Allocation Table)領域を含む。なお、MBRは、ホスト装置1から見てLBA「0」のセクタであり、ブートストラップ・コードやパーティション・テーブルが記録されている。
【0057】
ユーザ領域G2は、記録媒体20で構成され、ファイルの情報を管理するディレクトリ項目Dと、実際のデータが入る。なお、FAT32以前では、ルートディレクトリだけは別な領域として分けられていた。また、ディレクトリ項目Dには、各ディレクトリ(各ファイル)に関して、ファイル名、拡張子、属性、最新更新時間、開始クラスタ番号、ファイルサイズの各情報が格納されている。
【0058】
ユーザ領域G3は、不揮発性固体メモリ28で構成され、記録媒体20を用いて一部あるいは全部がバックアップされる。また、ユーザ領域G3は、ホスト装置1からは通常、データの書き込みができないように設定されていて、特別なモード(AVモード)が選択された時にのみ、データ記録再生装置2自身の管理の元で、データの書き込み可能となる領域である。
【0059】
また、図10では、不揮発性固体メモリ28は、2つのモジュール(Module1及びModule2)から構成されているものとしている。すなわち、論理ページ番号「00000h」から「0ffffh」のページはModule1に属し、また、論理ページ番号「10000h」から「1ffffh」のページはModule2に属する。なお、Module1とModule2は、それぞれ独立にProgram(ページ単位の書き込み動作)と消去動作を行うことができる。
【0060】
ここで、データ記録再生装置2において、データの書き込み及び読み出しが実行されている間に、そのデータ転送に影響を与えることなくガベージコレクションを実行する方法について、図11及び図15のフローチャートを参照して説明する。まず、データの書き込みの場合について説明する。
【0061】
<データの書き込み時におけるガベージコレクションについて>
AVモードにおいて、データの書き込み動作を行う場合には、ホスト装置1は、図12(A)に示すコマンド(Set Write File Parameter)をデータ記録再生装置2に対して発行し、データ記録再生装置2からファイルの記録開始クラスタ番号を受け取る。なお、データ記録再生装置2は、ホスト装置1に対して図12(B)に示すコマンド(Set Write File Parameter)を返信する。
【0062】
制御部26は、図11に示すように、ホスト装置1から供給されたコマンド内のパラメータMPが「1」であるかどうかを確認する(ステップS11)。制御部26は、パラメータMPが「1」でない場合には、ホスト装置1から供給されるデータを記録媒体20に書き込むようにサーボ制御部24及びリードライトチャンネル部25を制御する(ステップS12)。なお、パラメータMPが「1」に設定されている場合には、ホスト装置1から供給されるデータは、ユーザ領域G3(不揮発性固体メモリ28)に書き込まれる。
【0063】
メモリ制御部30は、ユーザ領域G3に空き容量があるかどうかを判断する(ステップS13)。空き容量がない場合には、その旨(abort)をホスト装置1に通知する(ステップS14)。
【0064】
メモリ制御部30は、ユーザ領域G3に空き領域があると判断した場合には、ホスト装置1にファイルの記録開始クラスタ番号を送信する(ステップS15)。
【0065】
つぎに、メモリ制御部30は、不揮発性固体メモリ28にガベージコレクションが必要かどうかを確認する(ステップS16)。メモリ制御部30は、ステップS16の工程において、ガベージコレクションが必要であると判断した場合、すなわち、全ての不揮発性固体メモリ28において、ガベージコレクションを必要とするブロックの数が予め定めた数よりも多いとき、又はガベージコレクションを必要とするブロックの数が予め定めた数より多いメモリを、書換え回数の平均化等の理由で使用しなければならないときには、書き込みを行う不揮発性メモリに対してガベージコレクションを実行する(ステップS17)。
【0066】
また、メモリ制御部30は、ステップS16の工程において、ガベージコレクションが必要でないと判断した場合、すなわち、不揮発性固体メモリ28の一部でガベージコレクションを必要とするブロックの数が予め定めた数より多い場合には、それらを避けてデータの書き込みを行う(ステップS18)。
【0067】
また、制御部26は、ガベージコレクションが実行されているときには、ホスト装置1から供給されるデータを一時的に記録媒体20のディスクキャッシュ領域に書き込む(ステップS19)。また、制御部26は、ファイルの記録開始クラスタ番号と、使用されるディスクキャッシュ領域のアドレスとの対応を与える対応表(ポインタ)を作成する(ステップS20)。なお、データ記録再生装置2は、複数個の不揮発性固体メモリ28で構成されていても良い。このように構成される場合には、ホスト装置1から供給されるデータは、ガベージコレクションが必要でない他の不揮発性固体メモリ28、すなわち、ガベージコレクションを必要とするブロックの数が予め定めた数より多い不揮発性固体メモリ28に対して記録される。
【0068】
また、メモリ制御部30は、ガベージコレクションが完了した後、ステップS20の工程において生成された対応表に基づいて、ホスト装置1の許可を受けた後、あるいは自律的に、記録媒体20のディスクキャッシュ領域に書き込まれたデータを、不揮発性固体メモリ28に書き戻し、アドレス情報もそれにあわせて更新する工程を有する。
【0069】
メモリ制御部30は、不揮発性固体メモリ28の使用可能なブロック数を更新し(ステップS21)、全てのデータが書き込まれたかどうかを判断する(ステップS22)。メモリ制御部30は、ステップS22の工程において、全てのデータが書き込まれていないと判断した場合には、ステップS16の工程に戻る。
【0070】
ここで、データ記録再生装置2の不揮発性固体メモリ28が2つのモジュール(Module1及びModule2)から構成されている場合において、例えば、Module1は、ガベージコレクションを必要とするブロックの数が予め定めた数よりも多いモジュール、すなわち、ガベージコレクションが必要なモジュールであり、Module2は、ガベージコレクションを必要とするブロックの数が予め定めた数よりも少ないモジュール、すなわち、ガベージコレクションが必要でないモジュールであるときに、不揮発性固体メモリ28にデータを書き込む際のメモリ制御部30の動作について図13を参照して説明する。
【0071】
メモリ制御部30は、Module1及びModule2に対して、ガベージコレクションが必要かどうかを判断し、Module1にガベージコレクションが必要であり、Module2にはガベージコレクションが不要であることを認識する。メモリ制御部30は、Module1とページバッファ29とを接続して、Module1に対してガベージコレクションを実行する。また、メモリ制御部30は、Module2とバッファメモリ27を接続して、Module2に対してデータの書き込みを行う。
【0072】
このようにして、本発明に係るデータ記録再生装置2では、ガベージコレクションの実行中に、ホスト装置1から供給されるデータを他の記録領域に書き込むことができるので、ガベージコレクションの実行中であってもホスト装置1からのデータ転送を止めることがなく、また、不揮発性固体メモリ28に十分な記憶容量がありながらも、無効ページ(データの書き込みができないページ)が多くなり、データの書き込み途中において、書き込むブロックが足りなくなってしまう現象を回避することができる。
【0073】
<データの読み出し時におけるガベージコレクションについて>
つぎに、AVモードにおいて、データの読み出し動作を行う場合には、ホスト装置1は、図14(A)に示すコマンド(Set Read File Parameter)をデータ記録再生装置2に対して発行し、データ記録再生装置2に読み出すファイルの開始クラスタアドレスを通知する。なお、データ記録再生装置2は、ホスト装置1に対して図14(B)に示すコマンド(Set Read File Parameter)を返信する。
【0074】
制御部26は、図15に示すように、ホスト装置1から供給されたコマンドに基づいて、読み出すファイルの開始クラスタアドレスを認識し、ユーザ領域G3へのアクセスを要求するものかどうかを判断する(ステップS31)。
【0075】
制御部26は、ステップS31の工程において、ユーザ領域G3へのアクセスを要求するものでないと判断した場合には、ユーザ領域G2(記録媒体20)からデータの読み出しを行い、読み出したデータをホスト装置1に転送する(ステップS32)。
【0076】
また、メモリ制御部30は、ステップS31の工程において、ユーザ領域G3へのアクセスを要求するものであると判断した場合には、不揮発性固体メモリ28にガベージコレクションが必要であるかどうかを確認する(ステップS33)。なお、ステップS33の工程では、データ記録再生装置2に不揮発性固体メモリ28が複数個搭載されている場合には、各不揮発性固体メモリ28に対して、ガベージコレクションを必要とするブロックの数が設定値以上かどうかを確認する。
【0077】
メモリ制御部30は、ステップS33の工程において、ガベージコレクションが不要であると判断した場合には、ユーザ領域G3からデータを読み出し、ホスト装置1へ転送する(ステップS34)。
【0078】
また、メモリ制御部30は、ステップS33の工程において、ガベージコレクションが必要であると判断した場合には、ガベージコレクションの対象となっている不揮発性固体メモリ28に、読み出しの対象となっているデータが書き込まれているかどうかを判断する(ステップS35)。
【0079】
メモリ制御部30は、ステップS35において、読み出しの対象となっているデータが書き込まれている不揮発性固体メモリ28がガベージコレクションの対象であると判断した場合には、当該データが所属しているブロック全体をバッファメモリ27に読み出し(ステップS36)、不揮発性固体メモリ28に対してガベージコレクションを実行し(ステップS37)、ステップS37の工程と並行して、バッファメモリ27に読み出したデータをホスト装置1に転送する(ステップS38)。
【0080】
また、メモリ制御部30は、不揮発性固体メモリ28の使用可能なブロック数を更新し(ステップS39)、全てのデータが読み出されたかどうかを判断する(ステップS40)。メモリ制御部30は、ステップS40の工程において、全てのデータが読み出されていないと判断した場合には、ステップS33の工程に戻る。
【0081】
ここで、データ記録再生装置2の不揮発性固体メモリ28が2つのモジュール(Module1及びModule2)から構成されている場合において、例えば、ホスト装置1から読み出し要求のあったファイルAが、データfb1と、データfb2と、データfb3と、データfb4と、データfb5とによって構成されており、Module1には、データfb1とデータfb4とが書き込まれており、Module2には、データfb2と、データfb3と、データfb5とが書き込まれている場合に、メモリ制御部30によってファイルAを読み出す動作について図16及び図17を参照して説明する。なお、モードは、AVモードが選択されているものとする。また、Module1は、ガベージコレクションを必要とするブロックの数が予め定めた数よりも多いモジュール、すなわち、ガベージコレクションが必要なモジュールであり、Module2は、ガベージコレクションを必要とするブロックの数が予め定めた数よりも少ないモジュール、すなわち、ガベージコレクションが必要でないモジュールである。
【0082】
メモリ制御部30は、Module1とバッファメモリ27を接続し、Module1から読み出したデータfb1及びデータfb4をバッファメモリ27に転送する(図16)。つぎに、メモリ制御部30は、Module2とバッファメモリ27を接続し、Module2から読み出したデータfb2と、データfb3と、データfb5とをバッファメモリ27に転送する(図17)。
【0083】
メモリ制御部30は、バッファメモリ27に書き込まれているデータfb1〜fb5を読み出して、ホスト装置1に転送し、同時に、Module1とページバッファ29を接続し、Module1に対してガベージコレクションを実行する。
【0084】
なお、バッファメモリ27に転送する際のデータ量は、データの転送とガベージコレクションを合わせた時間を確保できるように決めるが、動作の細かい区切り毎、例えば、ページの転送毎に転送量を決めて、バッファメモリ27に転送しても良い。
【0085】
このようにして、本発明に係るデータ記録再生装置2では、ホスト装置1の要求に応じて任意のデータを読み出し、読み出したデータをホスト装置1に転送を行うとともに、並行して不揮発性固体メモリ28に対するガベージコレクションを実行することができる。
【0086】
また、本発明に係るデータ記録再生装置2は、ホスト装置1がデータの読み出しと、データの書き込みとを同時に要求する場合であっても対応することができる。データ記録再生装置2は、個々の不揮発性固体メモリ28の各ブロックのページの状態(未使用、有効、無効)に関する管理を常に行っているので、データの書き込みが要求された場合には、ガベージコレクションが必要な不揮発性固体メモリ28を避け、ガベージコレクションの必要がない他の不揮発性固体メモリ28、或いは記録媒体20のディスクキャッシュ領域にデータの書き込みを行い、また、並行してガベージコレクションが必要な不揮発性固体メモリ28に対してガベージコレクションを実行する。
【0087】
また、データ記録再生装置2は、データの読み出しが要求された場合には、ガベージコレクションに必要な時間を確保できるように、ガベージコレクションの実行対象となっている不揮発性固体メモリ28から予めホスト装置1に転送される可能性があるデータを読み出してバッファメモリ27に転送しておき、その後、当該不揮発性固体メモリ28に対してガベージコレクションを実行し、また、並行してバッファメモリ27に書き込まれているデータをホスト装置1に転送する。
【0088】
このように構成されるデータ記録再生装置2は、所定の容量を有する記録媒体20と、記録媒体20と記憶空間を構成する、所定の容量を有する不揮発性固体メモリ28と、記録媒体20へのアクセスを制御する制御部26と、所定の容量を有するバッファメモリ27と、不揮発性固体メモリ28へのアクセスを制御するメモリ制御部30とを備え、不揮発性固体メモリ28(NAND Flashメモリ)を使用する上で避けることのできないガベージコレクションを、AVモードにおいて、他の不揮発性固体メモリ28又は記録媒体20にデータの書き込みを中断することなく並行して実行することができ、及びホスト装置1へのデータ転送に影響を及ぼすことなく並行して実行することができる。
【0089】
また、データ記録再生装置2は、安定したデータ転送速度をホスト装置1に提供することが可能となるので、例えば、アプリケーション側から見て、動画再生中のこま落ちや、データの録画中における記録ミス等の問題が軽減される。さらに、既存のデータ記録再生装置2によって一般的に実行されているBackground Garbage Collection(データアクセスをしていない時にガベージコレクションを行うこと)の必要性が低下するので、データ記録再生装置2では、データアクセスをしていない時には電源消費が軽減される利点がある。
【0090】
また、本実施例では、記憶装置としてHDDを具体例にして説明を行ったが、ランダムアクセス可能な記憶装置であれば、例えば、CD,DVD等の光ディスクであっても同様の処理が可能である。また、説明ではFATファイルシステムを用いたがデータをファイルとして管理するシステムであればどのようなものでも適用できる。
【図面の簡単な説明】
【0091】
【図1】本発明の実施の形態におけるデータ記録再生装置の構成を示すブロック図である。
【図2】ファイルシステムの説明に供するLBA空間を示す模式図である。
【図3】不揮発性固体メモリのアドレス空間を示す模式図である。
【図4】メモリ制御部の動作(新規データの書き込み)についての説明に供する図である。
【図5】メモリ制御部の動作(データの書き換え)についての説明に供する図である。
【図6】メモリ制御部によるガベージコレクションの動作についての説明に供する第1の図である。
【図7】メモリ制御部によるガベージコレクションの動作についての説明に供する第2の図である。
【図8】メモリ制御部によるガベージコレクションの動作についての説明に供する第3の図である。
【図9】メモリ制御部によるガベージコレクションの動作についての説明に供する第4の図である。
【図10】不揮発性固体メモリと記録媒体との記憶空間についての説明に供する図である。
【図11】本発明に係るデータ記録再生装置によるデータの書き込み動作についての説明に供するフローチャートである。
【図12】データの書き込み動作の際に、データ記録再生装置とホスト装置との間で送受信されるSet Write File Parameterの模式図である。
【図13】不揮発性固体メモリにデータを書き込む際のメモリ制御部の動作についての説明に供する図である。
【図14】データの読み出し動作の際に、データ記録再生装置とホスト装置との間で送受信されるSet Read File Parameterの模式図である。
【図15】本発明に係るデータ記録再生装置によるデータの読み出し動作についての説明に供するフローチャートである。
【図16】不揮発性固体メモリからデータを読み出す際のメモリ制御部の動作についての説明に供する第1の図である。
【図17】不揮発性固体メモリからデータを読み出す際のメモリ制御部の動作についての説明に供する第2の図である。
【符号の説明】
【0092】
1 ホスト装置、2 データ記録再生装置、20 記録媒体、21 ヘッド部、22 ヘッド駆動部、23 記録媒体駆動部、24 サーボ制御部、25 リードライトチャンネル部、26 制御部、27 バッファメモリ、28 不揮発性固体メモリ、29 ページバッファ、30 メモリ制御部、31 演算処理部(CPU)、32 メモリ、33 インターフェース制御部
【技術分野】
【0001】
本発明は、記録媒体と、不揮発性記憶媒体とを備え、共通するファイルシステムに基づき、データの書き込み及び読み出しが行われるデータ記録装置及び方法、及びデータ再生装置及び方法、並びにデータ記録再生装置及び方法に関する。
【背景技術】
【0002】
不揮発性固体メモリには様々のものがあるが、近年注目を集めている大容量記憶装置に用いられているのは、NANDフラッシュメモリである。不揮発性固体メモリは、任意の領域に既にデータが書き込まれている場合において、当該任意の領域に新たなデータを書き込む(プログラムとも呼ばれる)ときには、当該任意の領域に書き込まれているデータを消去する必要がある。この消去動作には、約ms単位の時間がかかる。また、消去する単位は、ブロックと呼ばれ、データにアクセスする単位(ページ)よりも大きい。
【0003】
例えば、Toshiba 1Gbit NAND EEPROM TC58NVG0S3AFT05の不揮発性固体メモリでは、ブロックサイズは、128KB(ECCを除く)であり、ページサイズは、2KB(ECCを除く)である。一のブロックに書き込まれているデータを消去するために要する時間は、約2ms(typical)となっている。なお、消去に要する最大時間は、約4msである。
【0004】
また、このようにして、「データの書き込み」作業の前に、「データの消去」作業による所定の時間を要するため、その時間分ホスト装置は待たされてしまう。
【0005】
そこで、一般的には、既に消去が行われている(すなわち、データの書き込みが直ぐに行える)別な場所に変更後のデータを書き込む、いわゆる追記型によるデータの書き込み処理を行う。そして、記憶装置内に置かれている論理アドレスを物理アドレスに変換するテーブルを変更し、追記したブロックの物理アドレスと論理アドレスを対応させる。また、同時に、データの入っていたブロック内のページを無効とするための処理を行う。また、無効とされたページは、新たなデータの書き込みに使用できないので、記憶装置がアクセスを受けていない時(例えば、アイドル時間)に、有効なデータを他のブロックに移動した後に、ブロック全体の消去を行う、いわゆるガベージコレクションを行い、将来の新たなデータの書き込みに備える。また、任意のファイルが消去され、無効なページがブロック内に発生した場合にも、上述と同様にガベージコレクションを行う。
【0006】
【特許文献1】特開平9−97218号公報
【特許文献2】特開平11−126488号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
ところで、不揮発性固体メモリには、データの書換え回数に制限があるために(104〜105)、各ブロックにおいて書き込みが行われた回数を同じにする必要がある。このために行われる処理をWear Leveling(書換え回数の平均化)という。
【0008】
ここで、追記型の書換え処理を採用しつつ、Wear Levelingによる処理を実現するための手法は、種々提案されている(例えば、引用文献1及び2)。
【0009】
引用文献1では、ガベージコレクションを必要とするブロックの中から、消去回数の少ないものを選んでガベージコレクションを実行し、データの書き込み回数の平均化を実現する方法が示されている。
【0010】
また、引用文献2では、メモリを、データ書き換え用の領域と、ガベージコレクションを実行するための領域の二つに分けることにより、消去回数を直接用いることなく、書込回数の平均化を行う方法が示されている。
【0011】
しかしながら、いずれの方法においても、ホスト装置からアクセスがある間は、ホスト装置を待たせることは許されないため、ガベージコレクションは実行されない。そのため、不揮発性固体メモリに十分な記憶容量がありながらも、無効ページ(データの書き込みができないページ)が多くなってしまった場合には、データの書込途中において、書き込むブロックが足りなくなってしまうことがある。このような場合には、ファイルを消去するか、ガベージコレクションを実行し、データを書き込むことができる領域(ブロック)を作成する必要があり、結果的に、ホスト装置から供給されるデータの転送速度が大きく低下してしまう。
【0012】
そこで、本発明では、このような問題点に鑑みて、データの配置情報を自身で管理できる特性を生かして、ホスト装置からのアクセス中であったとしても、ガベージコレクションを実行し、ホスト装置から供給されるデータの転送速度を一定に保つことができるデータ記録装置及び方法、及びデータ再生装置及び方法、並びにデータ記録再生装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明に係るデータ記録装置は、上述の課題を解決するために、ホスト装置が接続され、ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ記録装置において、第1の物理アドレスが付されている第1のデータ領域を有し、第1のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が必要な不揮発性固体メモリと、第2の物理アドレスが付されている第2のデータ領域を有し、第2のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が不要な記憶媒体と、ホスト装置が接続される接続手段と、ホスト装置から転送されてきたデータを不揮発性固体メモリの任意の領域又は記憶媒体の任意の領域に書き込む書込手段と、第2のデータアクセスモードが選択され、接続手段に接続されているホスト装置からデータが転送されてきた場合、又は書込手段により不揮発性固体メモリ又は記録媒体にデータを書き込んでいる場合に、不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する判断手段と、不揮発性固体メモリに対してガベージコレクションを実行するガベージコレクション実行手段と、判断手段によりガベージコレクションが必要であると判断された場合に、ホスト装置から転送されたデータを記憶媒体の所定の領域に書き込むように書込手段を制御し、不揮発性固体メモリに対してガベージコレクションを実行するようにガベージコレクション実行手段を制御する制御手段とを備える。
【0014】
また、本発明に係るデータ記録方法は、上述の課題を解決するために、ホスト装置が接続され、ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ記録装置のデータ記録方法において、第2のデータアクセスモードが選択され、ホスト装置からデータが転送されてきた場合、又は第1の物理アドレスが付されている第1のデータ領域を有し、第1のデータ領域にデータを書き込んでいる際に、書き込み対象となる領域の消去動作が必要な不揮発性固体メモリにデータを書き込んでいる場合に、不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する判断工程と、判断工程によりガベージコレクションが必要であると判断された場合に、ホスト装置から転送されたデータを、第2の物理アドレスが付されている第2のデータ領域を有し、第2のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が不要な記録媒体の所定の領域に書き込む書込工程と、書込工程によるデータの書き込み動作と並行して、不揮発性固体メモリに対してガベージコレクションを実行するガベージコレクション実行工程を備える。
【0015】
また、本発明に係るデータ再生装置は、上述の課題を解決するために、ホスト装置が接続され、ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ再生装置において、第1の物理アドレスが付されている第1のデータ領域を有し、第1のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が必要な不揮発性固体メモリと、第2の物理アドレスが付されている第2のデータ領域を有し、第2の領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が不要な記憶媒体と、データのバッファリング用に用いられるバッファリングメモリと、ホスト装置が接続される接続手段と、ホスト装置の命令にしたがって、不揮発性固体メモリの任意の領域又は記憶媒体の任意の領域からデータを読み出す読出手段と、第2のデータアクセスモードが選択され、接続手段に接続されているホスト装置からデータの読み出しが命令された場合に、不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する判断手段と、不揮発性固体メモリに対してガベージコレクションを実行するガベージコレクション実行手段と、判断手段によりガベージコレクションが必要であると判断された場合に、不揮発性固体メモリから必要となるデータをバッファリングメモリ上に読み出すように読出手段を制御し、不揮発性固体メモリに対してガベージコレクションを実行するようにガベージコレクション実行手段を制御する制御手段とを備える。
【0016】
また、本発明に係るデータ再生方法は、上述の課題を解決するために、ホスト装置が接続され、ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ再生装置のデータ再生方法において、第2のデータアクセスモードが選択され、ホスト装置からデータの読み出しが命令された場合に、第1の物理アドレスが付されている第1のデータ領域を有し、第1のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が必要な不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する判断工程と、判断工程によりガベージコレクションが必要であると判断された場合に、不揮発性固体メモリから必要となるデータをバッファリングメモリ上に読み出す読出工程と、読出工程によるデータの読み出し動作と並行して、不揮発性固体メモリに対してガベージコレクションを実行するガベージコレクション実行工程を備える。
【0017】
また、本発明に係るデータ記録再生装置は、上述の課題を解決するために、ホスト装置が接続され、ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ記録再生装置において、第1の物理アドレスが付されている第1のデータ領域を有し、第1のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が必要な不揮発性固体メモリと、第2の物理アドレスが付されている第2のデータ領域を有し、第2のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が不要な記憶媒体と、データのバッファリング用に用いられるバッファリングメモリと、ホスト装置が接続される接続手段と、ホスト装置から転送されてきたデータを不揮発性固体メモリの任意の領域又は記憶媒体の任意の領域に書き込む書込手段と、ホスト装置の命令にしたがって、不揮発性固体メモリの任意の領域又は記憶媒体の任意の領域からデータを読み出す読出手段と、第2のデータアクセスモードが選択され、接続手段に接続されているホスト装置からデータが転送されてきた場合、又は書込手段により不揮発性固体メモリ又は記録媒体にデータを書き込んでいる場合に、不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する第1の判断手段と、第2のデータアクセスモードが選択され、接続手段に接続されているホスト装置からデータの読み出しが命令された場合に、不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する第2の判断手段と、不揮発性固体メモリに対してガベージコレクションを実行するガベージコレクション実行手段と、第1の判断手段によりガベージコレクションが必要であると判断された場合に、ホスト装置から転送されたデータを記憶媒体の所定の領域に書き込むように書込手段を制御し、不揮発性固体メモリに対してガベージコレクションを実行するようにガベージコレクション実行手段を制御する第1の制御手段と、第2の判断手段によりガベージコレクションが必要であると判断された場合に、不揮発性固体メモリから必要となるデータをバッファリングメモリ上に読み出すように読出手段を制御し、不揮発性固体メモリに対してガベージコレクションを実行するようにガベージコレクション実行手段を制御する第2の制御手段とを備える。
【0018】
また、本発明に係るデータ記録再生方法は、上述の課題を解決するために、ホスト装置が接続され、ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ記録再生装置のデータ記録再生方法において、第2のデータアクセスモードが選択され、ホスト装置からデータが転送されてきた場合、又は第1の物理アドレスが付されている第1のデータ領域を有し、第1のデータ領域にデータを書き込んでいる際に、書き込み対象となる領域の消去動作が必要な不揮発性固体メモリにデータを書き込んでいる場合に、不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する第1の判断工程と、第1の判断工程によりガベージコレクションが必要であると判断された場合に、ホスト装置から転送されたデータを、第2の物理アドレスが付されている第2のデータ領域を有し、第2のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が不要な記録媒体の所定の領域に書き込む書込工程と、書込工程によるデータの書き込み動作と並行して、不揮発性固体メモリに対してガベージコレクションを実行する第1のガベージコレクション実行工程と、第2のデータアクセスモードが選択され、ホスト装置からデータの読み出しが命令された場合に、不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する第2の判断工程と、第2の判断工程によりガベージコレクションが必要であると判断された場合に、不揮発性固体メモリから必要となるデータをバッファリングメモリ上に読み出す読出工程と、読出工程によるデータの読み出し動作と並行して、不揮発性固体メモリに対してガベージコレクションを実行する第2のガベージコレクション実行工程を備える。
【発明の効果】
【0019】
本発明では、不揮発性固体メモリを使用する上で避けることのできないガベージコレクションを、所定のモードにおいて、他の不揮発性固体メモリ又は記録媒体にデータの書き込みを中断することなく並行して実行することができ、又はホスト装置へのデータ転送に影響を及ぼすことなく並行して実行することができる。
【発明を実施するための最良の形態】
【0020】
本発明は、データの書き込み対象となる領域に対して、既にデータが書き込まれている場合に、当該領域に対して消去動作が必要な不揮発性固体メモリと、他の記録媒体とにより構成されるデータ記録再生装置において、不揮発性固体メモリ及び他の記録媒体へのアクセスに必要なアドレス情報の制御を行う機能を持ち、不揮発性固体メモリのフラグメンテーションを解消するためのガベージコレクションを効率的に実行するデータ記録再生装置に係るものである。
【0021】
また、以下の実施例では、他の記録媒体としてHDD(Hard Disk Drive)を用いるものとし、HDDと不揮発性固体メモリとを組み合わせたものをハイブリッド記憶装置と呼ぶ。また、不揮発性固体メモリは、既にデータが書き込まれているエリア(ページ)に対してデータを書き込む場合には、当該ページを含むブロックに対して消去動作を必要とするNANDフラッシュメモリを想定している。また、ファイルシステムは、MS−DOS互換FATファイルシステムを使用するものとして説明するが、データをファイルとして管理するシステムであればMS−DOS互換FATファイルシステムに限らずどのようなシステムでも適用することができる。
【0022】
<データ記録再生装置の構成>
図1は、PC又はAV機器等のホスト装置1と、データ記録再生装置2とが、IDE(Integrated Drive Electronics)、SCSI(Small Computer System Interface)、FC(Fibre Channel)、USB(Universal Serial Bus)等のインターフェースケーブル3を介して接続されて構成されたときの状態を示す図である。
【0023】
データ記録再生装置2は、図1に示すように、記録媒体20にデータを書き込み、書き込まれているデータを読み出すヘッド部21と、記録媒体20にアクセスする際にヘッド部21を駆動するヘッド駆動部22と、記録媒体20を所定方向に所定の回転数で駆動する記録媒体駆動部23と、ヘッド駆動部22と記録媒体駆動部23を制御するサーボ制御部24と、ヘッド部21に接続されており、供給されるデータに対して所定の処理を行うリードライトチャンネル部25と、サーボ制御部24とリードライトチャンネル部25とを制御する制御部26と、一時的にデータがバッファリングされるバッファメモリ27と、所定の容量を有する不揮発性固体メモリ28と、所定の容量を有するページバッファ29と、データの書き込み及び読み出しを行うために不揮発性固体メモリ28にアクセスする際にバッファメモリ29と不揮発性固体メモリ28とページバッファ29とを制御するメモリ制御部30と、所定の演算を行い、データ記録再生装置2の各部に必要なコマンド及びパラメータを設定して動作させる演算処理部(CPU)31と、CPU31による演算等に用いられるメモリ32と、ホスト装置1とデータ及び制御情報等の送受信を行うインターフェース制御部33とを備える。また、データ記録再生装置2は、ホスト装置1の制御にしたがってデータのアクセスが行われる第1のデータアクセスモード(PCモード)と、データ記録再生装置2自身の制御によってデータのアクセスを行う第2のデータアクセスモード(AVモード)とを有する。
【0024】
<ファイルシステムについて>
ここで、本発明に係るデータ記録再生装置2で採用するファイルシステムについて図2を参照して説明する。なお、以下では、記録媒体20をHDDと呼ぶ。
【0025】
HDDにおいてデータを記録する最小の単位は、セクタで(通常、512byte)である。ホスト装置1は、論理ブロックアドレス(LBA)を用いてHDDにアクセスを行う。既に説明したように、不揮発性固体メモリ28の最小単位はページであり、このページのサイズは、セクタのサイズとは必ずしも一致するわけではないが、セクタの整数倍で構成されている。したがって、論理ページ番号と論理アドレスを容易に関係付けることが可能である。したがって、ホスト装置1は、データ記録再生装置2に対してHDDと同様に不揮発性固体メモリ28に対しても論理ブロックアドレス(LBA)を用いてアクセスを行うことが可能である。
【0026】
また、ファイルを管理するファイルシステムでは、複数のセクタ(N個)を1クラスタとし、このクラスタをデータの読み書きの際の最小単位としている。また、FAT(File Allocation Table)は、一つのファイルがクラスタにどのように格納されているかを記録してあるテーブルである。このFATを用いて管理を行うファイルシステムのことをFATファイルシステムと呼ぶ。以後、クラスタアドレスは、LBAを単純にNで割ったものとし、本実施例における説明では、N=16とする(1クラスタ=8KByte)。
【0027】
また、FATファイルシステムボリュームは、3つの領域(予約領域A、FAT領域B、ファイルとディレクトリデータ領域C)から構成されている。なお、本実施例では、パーティションは、1つの場合しか想定しないのでボリュームとパーティションは同一のもとなっている。
【0028】
また、図2では、ディレクトリ項目Dにファイル名やその開始クラスタ番号が格納されている。ホスト装置1は、ディレクトリ項目Dの中身を読み出して、開始クラスタ番号を知り(図2では「12340h」)、それに対応するFAT項目(FAT Entry)を参照して、ファイルの次のクラスタがクラスタ番号「12341h」にあることを知る。ホスト装置1は、順次、続くクラスタ番号を求め、最後に「1237Fh」の中身が「EOF(End of File)」であるところまで配置情報を読み出す。そして、ホスト装置1は、読み出した配置情報に基づいてファイルにアクセスを行う。このようなアクセス方法をPCモードと呼ぶ。
【0029】
記録媒体20は、前述したFAT(File Allocation Table)ファイルシステムによって管理されており、少なくとも所定のデータサイズ(クラスタ)ごとにアドレス(以下、物理アドレスという。)が付されてなるユーザデータエリアからなるHD(ハードディスク)等のディスク状記録媒体により構成されている。なお、データ記録再生装置2では、記録媒体20の代わりに所定の容量を有する不揮発性メモリを用いて構成されても良い。ただし、不揮発性メモリは、不揮発性固体メモリ28とは異なり、データを書き込む際に、対象となるエリア(ページ)に書き込まれているデータの消去動作が不要なメモリであり、例えば、MRAM、FeRAM、nVSRAM等である。
【0030】
ヘッド部21は、記録媒体20がHD等の磁気記録媒体である場合には、外部磁界の大きさや向きにより抵抗値が変化する、いわゆる磁気抵抗効果を利用し、記録媒体20からの信号磁界を検出するための感磁素子を有する磁気ヘッドにより構成される。
【0031】
ヘッド駆動部22は、サーボ制御部24の制御に応じて、ヘッド部21の動作を制御する。
【0032】
記録媒体制御部23は、サーボ制御部24の制御に応じて、記録媒体20を所定の回転数で回転するように制御する。
【0033】
サーボ制御部24は、記録媒体20を所定方向に所定速度で回転駆動させるように記録媒体駆動部23を制御し、また、記録媒体20上の所定の場所にアクセスするためにヘッド部21の駆動を制御する。
【0034】
リードライトチャンネル部25は、データの書き込み動作時に、供給されたデータを符号化(変調)し、記録再生系の特性に適したデジタルビット系列に変換した後、変換後のデータをヘッド部21に供給する。また、リードライトチャンネル部25は、データの読み出し動作時に、ヘッド部21から供給された再生信号から高域ノイズを除去した後でアナログデジタル変換器(ADC、Analog Digital Converter)によりデジタル化し、最尤復号法等を用いて所定の処理を行った後、復調を行う。
【0035】
制御部26は、バッファメモリ27、不揮発性固体メモリ28、リードライトチャンネル部25、インターフェース制御部33それぞれの間のデータのやり取りを管理し、データのフォーマットにかかわる処理を行う。また、制御部26は、当該処理を行う際に、誤り訂正符号による符号化と、誤り検出及び誤り訂正にかかわる処理も併せて行う。
【0036】
また、ホスト装置1から書き込まれたデータは、記録媒体20、あるいは不揮発性固体メモリ28に格納される。バッファメモリ27は、その際、あるいはデータの読み出し時に、一時的にデータの格納(バッファリング)が行われ、転送速度の違いや起動に伴う遅延などによる性能の低下を抑えるために用いられる。また、通常、バッファメモリ27は、コストのことを考慮してDRAMあるいはSRAMで構成される。
【0037】
不揮発性固体メモリ28は、例えば、FATファイルシステムが採用されるNAND型FLASHメモリカード(Memory Stick、Compact Flash、SD Card等)であり、所定のデータサイズ(ページ)ごとに、所定のアドレス(以下、論理ページ番号という。)が付されてなるデータエリアを有する。また、不揮発性固体メモリ28は、データを書き込む際に、対象となるページに書き込まれているデータの消去動作が必要なメモリである。
【0038】
また、不揮発性固体メモリ28と記録媒体20とは、後述するように、一部重複エリア(オーバーラップエリア)を有しつつ、同一のアドレス空間(論理ブロックアドレス(LBA))上に配置されている。制御部26は、そのアドレスを用いて、不揮発性固体メモリ28と記録媒体20に対してデータの読み書きの動作を行う。なお、図1に示されているメモリ制御部30と、バッファメモリ27と、不揮発性固体メモリ28とを連結するバスの構成は、一例であり、メモリとのインターフェースに基づいて適宜変更されるものである。
【0039】
また、ページバッファ29は、不揮発性固体メモリ28と、メモリ制御部30の間に配置され、バッファメモリ27と不揮発性固体メモリ28との間で行われるページ単位での転送を効率的に処理するために用いられる。また、ページバッファ29は、バッファメモリ29を経由しないで、不揮発性固体メモリ28内のデータを不揮発性固体メモリ28の他の場所にコピーする際にも使用される。なお、データ記録再生装置2は、ページバッファ29を具有していない構成であっても良いが、詳細は後述するが、効率的なガベージコレクションを実行するために具有している方が好ましい。
【0040】
メモリ制御部30は、AVモードが選択されているときに、ホスト装置1から供給されるデータを記録媒体20又は不揮発性固体メモリ28に書き込む場合、又は記録媒体20又は不揮発性固体メモリ28に書き込まれているデータをホスト装置1へ送信する場合に、不揮発性固体メモリ28に対してガベージコレクションが必要かどうかの判断を行い、必要な場合にはガベージコレクションを行う。
【0041】
ここで、メモリ制御部30の動作について説明する。また、不揮発性固体メモリ28は、1GBitのフラッシュメモリ(Block Size=128KB、Page Size=2KB)であり、ブロックが1024個あり、ページが全部で65536ページで構成されているものとする。また、物理ページ番号は、図3に示すように、上位10bit(「0x000」から「0x3FF」)でブロックを示し、下位6bit(「0x00」から「0x3F」)でブロック内のオフセットを示す。なお、ここでの「x」は、16進法を表すものとする。また、NANDフラッシュメモリでは、不良ブロックを交替しなければならないので、一部のブロックをその用途に残しておかなければならない。図3では、ブロック番号「0x3F0」から「0x3FF」の16個のブロックをそれにあてている。そのため、論理ページ番号は、上位10bit(「0x000」から「0x3EF」)でブロックを示し、下位6bit(「0x00」から「0x3F」)でブロック内のオフセットを示している。
【0042】
また、不揮発性固体メモリ28では、できるだけ均等に各ブロックを消去し、また、できるだけ均等に各ページにデータを書き込むために、所定の追記型処理(Wear Leveling)を行っている。データ記録再生装置2では、この追記型処理を行うために、論理ページ番号に対応する物理ページ番号が記録されるテーブル1と、ブロック番号との対応におけるページの状態を示すフラグ(未使用を「0」で示し、有効を「1」で示し、無効を「2」で示す)が記録されるテーブル2とを利用する。したがって、メモリ制御部30は、テーブル2を参照することにより、データの書換えが行われ、現在、無効となっているページを知ることができる。また、データ記録再生装置2は、次のデータの書き込みの際に使用されるページを示す「ポインタ」を導入する。
【0043】
<ホスト装置の構成>
また、ホスト装置1は、インターフェース3を介してデータ記録再生装置2とデータの送受信を行うインターフェース制御部40と、所定の演算処理を行うCPU41と、CPU41による演算等に用いられるメモリ42とを備える。ホスト装置1は、例えば、データ記録再生装置2の長所を生かして効率良く記録再生処理を行うビデオカメラ、デジタルカメラ、音楽プレイヤー等のアプリケーション機器である。
【0044】
CPU42は、電源起動時、所定の処理手順の実行により、ディスク20のシステム領域に記録されてなる管理用データであるブート領域、FAT領域、ディレクトリ領域に格納されている各データをメモリ42にアップロードし、このアップロードしたデータを基準にしたパラメータの設定により種々のコマンドをデータ記録再生装置2に対して送信する。
【0045】
<新規データの書き込み>
ここで、新規データの書き込みについて図4を参照して説明する。図4は、論理ページ番号「0x001_00」に書き込みを行った場合の例である。図4(A−1)、(A−2)は、不揮発性固体メモリ28の論理ページ番号と物理ページ番号の対応関係を示すテーブル1であり、図4(B−1)、(B−2)は、ブロック番号とフラグの対応関係を示すテーブル2であり、図4(C−1)、(C−2)は、ポインタである。なお、図中の「x」は、(0,1,2)のいずれかの値をとるという意味である。
【0046】
メモリ制御部30は、ポインタが「0x002_01」を示しているので(図4(C−1))、そこにデータの書き込みを行う。次に、メモリ制御部30は、テーブル1の「0x001_00」に対応する物理ページ番号に、「0x002_01」を入れる(図4(A−2))。また、メモリ制御部30は、同時にテーブル2で物理ページ番号「0x002_01」に対応するフラグを有効、すなわちフラグを「0」から「1」へ変更する(図4(B−2))。また、メモリ制御部30は、ポインタをインクリメントし、「0x002_02」にセットする(図4(C−2))。
【0047】
<データの書き換え>
つぎに、データの書換えを行う場合について図5を参照して説明する。なお、図5では、論理アドレス番号「0x001_01」に書かれていたデータの書き換えを行ったものである。メモリ制御部30は、ポインタが「0x003_02」を示しているので(図5(C−1))、そこに書き込みを行う。次に、メモリ制御部30は、テーブル1の「0x001_03」に対応する物理ページ番号を「0x002_03」から「0x003_02」に変更し(図5(A−2))、同時にテーブル2で物理ページ番号「0x002_03」に対応するフラグを無効、すなわち、フラグを「1」から「2」へ変更し、書き込みを行った物理ページ番号「0x003_02」に対応するフラグを有効、すなわち、フラグを「0」から「1」へ変更する(図5(B−2))。また、メモリ制御部30は、ポインタを一つインクリメントし、「0x003_03」にセットする(図5(C−2))。
【0048】
このようにして、データの書き込みを継続してゆくと、無効なページが次第に増加し、最終的には使用できるページがなくなってしまう。そこで、メモリ制御部30は、有効なデータを他のブロックに移動して、1つのブロック内の全ページを無効化した後に、消去を行い使用可能な領域を増やす処理、いわゆるガベージコレクションを行う。ここで、ガベージコレクションについて、図6及び図7を用いて説明する。なお、図6及び図7では、説明上便宜的に、1ブロックに4個のページがあるものとする。
【0049】
<ガベージコレクションについて>
メモリ制御部30は、図6に示すように、データを論理ページ「0x000_1」から「0x002_1」まで書き込み(図6(A−1))、その後、論理ページ「0x000_0」と「0x000_1」を書き直し、さらに論理ページ「0x001_2」と「0x002_3」を消去することにより、ガベージコレクションを実行する。テーブル2から分かるように、ブロック1とブロック2に無効なページがあり、それらがガベージコレクションの対象となる(図6(B−2))。
【0050】
また、メモリ制御部30は、図6(A−2)、(B−2)、(C−2)に示す状態から、ブロック番号「0x000」、「0x001」の順番でガベージコレクションを実行する(図7乃至図9)。なお、図6(A−2)、(B−2)、(C−2)と、図7(A−2)、(B−2)、(C−2)は、同一のものである。
【0051】
メモリ制御部30は、ブロック番号「0x000」の有効な二つのページ(フラグが「1」を示している)をポインタが与える物理ページ番号「0x003_0」と「0x003_1」にコピーしてテーブル1とテーブル2を適宜更新し、ポインタを「0x003_2」にセットする(ステップS1)(図7(A−3)、(B−3)、(C−3))。その後、メモリ制御部30は、ブロック内の全てのページが無効となっているブロック番号「0x000」の消去を行い、テーブル2を更新する(ステップS2)(図8(A−4)、(B−4)、(C−4))。つぎに、ブロック番号「0x001」内の有効な二つのページ(フラグが「1」を示している)をポインタが与える物理ページ番号「0x003_2」と「0x003_3」にコピーして、テーブル1とテーブル2を適宜更新し、ポインタを「0x004_0」にセットする(ステップS3)(図8(A−5)、(B−5)、(C−5))。その後、メモリ制御部30は、ブロック内の全てのページが無効となっているブロック番号「0x001」の消去を行い、テーブル2を更新する(ステップS4)(図9(A−6)、(B−6)、(C−6))。したがって、ステップS1〜ステップS4により、ブロック番号「0x000」及びブロック番号「0x001」に属するページに新たなデータを書き込むことができるようになる。
【0052】
<不揮発性固体メモリ28と記録媒体20の記憶空間>
ここで、図10を用いて、データ記録再生装置2内部において不揮発性固体メモリ28と記録媒体20の記憶空間がどのように配置されるかを説明する。
【0053】
データ記録再生装置2との記憶空間は、図10に示すように、データ記録再生装置2用のシステム領域Eと、ディスクキャッシュ領域Fと、ユーザ領域G1と、ユーザ領域G2と、ユーザ領域G3とから構成されている。また、ユーザ領域G1〜G3は、ホスト装置1から見たLBA空間に割り当てられている。
【0054】
システム領域Eは、不揮発性固体メモリ28で構成され、CPU31がブートコードや各種テーブルを格納するため、あるいは二次欠陥の代替処理用の領域として使用するものである。
【0055】
ディスクキャッシュ領域Fは、記録媒体20で構成され、一時的にデータを格納する目的に使用される。図10に示す例では、ディスクキャッシュ領域Fの容量は、128MByteである。ホスト装置1は、ディスクキャッシュ領域Fに対して直接的にアドレスを指定して書き込みを行うことはできない。
【0056】
ユーザ領域G1は、不揮発性固体メモリ28で構成され、記録媒体20を用いて一部あるいは全部がバックアップされる。ユーザ領域G1は、MBR(Master Boot Record)とPBR(Partition Boot Record)を含む予約領域と、FAT(File Allocation Table)領域を含む。なお、MBRは、ホスト装置1から見てLBA「0」のセクタであり、ブートストラップ・コードやパーティション・テーブルが記録されている。
【0057】
ユーザ領域G2は、記録媒体20で構成され、ファイルの情報を管理するディレクトリ項目Dと、実際のデータが入る。なお、FAT32以前では、ルートディレクトリだけは別な領域として分けられていた。また、ディレクトリ項目Dには、各ディレクトリ(各ファイル)に関して、ファイル名、拡張子、属性、最新更新時間、開始クラスタ番号、ファイルサイズの各情報が格納されている。
【0058】
ユーザ領域G3は、不揮発性固体メモリ28で構成され、記録媒体20を用いて一部あるいは全部がバックアップされる。また、ユーザ領域G3は、ホスト装置1からは通常、データの書き込みができないように設定されていて、特別なモード(AVモード)が選択された時にのみ、データ記録再生装置2自身の管理の元で、データの書き込み可能となる領域である。
【0059】
また、図10では、不揮発性固体メモリ28は、2つのモジュール(Module1及びModule2)から構成されているものとしている。すなわち、論理ページ番号「00000h」から「0ffffh」のページはModule1に属し、また、論理ページ番号「10000h」から「1ffffh」のページはModule2に属する。なお、Module1とModule2は、それぞれ独立にProgram(ページ単位の書き込み動作)と消去動作を行うことができる。
【0060】
ここで、データ記録再生装置2において、データの書き込み及び読み出しが実行されている間に、そのデータ転送に影響を与えることなくガベージコレクションを実行する方法について、図11及び図15のフローチャートを参照して説明する。まず、データの書き込みの場合について説明する。
【0061】
<データの書き込み時におけるガベージコレクションについて>
AVモードにおいて、データの書き込み動作を行う場合には、ホスト装置1は、図12(A)に示すコマンド(Set Write File Parameter)をデータ記録再生装置2に対して発行し、データ記録再生装置2からファイルの記録開始クラスタ番号を受け取る。なお、データ記録再生装置2は、ホスト装置1に対して図12(B)に示すコマンド(Set Write File Parameter)を返信する。
【0062】
制御部26は、図11に示すように、ホスト装置1から供給されたコマンド内のパラメータMPが「1」であるかどうかを確認する(ステップS11)。制御部26は、パラメータMPが「1」でない場合には、ホスト装置1から供給されるデータを記録媒体20に書き込むようにサーボ制御部24及びリードライトチャンネル部25を制御する(ステップS12)。なお、パラメータMPが「1」に設定されている場合には、ホスト装置1から供給されるデータは、ユーザ領域G3(不揮発性固体メモリ28)に書き込まれる。
【0063】
メモリ制御部30は、ユーザ領域G3に空き容量があるかどうかを判断する(ステップS13)。空き容量がない場合には、その旨(abort)をホスト装置1に通知する(ステップS14)。
【0064】
メモリ制御部30は、ユーザ領域G3に空き領域があると判断した場合には、ホスト装置1にファイルの記録開始クラスタ番号を送信する(ステップS15)。
【0065】
つぎに、メモリ制御部30は、不揮発性固体メモリ28にガベージコレクションが必要かどうかを確認する(ステップS16)。メモリ制御部30は、ステップS16の工程において、ガベージコレクションが必要であると判断した場合、すなわち、全ての不揮発性固体メモリ28において、ガベージコレクションを必要とするブロックの数が予め定めた数よりも多いとき、又はガベージコレクションを必要とするブロックの数が予め定めた数より多いメモリを、書換え回数の平均化等の理由で使用しなければならないときには、書き込みを行う不揮発性メモリに対してガベージコレクションを実行する(ステップS17)。
【0066】
また、メモリ制御部30は、ステップS16の工程において、ガベージコレクションが必要でないと判断した場合、すなわち、不揮発性固体メモリ28の一部でガベージコレクションを必要とするブロックの数が予め定めた数より多い場合には、それらを避けてデータの書き込みを行う(ステップS18)。
【0067】
また、制御部26は、ガベージコレクションが実行されているときには、ホスト装置1から供給されるデータを一時的に記録媒体20のディスクキャッシュ領域に書き込む(ステップS19)。また、制御部26は、ファイルの記録開始クラスタ番号と、使用されるディスクキャッシュ領域のアドレスとの対応を与える対応表(ポインタ)を作成する(ステップS20)。なお、データ記録再生装置2は、複数個の不揮発性固体メモリ28で構成されていても良い。このように構成される場合には、ホスト装置1から供給されるデータは、ガベージコレクションが必要でない他の不揮発性固体メモリ28、すなわち、ガベージコレクションを必要とするブロックの数が予め定めた数より多い不揮発性固体メモリ28に対して記録される。
【0068】
また、メモリ制御部30は、ガベージコレクションが完了した後、ステップS20の工程において生成された対応表に基づいて、ホスト装置1の許可を受けた後、あるいは自律的に、記録媒体20のディスクキャッシュ領域に書き込まれたデータを、不揮発性固体メモリ28に書き戻し、アドレス情報もそれにあわせて更新する工程を有する。
【0069】
メモリ制御部30は、不揮発性固体メモリ28の使用可能なブロック数を更新し(ステップS21)、全てのデータが書き込まれたかどうかを判断する(ステップS22)。メモリ制御部30は、ステップS22の工程において、全てのデータが書き込まれていないと判断した場合には、ステップS16の工程に戻る。
【0070】
ここで、データ記録再生装置2の不揮発性固体メモリ28が2つのモジュール(Module1及びModule2)から構成されている場合において、例えば、Module1は、ガベージコレクションを必要とするブロックの数が予め定めた数よりも多いモジュール、すなわち、ガベージコレクションが必要なモジュールであり、Module2は、ガベージコレクションを必要とするブロックの数が予め定めた数よりも少ないモジュール、すなわち、ガベージコレクションが必要でないモジュールであるときに、不揮発性固体メモリ28にデータを書き込む際のメモリ制御部30の動作について図13を参照して説明する。
【0071】
メモリ制御部30は、Module1及びModule2に対して、ガベージコレクションが必要かどうかを判断し、Module1にガベージコレクションが必要であり、Module2にはガベージコレクションが不要であることを認識する。メモリ制御部30は、Module1とページバッファ29とを接続して、Module1に対してガベージコレクションを実行する。また、メモリ制御部30は、Module2とバッファメモリ27を接続して、Module2に対してデータの書き込みを行う。
【0072】
このようにして、本発明に係るデータ記録再生装置2では、ガベージコレクションの実行中に、ホスト装置1から供給されるデータを他の記録領域に書き込むことができるので、ガベージコレクションの実行中であってもホスト装置1からのデータ転送を止めることがなく、また、不揮発性固体メモリ28に十分な記憶容量がありながらも、無効ページ(データの書き込みができないページ)が多くなり、データの書き込み途中において、書き込むブロックが足りなくなってしまう現象を回避することができる。
【0073】
<データの読み出し時におけるガベージコレクションについて>
つぎに、AVモードにおいて、データの読み出し動作を行う場合には、ホスト装置1は、図14(A)に示すコマンド(Set Read File Parameter)をデータ記録再生装置2に対して発行し、データ記録再生装置2に読み出すファイルの開始クラスタアドレスを通知する。なお、データ記録再生装置2は、ホスト装置1に対して図14(B)に示すコマンド(Set Read File Parameter)を返信する。
【0074】
制御部26は、図15に示すように、ホスト装置1から供給されたコマンドに基づいて、読み出すファイルの開始クラスタアドレスを認識し、ユーザ領域G3へのアクセスを要求するものかどうかを判断する(ステップS31)。
【0075】
制御部26は、ステップS31の工程において、ユーザ領域G3へのアクセスを要求するものでないと判断した場合には、ユーザ領域G2(記録媒体20)からデータの読み出しを行い、読み出したデータをホスト装置1に転送する(ステップS32)。
【0076】
また、メモリ制御部30は、ステップS31の工程において、ユーザ領域G3へのアクセスを要求するものであると判断した場合には、不揮発性固体メモリ28にガベージコレクションが必要であるかどうかを確認する(ステップS33)。なお、ステップS33の工程では、データ記録再生装置2に不揮発性固体メモリ28が複数個搭載されている場合には、各不揮発性固体メモリ28に対して、ガベージコレクションを必要とするブロックの数が設定値以上かどうかを確認する。
【0077】
メモリ制御部30は、ステップS33の工程において、ガベージコレクションが不要であると判断した場合には、ユーザ領域G3からデータを読み出し、ホスト装置1へ転送する(ステップS34)。
【0078】
また、メモリ制御部30は、ステップS33の工程において、ガベージコレクションが必要であると判断した場合には、ガベージコレクションの対象となっている不揮発性固体メモリ28に、読み出しの対象となっているデータが書き込まれているかどうかを判断する(ステップS35)。
【0079】
メモリ制御部30は、ステップS35において、読み出しの対象となっているデータが書き込まれている不揮発性固体メモリ28がガベージコレクションの対象であると判断した場合には、当該データが所属しているブロック全体をバッファメモリ27に読み出し(ステップS36)、不揮発性固体メモリ28に対してガベージコレクションを実行し(ステップS37)、ステップS37の工程と並行して、バッファメモリ27に読み出したデータをホスト装置1に転送する(ステップS38)。
【0080】
また、メモリ制御部30は、不揮発性固体メモリ28の使用可能なブロック数を更新し(ステップS39)、全てのデータが読み出されたかどうかを判断する(ステップS40)。メモリ制御部30は、ステップS40の工程において、全てのデータが読み出されていないと判断した場合には、ステップS33の工程に戻る。
【0081】
ここで、データ記録再生装置2の不揮発性固体メモリ28が2つのモジュール(Module1及びModule2)から構成されている場合において、例えば、ホスト装置1から読み出し要求のあったファイルAが、データfb1と、データfb2と、データfb3と、データfb4と、データfb5とによって構成されており、Module1には、データfb1とデータfb4とが書き込まれており、Module2には、データfb2と、データfb3と、データfb5とが書き込まれている場合に、メモリ制御部30によってファイルAを読み出す動作について図16及び図17を参照して説明する。なお、モードは、AVモードが選択されているものとする。また、Module1は、ガベージコレクションを必要とするブロックの数が予め定めた数よりも多いモジュール、すなわち、ガベージコレクションが必要なモジュールであり、Module2は、ガベージコレクションを必要とするブロックの数が予め定めた数よりも少ないモジュール、すなわち、ガベージコレクションが必要でないモジュールである。
【0082】
メモリ制御部30は、Module1とバッファメモリ27を接続し、Module1から読み出したデータfb1及びデータfb4をバッファメモリ27に転送する(図16)。つぎに、メモリ制御部30は、Module2とバッファメモリ27を接続し、Module2から読み出したデータfb2と、データfb3と、データfb5とをバッファメモリ27に転送する(図17)。
【0083】
メモリ制御部30は、バッファメモリ27に書き込まれているデータfb1〜fb5を読み出して、ホスト装置1に転送し、同時に、Module1とページバッファ29を接続し、Module1に対してガベージコレクションを実行する。
【0084】
なお、バッファメモリ27に転送する際のデータ量は、データの転送とガベージコレクションを合わせた時間を確保できるように決めるが、動作の細かい区切り毎、例えば、ページの転送毎に転送量を決めて、バッファメモリ27に転送しても良い。
【0085】
このようにして、本発明に係るデータ記録再生装置2では、ホスト装置1の要求に応じて任意のデータを読み出し、読み出したデータをホスト装置1に転送を行うとともに、並行して不揮発性固体メモリ28に対するガベージコレクションを実行することができる。
【0086】
また、本発明に係るデータ記録再生装置2は、ホスト装置1がデータの読み出しと、データの書き込みとを同時に要求する場合であっても対応することができる。データ記録再生装置2は、個々の不揮発性固体メモリ28の各ブロックのページの状態(未使用、有効、無効)に関する管理を常に行っているので、データの書き込みが要求された場合には、ガベージコレクションが必要な不揮発性固体メモリ28を避け、ガベージコレクションの必要がない他の不揮発性固体メモリ28、或いは記録媒体20のディスクキャッシュ領域にデータの書き込みを行い、また、並行してガベージコレクションが必要な不揮発性固体メモリ28に対してガベージコレクションを実行する。
【0087】
また、データ記録再生装置2は、データの読み出しが要求された場合には、ガベージコレクションに必要な時間を確保できるように、ガベージコレクションの実行対象となっている不揮発性固体メモリ28から予めホスト装置1に転送される可能性があるデータを読み出してバッファメモリ27に転送しておき、その後、当該不揮発性固体メモリ28に対してガベージコレクションを実行し、また、並行してバッファメモリ27に書き込まれているデータをホスト装置1に転送する。
【0088】
このように構成されるデータ記録再生装置2は、所定の容量を有する記録媒体20と、記録媒体20と記憶空間を構成する、所定の容量を有する不揮発性固体メモリ28と、記録媒体20へのアクセスを制御する制御部26と、所定の容量を有するバッファメモリ27と、不揮発性固体メモリ28へのアクセスを制御するメモリ制御部30とを備え、不揮発性固体メモリ28(NAND Flashメモリ)を使用する上で避けることのできないガベージコレクションを、AVモードにおいて、他の不揮発性固体メモリ28又は記録媒体20にデータの書き込みを中断することなく並行して実行することができ、及びホスト装置1へのデータ転送に影響を及ぼすことなく並行して実行することができる。
【0089】
また、データ記録再生装置2は、安定したデータ転送速度をホスト装置1に提供することが可能となるので、例えば、アプリケーション側から見て、動画再生中のこま落ちや、データの録画中における記録ミス等の問題が軽減される。さらに、既存のデータ記録再生装置2によって一般的に実行されているBackground Garbage Collection(データアクセスをしていない時にガベージコレクションを行うこと)の必要性が低下するので、データ記録再生装置2では、データアクセスをしていない時には電源消費が軽減される利点がある。
【0090】
また、本実施例では、記憶装置としてHDDを具体例にして説明を行ったが、ランダムアクセス可能な記憶装置であれば、例えば、CD,DVD等の光ディスクであっても同様の処理が可能である。また、説明ではFATファイルシステムを用いたがデータをファイルとして管理するシステムであればどのようなものでも適用できる。
【図面の簡単な説明】
【0091】
【図1】本発明の実施の形態におけるデータ記録再生装置の構成を示すブロック図である。
【図2】ファイルシステムの説明に供するLBA空間を示す模式図である。
【図3】不揮発性固体メモリのアドレス空間を示す模式図である。
【図4】メモリ制御部の動作(新規データの書き込み)についての説明に供する図である。
【図5】メモリ制御部の動作(データの書き換え)についての説明に供する図である。
【図6】メモリ制御部によるガベージコレクションの動作についての説明に供する第1の図である。
【図7】メモリ制御部によるガベージコレクションの動作についての説明に供する第2の図である。
【図8】メモリ制御部によるガベージコレクションの動作についての説明に供する第3の図である。
【図9】メモリ制御部によるガベージコレクションの動作についての説明に供する第4の図である。
【図10】不揮発性固体メモリと記録媒体との記憶空間についての説明に供する図である。
【図11】本発明に係るデータ記録再生装置によるデータの書き込み動作についての説明に供するフローチャートである。
【図12】データの書き込み動作の際に、データ記録再生装置とホスト装置との間で送受信されるSet Write File Parameterの模式図である。
【図13】不揮発性固体メモリにデータを書き込む際のメモリ制御部の動作についての説明に供する図である。
【図14】データの読み出し動作の際に、データ記録再生装置とホスト装置との間で送受信されるSet Read File Parameterの模式図である。
【図15】本発明に係るデータ記録再生装置によるデータの読み出し動作についての説明に供するフローチャートである。
【図16】不揮発性固体メモリからデータを読み出す際のメモリ制御部の動作についての説明に供する第1の図である。
【図17】不揮発性固体メモリからデータを読み出す際のメモリ制御部の動作についての説明に供する第2の図である。
【符号の説明】
【0092】
1 ホスト装置、2 データ記録再生装置、20 記録媒体、21 ヘッド部、22 ヘッド駆動部、23 記録媒体駆動部、24 サーボ制御部、25 リードライトチャンネル部、26 制御部、27 バッファメモリ、28 不揮発性固体メモリ、29 ページバッファ、30 メモリ制御部、31 演算処理部(CPU)、32 メモリ、33 インターフェース制御部
【特許請求の範囲】
【請求項1】
ホスト装置が接続され、上記ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ記録装置において、
第1の物理アドレスが付されている第1のデータ領域を有し、上記第1のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が必要な不揮発性固体メモリと、
第2の物理アドレスが付されている第2のデータ領域を有し、上記第2のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が不要な記憶媒体と、
上記ホスト装置が接続される接続手段と、
上記ホスト装置から転送されてきたデータを上記不揮発性固体メモリの任意の領域又は上記記憶媒体の任意の領域に書き込む書込手段と、
上記第2のデータアクセスモードが選択され、上記接続手段に接続されている上記ホスト装置からデータが転送されてきた場合、又は上記書込手段により上記不揮発性固体メモリ又は上記記録媒体にデータを書き込んでいる場合に、上記不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する判断手段と、
上記不揮発性固体メモリに対してガベージコレクションを実行するガベージコレクション実行手段と、
上記判断手段によりガベージコレクションが必要であると判断された場合に、上記ホスト装置から転送されたデータを上記記憶媒体の所定の領域に書き込むように上記書込手段を制御し、上記不揮発性固体メモリに対してガベージコレクションを実行するように上記ガベージコレクション実行手段を制御する制御手段とを備えることを特徴とするデータ記録装置。
【請求項2】
上記不揮発性固体メモリが複数個備えられている場合には、
上記判断手段は、上記第2のデータアクセスモードが選択され、上記接続手段に接続されている上記ホスト装置からデータが転送されてきた場合に、上記複数の不揮発性固体メモリの中からどの不揮発性固体メモリにガベージコレクションが必要なのかを判断し、
上記制御手段は、上記判断手段により一の不揮発性固体メモリに対してガベージコレクションが必要であると判断された場合に、上記ホスト装置から転送されたデータをガベージコレクションの対象となっていない他の不揮発性固体メモリの所定の領域に書き込むように上記書込手段を制御し、上記一の不揮発性固体メモリに対してガベージコレクションを実行するように上記ガベージコレクション実行手段を制御することを特徴とする請求項1記載のデータ記録装置。
【請求項3】
上記書込手段は、上記第1の物理アドレスと上記第2の物理アドレスとを管理する論理アドレスで構成され、上記第1の物理アドレスの一部と上記第2の物理アドレスの一部が同一の論理アドレスにより構成され、上記論理アドレスごとに所定の識別情報が書き込まれている識別情報テーブルに基づいて、上記ホスト装置から転送されてきたデータを上記不揮発性固体メモリの任意の領域又は上記記憶媒体の任意の領域に書き込むことを特徴とする請求項1記載のデータ記録装置。
【請求項4】
ホスト装置が接続され、上記ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ記録装置のデータ記録方法において、
上記第2のデータアクセスモードが選択され、上記ホスト装置からデータが転送されてきた場合、又は第1の物理アドレスが付されている第1のデータ領域を有し、上記第1のデータ領域にデータを書き込んでいる際に、書き込み対象となる領域の消去動作が必要な不揮発性固体メモリにデータを書き込んでいる場合に、上記不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する判断工程と、
上記判断工程によりガベージコレクションが必要であると判断された場合に、上記ホスト装置から転送されたデータを、第2の物理アドレスが付されている第2のデータ領域を有し、上記第2のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が不要な記録媒体の所定の領域に書き込む書込工程と、
上記書込工程によるデータの書き込み動作と並行して、上記不揮発性固体メモリに対してガベージコレクションを実行するガベージコレクション実行工程を備えることを特徴とするデータ記録方法。
【請求項5】
ホスト装置が接続され、上記ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ再生装置において、
第1の物理アドレスが付されている第1のデータ領域を有し、上記第1のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が必要な不揮発性固体メモリと、
第2の物理アドレスが付されている第2のデータ領域を有し、上記第2の領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が不要な記憶媒体と、
データのバッファリング用に用いられるバッファリングメモリと、
上記ホスト装置が接続される接続手段と、
上記ホスト装置の命令にしたがって、上記不揮発性固体メモリの任意の領域又は上記記憶媒体の任意の領域からデータを読み出す読出手段と、
上記第2のデータアクセスモードが選択され、上記接続手段に接続されている上記ホスト装置からデータの読み出しが命令された場合に、上記不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する判断手段と、
上記不揮発性固体メモリに対してガベージコレクションを実行するガベージコレクション実行手段と、
上記判断手段によりガベージコレクションが必要であると判断された場合に、上記不揮発性固体メモリから必要となるデータを上記バッファリングメモリ上に読み出すように上記読出手段を制御し、上記不揮発性固体メモリに対してガベージコレクションを実行するように上記ガベージコレクション実行手段を制御する制御手段とを備えることを特徴とするデータ再生装置。
【請求項6】
上記不揮発性固体メモリが複数個備えられている場合には、
上記判断手段は、上記第2のデータアクセスモードが選択され、上記接続手段に接続されている上記ホスト装置からデータの読み出しが命令された場合に、上記複数の不揮発性固体メモリの中からどの不揮発性固体メモリにガベージコレクションが必要なのかを判断し、
上記制御手段は、上記判断手段により一の不揮発性固体メモリに対してガベージコレクションが必要であると判断された場合に、上記一の不揮発性固体メモリから必要となるデータを上記バッファリングメモリ上に読み出すように上記読出手段を制御し、上記一の不揮発性固体メモリに対してガベージコレクションを実行するように上記ガベージコレクション実行手段を制御することを特徴とする請求項5記載のデータ再生装置。
【請求項7】
上記読出手段は、上記第1の物理アドレスと上記第2の物理アドレスとを管理する論理アドレスで構成され、上記第1の物理アドレスの一部と上記第2の物理アドレスの一部が同一の論理アドレスにより構成され、上記論理アドレスごとに所定の識別情報が書き込まれている識別情報テーブルに基づき、上記ホスト装置の命令にしたがって、上記不揮発性固体メモリの任意の領域又は上記記憶媒体の任意の領域からデータを読み出すことを特徴とする請求項5記載のデータ再生装置。
【請求項8】
ホスト装置が接続され、上記ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ再生装置のデータ再生方法において、
上記第2のデータアクセスモードが選択され、上記ホスト装置からデータの読み出しが命令された場合に、第1の物理アドレスが付されている第1のデータ領域を有し、上記第1のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が必要な不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する判断工程と、
上記判断工程によりガベージコレクションが必要であると判断された場合に、上記不揮発性固体メモリから必要となるデータをバッファリングメモリ上に読み出す読出工程と、
上記読出工程によるデータの読み出し動作と並行して、上記不揮発性固体メモリに対してガベージコレクションを実行するガベージコレクション実行工程を備えることを特徴とするデータ再生方法。
【請求項9】
ホスト装置が接続され、上記ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ記録再生装置において、
第1の物理アドレスが付されている第1のデータ領域を有し、上記第1のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が必要な不揮発性固体メモリと、
第2の物理アドレスが付されている第2のデータ領域を有し、上記第2のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が不要な記憶媒体と、
データのバッファリング用に用いられるバッファリングメモリと、
上記ホスト装置が接続される接続手段と、
上記ホスト装置から転送されてきたデータを上記不揮発性固体メモリの任意の領域又は上記記憶媒体の任意の領域に書き込む書込手段と、
上記ホスト装置の命令にしたがって、上記不揮発性固体メモリの任意の領域又は上記記憶媒体の任意の領域からデータを読み出す読出手段と、
上記第2のデータアクセスモードが選択され、上記接続手段に接続されている上記ホスト装置からデータが転送されてきた場合、又は上記書込手段により上記不揮発性固体メモリ又は上記記録媒体にデータを書き込んでいる場合に、上記不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する第1の判断手段と、
上記第2のデータアクセスモードが選択され、上記接続手段に接続されている上記ホスト装置からデータの読み出しが命令された場合に、上記不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する第2の判断手段と、
上記不揮発性固体メモリに対してガベージコレクションを実行するガベージコレクション実行手段と、
上記第1の判断手段によりガベージコレクションが必要であると判断された場合に、上記ホスト装置から転送されたデータを上記記憶媒体の所定の領域に書き込むように上記書込手段を制御し、上記不揮発性固体メモリに対してガベージコレクションを実行するように上記ガベージコレクション実行手段を制御する第1の制御手段と、
上記第2の判断手段によりガベージコレクションが必要であると判断された場合に、上記不揮発性固体メモリから必要となるデータを上記バッファリングメモリ上に読み出すように上記読出手段を制御し、上記不揮発性固体メモリに対してガベージコレクションを実行するように上記ガベージコレクション実行手段を制御する第2の制御手段とを備えることを特徴とするデータ記録再生装置。
【請求項10】
上記不揮発性固体メモリが複数個備えられている場合には、
上記第1の判断手段は、上記第2のデータアクセスモードが選択され、上記接続手段に接続されている上記ホスト装置からデータが転送されてきた場合に、上記複数の不揮発性固体メモリの中からどの不揮発性固体メモリにガベージコレクションが必要なのかを判断し、
上記第1の制御手段は、上記第1の判断手段により一の不揮発性固体メモリに対してガベージコレクションが必要であると判断された場合に、上記ホスト装置から転送されたデータをガベージコレクションの対象となっていない他の不揮発性固体メモリの所定の領域に書き込むように上記書込手段を制御し、上記一の不揮発性固体メモリに対してガベージコレクションを実行するように上記ガベージコレクション実行手段を制御することを特徴とする請求項9記載のデータ記録再生装置。
【請求項11】
上記不揮発性固体メモリが複数個備えられている場合には、
上記第2の判断手段は、上記第2のデータアクセスモードが選択され、上記接続手段に接続されている上記ホスト装置からデータの読み出しが命令された場合に、上記複数の不揮発性固体メモリの中からどの不揮発性固体メモリにガベージコレクションが必要なのかを判断し、
上記第2の制御手段は、上記第2の判断手段により一の不揮発性固体メモリに対してガベージコレクションが必要であると判断された場合に、上記一の不揮発性固体メモリから必要となるデータを上記バッファリングメモリ上に読み出すように上記読出手段を制御し、上記一の不揮発性固体メモリに対してガベージコレクションを実行するように上記ガベージコレクション実行手段を制御することを特徴とする請求項9記載のデータ記録再生装置。
【請求項12】
上記書込手段は、上記第1の物理アドレスと上記第2の物理アドレスとを管理する論理アドレスで構成され、上記第1の物理アドレスの一部と上記第2の物理アドレスの一部が同一の論理アドレスにより構成され、上記論理アドレスごとに所定の識別情報が書き込まれている識別情報テーブルに基づいて、上記ホスト装置から転送されてきたデータを上記不揮発性固体メモリの任意の領域又は上記記憶媒体の任意の領域に書き込み、
上記読出手段は、上記識別情報テーブルに基づき、上記ホスト装置の命令にしたがって、上記不揮発性固体メモリの任意の領域又は上記記憶媒体の任意の領域からデータを読み出すことを特徴とする請求項9記載のデータ記録再生装置。
【請求項13】
ホスト装置が接続され、上記ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ記録再生装置のデータ記録再生方法において、
上記第2のデータアクセスモードが選択され、上記ホスト装置からデータが転送されてきた場合、又は第1の物理アドレスが付されている第1のデータ領域を有し、上記第1のデータ領域にデータを書き込んでいる際に、書き込み対象となる領域の消去動作が必要な不揮発性固体メモリにデータを書き込んでいる場合に、上記不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する第1の判断工程と、
上記第1の判断工程によりガベージコレクションが必要であると判断された場合に、上記ホスト装置から転送されたデータを、第2の物理アドレスが付されている第2のデータ領域を有し、上記第2のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が不要な記録媒体の所定の領域に書き込む書込工程と、
上記書込工程によるデータの書き込み動作と並行して、上記不揮発性固体メモリに対してガベージコレクションを実行する第1のガベージコレクション実行工程と、
上記第2のデータアクセスモードが選択され、上記ホスト装置からデータの読み出しが命令された場合に、上記不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する第2の判断工程と、
上記第2の判断工程によりガベージコレクションが必要であると判断された場合に、上記不揮発性固体メモリから必要となるデータをバッファリングメモリ上に読み出す読出工程と、
上記読出工程によるデータの読み出し動作と並行して、上記不揮発性固体メモリに対してガベージコレクションを実行する第2のガベージコレクション実行工程を備えることを特徴とするデータ記録再生方法。
【請求項1】
ホスト装置が接続され、上記ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ記録装置において、
第1の物理アドレスが付されている第1のデータ領域を有し、上記第1のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が必要な不揮発性固体メモリと、
第2の物理アドレスが付されている第2のデータ領域を有し、上記第2のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が不要な記憶媒体と、
上記ホスト装置が接続される接続手段と、
上記ホスト装置から転送されてきたデータを上記不揮発性固体メモリの任意の領域又は上記記憶媒体の任意の領域に書き込む書込手段と、
上記第2のデータアクセスモードが選択され、上記接続手段に接続されている上記ホスト装置からデータが転送されてきた場合、又は上記書込手段により上記不揮発性固体メモリ又は上記記録媒体にデータを書き込んでいる場合に、上記不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する判断手段と、
上記不揮発性固体メモリに対してガベージコレクションを実行するガベージコレクション実行手段と、
上記判断手段によりガベージコレクションが必要であると判断された場合に、上記ホスト装置から転送されたデータを上記記憶媒体の所定の領域に書き込むように上記書込手段を制御し、上記不揮発性固体メモリに対してガベージコレクションを実行するように上記ガベージコレクション実行手段を制御する制御手段とを備えることを特徴とするデータ記録装置。
【請求項2】
上記不揮発性固体メモリが複数個備えられている場合には、
上記判断手段は、上記第2のデータアクセスモードが選択され、上記接続手段に接続されている上記ホスト装置からデータが転送されてきた場合に、上記複数の不揮発性固体メモリの中からどの不揮発性固体メモリにガベージコレクションが必要なのかを判断し、
上記制御手段は、上記判断手段により一の不揮発性固体メモリに対してガベージコレクションが必要であると判断された場合に、上記ホスト装置から転送されたデータをガベージコレクションの対象となっていない他の不揮発性固体メモリの所定の領域に書き込むように上記書込手段を制御し、上記一の不揮発性固体メモリに対してガベージコレクションを実行するように上記ガベージコレクション実行手段を制御することを特徴とする請求項1記載のデータ記録装置。
【請求項3】
上記書込手段は、上記第1の物理アドレスと上記第2の物理アドレスとを管理する論理アドレスで構成され、上記第1の物理アドレスの一部と上記第2の物理アドレスの一部が同一の論理アドレスにより構成され、上記論理アドレスごとに所定の識別情報が書き込まれている識別情報テーブルに基づいて、上記ホスト装置から転送されてきたデータを上記不揮発性固体メモリの任意の領域又は上記記憶媒体の任意の領域に書き込むことを特徴とする請求項1記載のデータ記録装置。
【請求項4】
ホスト装置が接続され、上記ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ記録装置のデータ記録方法において、
上記第2のデータアクセスモードが選択され、上記ホスト装置からデータが転送されてきた場合、又は第1の物理アドレスが付されている第1のデータ領域を有し、上記第1のデータ領域にデータを書き込んでいる際に、書き込み対象となる領域の消去動作が必要な不揮発性固体メモリにデータを書き込んでいる場合に、上記不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する判断工程と、
上記判断工程によりガベージコレクションが必要であると判断された場合に、上記ホスト装置から転送されたデータを、第2の物理アドレスが付されている第2のデータ領域を有し、上記第2のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が不要な記録媒体の所定の領域に書き込む書込工程と、
上記書込工程によるデータの書き込み動作と並行して、上記不揮発性固体メモリに対してガベージコレクションを実行するガベージコレクション実行工程を備えることを特徴とするデータ記録方法。
【請求項5】
ホスト装置が接続され、上記ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ再生装置において、
第1の物理アドレスが付されている第1のデータ領域を有し、上記第1のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が必要な不揮発性固体メモリと、
第2の物理アドレスが付されている第2のデータ領域を有し、上記第2の領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が不要な記憶媒体と、
データのバッファリング用に用いられるバッファリングメモリと、
上記ホスト装置が接続される接続手段と、
上記ホスト装置の命令にしたがって、上記不揮発性固体メモリの任意の領域又は上記記憶媒体の任意の領域からデータを読み出す読出手段と、
上記第2のデータアクセスモードが選択され、上記接続手段に接続されている上記ホスト装置からデータの読み出しが命令された場合に、上記不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する判断手段と、
上記不揮発性固体メモリに対してガベージコレクションを実行するガベージコレクション実行手段と、
上記判断手段によりガベージコレクションが必要であると判断された場合に、上記不揮発性固体メモリから必要となるデータを上記バッファリングメモリ上に読み出すように上記読出手段を制御し、上記不揮発性固体メモリに対してガベージコレクションを実行するように上記ガベージコレクション実行手段を制御する制御手段とを備えることを特徴とするデータ再生装置。
【請求項6】
上記不揮発性固体メモリが複数個備えられている場合には、
上記判断手段は、上記第2のデータアクセスモードが選択され、上記接続手段に接続されている上記ホスト装置からデータの読み出しが命令された場合に、上記複数の不揮発性固体メモリの中からどの不揮発性固体メモリにガベージコレクションが必要なのかを判断し、
上記制御手段は、上記判断手段により一の不揮発性固体メモリに対してガベージコレクションが必要であると判断された場合に、上記一の不揮発性固体メモリから必要となるデータを上記バッファリングメモリ上に読み出すように上記読出手段を制御し、上記一の不揮発性固体メモリに対してガベージコレクションを実行するように上記ガベージコレクション実行手段を制御することを特徴とする請求項5記載のデータ再生装置。
【請求項7】
上記読出手段は、上記第1の物理アドレスと上記第2の物理アドレスとを管理する論理アドレスで構成され、上記第1の物理アドレスの一部と上記第2の物理アドレスの一部が同一の論理アドレスにより構成され、上記論理アドレスごとに所定の識別情報が書き込まれている識別情報テーブルに基づき、上記ホスト装置の命令にしたがって、上記不揮発性固体メモリの任意の領域又は上記記憶媒体の任意の領域からデータを読み出すことを特徴とする請求項5記載のデータ再生装置。
【請求項8】
ホスト装置が接続され、上記ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ再生装置のデータ再生方法において、
上記第2のデータアクセスモードが選択され、上記ホスト装置からデータの読み出しが命令された場合に、第1の物理アドレスが付されている第1のデータ領域を有し、上記第1のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が必要な不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する判断工程と、
上記判断工程によりガベージコレクションが必要であると判断された場合に、上記不揮発性固体メモリから必要となるデータをバッファリングメモリ上に読み出す読出工程と、
上記読出工程によるデータの読み出し動作と並行して、上記不揮発性固体メモリに対してガベージコレクションを実行するガベージコレクション実行工程を備えることを特徴とするデータ再生方法。
【請求項9】
ホスト装置が接続され、上記ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ記録再生装置において、
第1の物理アドレスが付されている第1のデータ領域を有し、上記第1のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が必要な不揮発性固体メモリと、
第2の物理アドレスが付されている第2のデータ領域を有し、上記第2のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が不要な記憶媒体と、
データのバッファリング用に用いられるバッファリングメモリと、
上記ホスト装置が接続される接続手段と、
上記ホスト装置から転送されてきたデータを上記不揮発性固体メモリの任意の領域又は上記記憶媒体の任意の領域に書き込む書込手段と、
上記ホスト装置の命令にしたがって、上記不揮発性固体メモリの任意の領域又は上記記憶媒体の任意の領域からデータを読み出す読出手段と、
上記第2のデータアクセスモードが選択され、上記接続手段に接続されている上記ホスト装置からデータが転送されてきた場合、又は上記書込手段により上記不揮発性固体メモリ又は上記記録媒体にデータを書き込んでいる場合に、上記不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する第1の判断手段と、
上記第2のデータアクセスモードが選択され、上記接続手段に接続されている上記ホスト装置からデータの読み出しが命令された場合に、上記不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する第2の判断手段と、
上記不揮発性固体メモリに対してガベージコレクションを実行するガベージコレクション実行手段と、
上記第1の判断手段によりガベージコレクションが必要であると判断された場合に、上記ホスト装置から転送されたデータを上記記憶媒体の所定の領域に書き込むように上記書込手段を制御し、上記不揮発性固体メモリに対してガベージコレクションを実行するように上記ガベージコレクション実行手段を制御する第1の制御手段と、
上記第2の判断手段によりガベージコレクションが必要であると判断された場合に、上記不揮発性固体メモリから必要となるデータを上記バッファリングメモリ上に読み出すように上記読出手段を制御し、上記不揮発性固体メモリに対してガベージコレクションを実行するように上記ガベージコレクション実行手段を制御する第2の制御手段とを備えることを特徴とするデータ記録再生装置。
【請求項10】
上記不揮発性固体メモリが複数個備えられている場合には、
上記第1の判断手段は、上記第2のデータアクセスモードが選択され、上記接続手段に接続されている上記ホスト装置からデータが転送されてきた場合に、上記複数の不揮発性固体メモリの中からどの不揮発性固体メモリにガベージコレクションが必要なのかを判断し、
上記第1の制御手段は、上記第1の判断手段により一の不揮発性固体メモリに対してガベージコレクションが必要であると判断された場合に、上記ホスト装置から転送されたデータをガベージコレクションの対象となっていない他の不揮発性固体メモリの所定の領域に書き込むように上記書込手段を制御し、上記一の不揮発性固体メモリに対してガベージコレクションを実行するように上記ガベージコレクション実行手段を制御することを特徴とする請求項9記載のデータ記録再生装置。
【請求項11】
上記不揮発性固体メモリが複数個備えられている場合には、
上記第2の判断手段は、上記第2のデータアクセスモードが選択され、上記接続手段に接続されている上記ホスト装置からデータの読み出しが命令された場合に、上記複数の不揮発性固体メモリの中からどの不揮発性固体メモリにガベージコレクションが必要なのかを判断し、
上記第2の制御手段は、上記第2の判断手段により一の不揮発性固体メモリに対してガベージコレクションが必要であると判断された場合に、上記一の不揮発性固体メモリから必要となるデータを上記バッファリングメモリ上に読み出すように上記読出手段を制御し、上記一の不揮発性固体メモリに対してガベージコレクションを実行するように上記ガベージコレクション実行手段を制御することを特徴とする請求項9記載のデータ記録再生装置。
【請求項12】
上記書込手段は、上記第1の物理アドレスと上記第2の物理アドレスとを管理する論理アドレスで構成され、上記第1の物理アドレスの一部と上記第2の物理アドレスの一部が同一の論理アドレスにより構成され、上記論理アドレスごとに所定の識別情報が書き込まれている識別情報テーブルに基づいて、上記ホスト装置から転送されてきたデータを上記不揮発性固体メモリの任意の領域又は上記記憶媒体の任意の領域に書き込み、
上記読出手段は、上記識別情報テーブルに基づき、上記ホスト装置の命令にしたがって、上記不揮発性固体メモリの任意の領域又は上記記憶媒体の任意の領域からデータを読み出すことを特徴とする請求項9記載のデータ記録再生装置。
【請求項13】
ホスト装置が接続され、上記ホスト装置の制御にしたがってデータへのアクセスが行われる第1のデータアクセスモードと、自身の制御によってデータへのアクセスを行う第2のデータアクセスモードとを有するデータ記録再生装置のデータ記録再生方法において、
上記第2のデータアクセスモードが選択され、上記ホスト装置からデータが転送されてきた場合、又は第1の物理アドレスが付されている第1のデータ領域を有し、上記第1のデータ領域にデータを書き込んでいる際に、書き込み対象となる領域の消去動作が必要な不揮発性固体メモリにデータを書き込んでいる場合に、上記不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する第1の判断工程と、
上記第1の判断工程によりガベージコレクションが必要であると判断された場合に、上記ホスト装置から転送されたデータを、第2の物理アドレスが付されている第2のデータ領域を有し、上記第2のデータ領域にデータを書き込む際に、その書き込み対象となる領域の消去動作が不要な記録媒体の所定の領域に書き込む書込工程と、
上記書込工程によるデータの書き込み動作と並行して、上記不揮発性固体メモリに対してガベージコレクションを実行する第1のガベージコレクション実行工程と、
上記第2のデータアクセスモードが選択され、上記ホスト装置からデータの読み出しが命令された場合に、上記不揮発性固体メモリに対して、ガベージコレクションが必要かどうかを判断する第2の判断工程と、
上記第2の判断工程によりガベージコレクションが必要であると判断された場合に、上記不揮発性固体メモリから必要となるデータをバッファリングメモリ上に読み出す読出工程と、
上記読出工程によるデータの読み出し動作と並行して、上記不揮発性固体メモリに対してガベージコレクションを実行する第2のガベージコレクション実行工程を備えることを特徴とするデータ記録再生方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2007−193883(P2007−193883A)
【公開日】平成19年8月2日(2007.8.2)
【国際特許分類】
【出願番号】特願2006−10278(P2006−10278)
【出願日】平成18年1月18日(2006.1.18)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成19年8月2日(2007.8.2)
【国際特許分類】
【出願日】平成18年1月18日(2006.1.18)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]