(57)【特許請求の範囲】
【請求項１】
ホスト装置が接続され、上記ホスト装置の制御にしたがってデータへのアクセスが行われるデータ記録装置において、
論理ブロックアドレスにより管理されている記憶部と、
メモリと、
上記記憶部の空き領域の情報が記されている空き領域管理テーブルが上記ホスト装置から転送されてきたとき、当該空き領域管理テーブルを上記記憶部に記憶する記憶制御部と、
上記記憶部に記憶されている上記空き領域管理テーブルを読み出し、上記メモリに展開するメモリ展開部と、
上記ホスト装置から転送される所定のコマンドに応じて、上記メモリに展開されている上記空き領域管理テーブルを参照し、上記ホスト装置から転送されるデータを上記記憶部の空き領域に記録するデータ記録部と、
上記データ記録部による記録動作終了後、上記メモリに展開されている上記空き領域管理テーブルを更新するテーブル更新部と、
上記ホスト装置が保有する上記空き領域管理テーブルと、上記メモリに展開されている上記空き領域管理テーブルが一致するかどうかを判断する判断部と、
上記テーブル更新部により更新された上記空き領域管理テーブルの更新情報を上記ホスト装置に転送する転送部とを備え、
上記転送部は、上記判断部により空き領域管理テーブルが相互に一致しないと判断された場合、上記メモリに展開されている上記空き領域管理テーブルの更新情報を上記ホスト装置に転送するデータ記憶装置。
【請求項２】
上記記憶部は、ファイルの配置情報が記されている配置テーブルを有することを特徴とする請求項１記載のデータ記憶装置。
【請求項３】
ホスト装置が接続され、上記ホスト装置の制御にしたがってデータへのアクセスが行われるデータ記録装置のデータアクセス方法において、
論理ブロックアドレスにより管理されている記憶部の空き領域の情報が記されている空き領域管理テーブルが上記ホスト装置から転送されてきたとき、当該空き領域管理テーブルを上記記憶部に記憶し、
上記記憶部に記憶されている上記空き領域管理テーブルを読み出し、メモリに展開し、
上記ホスト装置から転送される所定のコマンドに応じて、上記メモリに展開されている上記空き領域管理テーブルを参照し、上記ホスト装置から転送されるデータを上記記憶部の空き領域に記録し、
記録動作終了後、上記メモリに展開されている上記空き領域管理テーブルを更新し、
上記ホスト装置が保有する上記空き領域管理テーブルと、上記メモリに展開されている上記空き領域管理テーブルが一致するかどうかを判断し、上記空き領域管理テーブルが相互に一致しないと判断された場合、上記メモリに展開されている上記空き領域管理テーブルの更新情報を上記ホスト装置に転送するデータアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
不揮発性固体メモリと回転記録媒体とを双方或いは一方を用いるデータ記憶装置に関し、詳細には、データの書き込みに必要なアドレス情報の制御を空き領域管理テーブルを用いて行い、ブロックアクセスを行うファイルシステムからアクセス可能な機構を持ったデータ記憶装置及びデータアクセス方法に関する。
【背景技術】
【０００２】
現在、データの保存をするために不揮発性固体メモリを搭載したフラッシュメモリ等の様々な記録メディアが利用されている。これらの記録メディアは、ホスト機器（例えば、PC（Personal Computer））に接続されて利用される（例えば、特許文献１参照。）。
【０００３】
また、記録メディアの中には、データの書き込み及び読み出しが行われる際、当該データの書き込み位置又は読み出し位置を定めるのにアドレス管理情報、すなわちデータの配置情報を用いているものがある。
【０００４】
【特許文献１】特開２００６−４８２２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このような構成によると、ホスト装置側のＣＰＵの負荷を軽減し、複数のストリームの扱い等に大きな利点があるものの、既存のファイルシステムに大きな変更が必要となるため、実際の採用にあたり、その変更に係る負担が問題となる。
【０００６】
また、記録メディアを開発する側においても、ファイルシステムによりデータの配置情報の管理方法が異なるために、ファイルシステムごとに記録メディア内部のファームウェアを別途に開発しなければならず、コーディングや動作検証等の負担が大きく、開発期間も長期に渡るという問題がある。
【０００７】
また、民生機器の分野では、商品の特性に応じた特定の機能（例えば、Video CameraではDisk Schedulingの機能）が強く要求される。
【０００８】
そこで、本発明では、上述の問題点に鑑み、ホスト装置側の変更を可能な限り減らし、民生機器の分野において要求される機能を実現するデータ記憶装置及びデータアクセス方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、上述の課題を解決するために、ホスト装置が接続され、上記ホスト装置の制御にしたがってデータへのアクセスが行われるデータ記録装置において、論理ブロックアドレスにより管理されている記憶部と、メモリと、上記記憶部の空き領域の情報が記されている空き領域管理テーブルが上記ホスト装置から転送されてきたとき、当該空き領域管理テーブルを上記記憶部に記憶する記憶制御部と、上記記憶部に記憶されている上記空き領域管理テーブルを読み出し、上記メモリに展開するメモリ展開部と、上記ホスト装置から転送される所定のコマンドに応じて、上記メモリに展開されている上記空き領域管理テーブルを参照し、上記ホスト装置から転送されるデータを上記記憶部の空き領域に記録するデータ記録部と、上記データ記録部による記録動作終了後、上記メモリに展開されている上記空き領域管理テーブルを更新するテーブル更新部と、上記ホスト装置が保有する上記空き領域管理テーブルと、上記メモリに展開されている上記空き領域管理テーブルが一致するかどうかを判断する判断部と、上記テーブル更新部により更新された上記空き領域管理テーブルの更新情報を上記ホスト装置に転送する転送部とを備え、上記転送部は、上記判断部により空き領域管理テーブルが相互に一致しないと判断された場合、上記メモリに展開されている上記空き領域管理テーブルの更新情報を上記ホスト装置に転送することを特徴とする。
【００１０】
また、本発明は、上述の課題を解決するために、ホスト装置が接続され、上記ホスト装置の制御にしたがってデータへのアクセスが行われるデータ記録装置のデータアクセス方法において、論理ブロックアドレスにより管理されている記憶部の空き領域の情報が記されている空き領域管理テーブルが上記ホスト装置から転送されてきたとき、当該空き領域管理テーブルを上記記憶部に記憶し、上記記憶部に記憶されている上記空き領域管理テーブルを読み出し、メモリに展開し、上記ホスト装置から転送される所定のコマンドに応じて、上記メモリに展開されている上記空き領域管理テーブルを参照し、上記ホスト装置から転送されるデータを上記記憶部の空き領域に記録し、記録動作終了後、上記メモリに展開されている上記空き領域管理テーブルを更新し、上記ホスト装置が保有する上記空き領域管理テーブルと、上記メモリに展開されている上記空き領域管理テーブルが一致するかどうかを判断し、上記空き領域管理テーブルが相互に一致しないと判断された場合、上記メモリに展開されている上記空き領域管理テーブルの更新情報を上記ホスト装置に転送することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、本発明に係るデータ記録装置が接続されることにより生ずるホスト装置の変更を極小にすることができ、当該ホスト装置が要求する機能の実現を図ることができる。
【発明を実施するための最良の形態】
【００１２】
本発明は、ホスト装置に接続され、当該ホスト装置から転送されたデータを格納し、また、格納されているデータを読み出し、読み出したデータをホスト装置に転送するデータ記録装置にかかるものである。以下に、ホスト装置側の変更を可能な限り減らし、民生機器の分野において要求される機能を実現するためのデータ記録装置の構成と動作について説明を行う。
【００１３】
また、以下では、データ記録装置は、ハードディスク（HD、Hard Disk）と不揮発性固体メモリとを組み合わせたもの（ハイブリッド記憶装置）として説明を行うが、ハードディスク又は不揮発性固体メモリのいずれか一方を有する構成であっても良い。また、不揮発性固体メモリは、メモリカードなどに使用されるものであり、ブロック単位でデータを送受信するNAND Flash Memoryを想定している。
【００１４】
また、ファイルシステムは、ＭＳ−ＤＯＳ互換ＦＡＴファイルシステムを使用するものとして説明するが、データをファイルとして管理するシステムであればＭＳ−ＤＯＳ互換ＦＡＴファイルシステムに限らずどのようなシステムでも適用することができる。
【００１５】
＜データ記憶再生装置の構成＞
ＰＣ又はＡＶ機器等のホスト装置１と、データ記憶装置２とが、ＩＤＥ（Integrated Drive Electronics）、ＳＣＳＩ（Small Computer System Interface）、ＦＣ（Fibre Channel）又はＵＳＢ（Universal Serial Bus）等のインターフェースケーブル３を介して接続されて構成されたときの状態を図１に示す。
【００１６】
データ記憶装置２は、図１に示すように、記録媒体２０にデータを書き込み、書き込まれているデータを読み出すヘッド部２１と、記録媒体２０にアクセスする際にヘッド部２１を駆動するヘッド駆動部２２と、記録媒体２０を所定方向に所定の回転数で駆動する記録媒体駆動部２３と、ヘッド駆動部２２と記録媒体駆動部２３を制御するサーボ制御部２４と、ヘッド部２１に接続されており、供給されるデータに対して所定の処理を行うリードライトチャンネル部２５と、サーボ制御部２４とリードライトチャンネル部２５とを制御する制御部２６と、一時的にデータがバッファリングされるバッファメモリ２７と、所定の容量を有する不揮発性固体メモリ２８と、所定の容量を有するページバッファ２９と、データの書き込み及び読み出しを行うために不揮発性固体メモリ２８にアクセスする際にバッファメモリ２９と不揮発性固体メモリ２８とページバッファ２９とを制御するメモリ制御部３０と、所定の演算を行い、データ記憶装置２の各部に必要なコマンド及びパラメータを設定して動作させる演算処理部（ＣＰＵ）３１と、ＣＰＵ３１による演算等に用いられるメモリ３２と、ホスト装置１とデータ及び制御情報等の送受信を行うインターフェース制御部３３とを備える。
【００１７】
＜ファイルシステムについて＞
ここで、本発明に係るデータ記憶装置２で採用するファイルシステムについて図２を参照して説明する。なお、記録媒体２０は、ＨＤ（Hard Disk）であるとして説明を行う。
【００１８】
記録媒体２０において、データを記録する最小の単位は、セクタ（通常、５１２ｂｙｔｅ）である。ホスト装置１は、論理ブロックアドレス（LBA）を用いて記録媒体２０にアクセスを行う。また、既述したように、不揮発性固体メモリ２８の最小単位はページであり、このページのサイズは、セクタのサイズとは必ずしも一致するわけではないが、セクタの整数倍で構成されている。したがって、論理ページ番号と論理アドレスを容易に関係付けることが可能である。したがって、ホスト装置１は、データ記憶装置２に対して記録媒体２０と同様に不揮発性固体メモリ２８に対しても論理ブロックアドレス（LBA）を用いてアクセスを行うことが可能である。
【００１９】
また、ファイルを管理するファイルシステムでは、複数のセクタ（N個）を１クラスタとし、このクラスタをデータの読み書き込み時の最小単位としている。また、ＦＡＴ（File Allocation Table）は、一つのファイルがクラスタにどのように格納されているかを記録してあるテーブルである。このＦＡＴを用いて管理を行うファイルシステムのことをＦＡＴファイルシステムと呼ぶ。以後、クラスタアドレスは、ＬＢＡを単純にＮで割ったものとし、本実施例における説明では、Ｎ＝１６とする（１クラスタ＝８ＫＢｙｔｅ）。
【００２０】
また、ＦＡＴファイルシステムボリュームは、３つの領域（予約領域Ａ、ＦＡＴ領域Ｂ及びディレクトリデータ領域Ｃ）から構成されている。また、ディレクトリ領域Ｃには、ディレクトリ項目Ｄが含まれている。なお、本実施例では、パーティションは、１つの場合しか想定しないのでボリュームとパーティションは同一のものとなっている。
【００２１】
また、図２に示すように、ディレクトリ項目Ｄには、ファイル名やその開始クラスタ番号が格納されている。ホスト装置１は、ディレクトリ項目Ｄの中身を読み出して、開始クラスタ番号を知り（図２に示す例では、開始クラスタ番号は、「12340h」である。）、それに対応するＦＡＴ項目（FAT Entry）を参照して、ファイルの次のクラスタがクラスタ番号「12341h」にあることを知る。ホスト装置１は、順次、続くクラスタ番号を求め、最後に「1237Fh」の中身が「EOF（End of File）」であるところまで配置情報を読み出す。そして、ホスト装置１は、読み出した配置情報に基づいてファイルにアクセスを行う。
【００２２】
記録媒体２０は、前述したＦＡＴ（File Allocation Table）ファイルシステムによって管理されており、少なくとも所定のデータサイズ（クラスタ）ごとにアドレス（以下、物理アドレスという。）が付されてなるユーザデータエリアからなるＨＤ（ハードディスク）等のディスク状記録媒体により構成されている。
【００２３】
ヘッド部２１は、記録媒体２０がＨＤ等の磁気記録媒体である場合には、外部磁界の大きさや向きにより抵抗値が変化する、いわゆる磁気抵抗効果を利用し、記録媒体２０からの信号磁界を検出するための感磁素子を有する磁気ヘッドにより構成される。
【００２４】
ヘッド駆動部２２は、サーボ制御部２４の制御に応じて、ヘッド部２１の動作を制御する。
【００２５】
記録媒体制御部２３は、サーボ制御部２４の制御に応じて、記録媒体２０を所定の回転数で回転するように制御する。
【００２６】
サーボ制御部２４は、記録媒体２０を所定方向に所定速度で回転駆動させるように記録媒体駆動部２３を制御し、また、記録媒体２０上の所定の場所にアクセスするためにヘッド部２１の駆動を制御する。
【００２７】
リードライトチャンネル部２５は、データの書き込み動作時に、供給されたデータを符号化（変調）し、記録再生系の特性に適したデジタルビット系列に変換した後、変換後のデータをヘッド部２１に供給する。また、リードライトチャンネル部２５は、データの読み出し動作時に、ヘッド部２１から供給された再生信号から高域ノイズを除去した後でアナログデジタル変換器（ADC、Analog Digital Converter）によりデジタル化し、最尤復号法等を用いて所定の処理を行った後、復調を行う。
【００２８】
制御部２６は、バッファメモリ２７、不揮発性固体メモリ２８、リードライトチャンネル部２５及びインターフェース制御部３３それぞれの間におけるデータのやり取り（送受信）を管理し、データのフォーマットにかかわる処理を行う。また、制御部２６は、当該処理を行う際に、誤り訂正符号による符号化と、誤り検出及び誤り訂正にかかわる処理も併せて行う。
【００２９】
また、ホスト装置１から書き込まれたデータは、記録媒体２０、あるいは不揮発性固体メモリ２８に格納される。バッファメモリ２７は、その際、あるいはデータの読み出し時に、一時的にデータの格納（バッファリング）が行われ、転送速度の違いや起動に伴う遅延などによる性能の低下を抑えるために用いられる。また、通常、バッファメモリ２７は、コストのことを考慮してDRAMあるいはSRAMで構成される。
【００３０】
不揮発性固体メモリ２８は、例えば、ＦＡＴファイルシステムが採用されるＮＡＮＤ型ＦＬＡＳＨメモリカード（Memory Stick、Compact Flash又はSD Card等）であり、所定のデータサイズ（ページ）ごとに、所定のアドレス（以下、論理ページ番号という。）が付されてなるデータエリアを有する。また、不揮発性固体メモリ２８は、データを書き込む際に、対象となるページに書き込まれているデータの消去動作が必要なメモリである。
【００３１】
また、ページバッファ２９は、不揮発性固体メモリ２８と、メモリ制御部３０の間に配置され、バッファメモリ２７と不揮発性固体メモリ２８との間で行われるページ単位での転送を効率的に処理するために用いられる。また、ページバッファ２９は、バッファメモリ２９を経由しないで、不揮発性固体メモリ２８内のデータを不揮発性固体メモリ２８の他の場所にコピーする際にも使用される。なお、データ記憶装置２は、ページバッファ２９を具有していない構成であっても良いが、具有している方が好ましい。
【００３２】
メモリ制御部３０は、ホスト装置１から供給されるデータを記録媒体２０又は不揮発性固体メモリ２８に書き込む場合、又は記録媒体２０や不揮発性固体メモリ２８に書き込まれているデータを読み出し、ホスト装置１へ送信する際における所定のメモリ制御を行う。
【００３３】
＜ホスト装置の構成＞
また、ホスト装置１は、インターフェース３を介してデータ記憶装置２とデータの送受信を行うインターフェース制御部４０と、所定の演算処理を行うＣＰＵ４１と、ＣＰＵ４１による演算等に用いられるメモリ４２とを備える。ホスト装置１は、例えば、データ記憶装置２の長所を生かして効率良く記録再生処理を行うビデオカメラ、デジタルカメラ、音楽プレイヤー等のアプリケーション機器である。
【００３４】
ＣＰＵ４２は、電源起動時、所定の処理手順の実行により、ディスク２０のシステム領域に記録されてなる管理用データであるブート領域、ＦＡＴ領域、ディレクトリ領域に格納されている各データをメモリ４２にアップロードし、このアップロードしたデータを基準にしたパラメータの設定により種々のコマンドをデータ記憶装置２に対して送信する。
【００３５】
また、本発明に係るデータ記憶装置２は、ホスト装置１のメモリ２４に格納されている記録媒体２０又は不揮発性固体メモリ２８の空き領域を管理するためのテーブル（以下、空き領域管理テーブルという。）と同一内容のテーブルを有している（図３）。なお、制御部２６と、インターフェース制御部３３とは、統合されても良い。
【００３６】
ここで、図４に空き領域管理テーブルの一例を示す。空き領域管理テーブルは、クラスタ番号とクラスタの状態を示しており、クラスタが使用されていないクラスタ番号には「空き」を示す「１」が書き込まれ、クラスタが使用されているクラスタ番号には「使用」を示す「０」が書き込まれている。図４では、例えば、File1のみが存在する場合（クラスタ番号「12340h」からクラスタ番号「12347h」まで使用している）を示している。
【００３７】
また、ホスト装置１は、データ記憶装置２が空き領域管理テーブルのみに基づいてデータの配置を決定し、データの書き込みを行う専用のコマンド（AV Write Sector(s)）（図５（ａ））をデータ記憶装置２に送信する。図５（ａ）に示すコマンド（AV Write Sector(s)）は、標準ＡＴＡコマンドのレジスタを用いて示したものである。
【００３８】
また、ホスト装置１は、当該コマンドが最初に実行されるときに「STR」に「１」を書き込んでデータ記憶装置２に送信し、当該コマンドが最後に実行されるときに「END」に「１」を書き込んでデータ記憶装置２に送信する。
【００３９】
なお、コマンドに含まれている他の内容（「LBA」，「DEV」及び「Sector Count」等）は、標準ＡＴＡコマンドWrite Sector(s)と同様に用いられる。
【００４０】
また、コマンド（AV Write Sector(s)）の実行が完了した時に、データ記憶装置２は、Task File Registerにその結果を出力して（図５（ｂ））、完了を知らせ、一方、ホスト装置１は、その結果を読み出す。
【００４１】
また、Task File Registerの「LBA」には、実際にデータ記憶装置２がデータを書き込む際に用いたLBAの情報が書き込まれている。また、当該コマンドに含まれている他の内容（「DEV」，「BSY」，「DRDY」，「DF」，「DRQ」及び「ERR」等）は、標準ＡＴＡコマンドWrite Sector(s)と同様に用いられる。
【００４２】
ここで、ホスト装置１のメモリ４２に格納されている空き領域管理テーブル１の情報をデータ記録装置２に転送し、その後、データを転送する手順について図６を用いて説明する。なお、以下では、データ記録装置２は、記録媒体２０のみ有するものとして説明を行う。また、ホスト装置１のメモリ４２に格納されている空き領域管理テーブルを空き領域管理テーブル１とし、記録媒体２０に格納されている空き領域管理テーブルを空き領域管理テーブル２とし、また、バッファメモリ２７に格納されている空き領域管理テーブルを空き領域管理テーブル３として説明を行う。
【００４３】
ステップＳ１において、ホスト装置１は、メモリ４２に格納されている空き領域管理テーブル１を、データ記憶装置２内の記録媒体２０にコピーする。ステップＳ１の工程により、記録媒体２０には、空き領域管理テーブル２が格納されることになる。
【００４４】
ステップＳ２において、ホスト装置１は、AV Write Sector(s)コマンドをデータ記憶装置２に送信する。このときのAV Write Sector(s)コマンドは、「STR」ビットに「１」が書き込まれている。なお、ホスト装置１は、データの書き込み場所を指定することはできない（例え指定しても、データ記憶装置２には無視されることになる）。
【００４５】
ステップＳ３において、データ記憶装置２は、記録媒体２０から空き領域管理テーブル２を読み出してバッファメモリ２７に展開する。ステップＳ３の工程により、バッファメモリ２７には、空き領域管理テーブル３が展開されることになる。データ記憶装置２は、バッファメモリ２７に展開されている空き領域管理テーブル３を参照し、データの書き込み場所を決定する。データ記憶装置２は、データの書き込み準備ができた場合には、その旨をホスト装置１に通知する。
【００４６】
ステップＳ４において、ホスト装置１は、AV Write Sector(s)コマンドの「Sector Count」において指定した量（分）のデータをデータ記憶装置２に転送する。
【００４７】
ステップＳ５において、データ記憶装置２は、ホスト装置１から転送されてきたデータをバッファメモリ２７に展開されている空き領域管理テーブル３を参照して記録媒体２０に書き込み、データの書き込みが完了した後に、今回更新された情報（更新後のLBA）をTask File Registerに書き込み、ホスト装置１に完了を知らせ、一方、ホスト装置１は、当該Task File Registerから結果を読み出す。また、データ記憶装置２は、同時にバッファメモリ２７に展開されている空き領域管理テーブル３を更新する。なお、最後のAV Write Sector(s)コマンドの場合には、内部を初期化する。
【００４８】
ステップＳ６において、ホスト装置１は、読み込んだ情報を用いて、空き領域管理テーブル１とファイルの配置情報を更新する。なお、最後のAV Write Sector(s)コマンドの場合には、ここで終了する。
【００４９】
ステップＳ７において、データ記憶装置２は、AV Write Sector(s)以外の書き込みコマンド（例えば、Write Sector(s)）で書き込み指示があるかどうかを確認し、指示がある場合には、ステップＳ８に進み、指示がない場合には、ステップＳ９に進む。
【００５０】
ステップＳ８において、データ記憶装置２は、与えられたWrite Sector(s)コマンドに含まれている「LBA」に対してデータの書き込みを実行する。データ記憶装置２は、データの書き込み完了後に、ホスト装置１にその旨を通知する。また、データ記憶装置２は、同時に空き領域管理テーブル３を更新する。
【００５１】
ステップＳ９において、ホスト装置１は、次のAV Write Sector(s)コマンドを実行する。なお、最後のデータ転送ならば「END」ビットに「１」を書き込む。
【００５２】
ステップＳ１０において、データ記憶装置２は、バッファメモリ２７に展開されている空き領域管理テーブル３を用いて、データの書き込み位置を決定し、データの書き込み準備ができたことをホスト装置１に知らせる。その後、ステップＳ４の工程に戻る。
【００５３】
また、上述の説明では、空き領域管理テーブルをホスト装置１が有していることを前提としている。例えば、ＵＤＦ（Universal Disk Format）ファイルシステムにおいては、規格として「Space Bit Map Descriptor」が定義されており、論理ブロックごとに使用済みかどうかが記述されている。しかし、上述したＦＡＴファイルシステムの規格の場合には、同様のものは存在しない。そこで、ＦＡＴファイルシステムを採用する場合には、空き領域管理テーブルを配置情報から作成する必要がある（図３）。また、ホスト装置１は、ステップＳ１の工程において、記録媒体２０の配置情報を最新のものに更新する必要がある。したがって、制御部２６は、配置情報を読み出し、当該配置情報に基づいて空き領域管理テーブルをバッファメモリ２７に作成する。
【００５４】
また、本発明においては、規格上において、空き領域管理テーブルが存在したとしても、当該空き領域仮テーブルのフォーマットと、バッファメモリ２７に展開されている空き領域管理テーブル３のフォーマットとが一致する必要は必ずしもない。複数のファイルシステムをサポートする場合には、管理するブロック単位や空き領域の検索を行う手法の違いなどの理由により、フォーマットが異なり得る。本発明では、その違いを吸収するために、記録媒体２０に書き込まれている空き領域管理テーブル２のフォーマットを変換し、バッファメモリ２７に展開されている空き領域管理テーブル３のフォーマットを固定してしまう方が合理的であると考えられる。
【００５５】
また、制御部２６は、ホスト装置１のメモリ４２に格納されている空き領域管理テーブル１と、バッファメモリ２７に展開されている空き領域管理テーブル３が一致するかどうかを確認する機構を有する。制御部２６は、空き領域管理テーブル１と空き領域管理テーブル３とが不一致の場合には、バッファメモリ２７に展開されている空き領域管理テーブル３の更新情報をホスト装置１に転送する。ホスト装置１は、転送された更新情報に基づき、空き領域管理テーブル１を更新する。
【００５６】
また、図６では、AV Write Sector(s)コマンドにより、一のファイルをホスト装置１からデータ記録装置２に転送し、書き込む例について説明を行ったが、本発明に係るデータ記憶装置２では、複数のファイルを書き込むことも可能である。
【００５７】
また、本実施例においては、データの書き込み時の動作について説明を行ったが、本発明に係るデータ記録装置２は、記録媒体２０に書き込まれているデータの読み出しも行うことができる。このデータの読み出し動作には、通常の読み出し方法（方法１）と、特別な読み出し方法（方法２）とがある。
方法１：ホスト装置１は、メモリ４２に格納されている配置情報から所望のファイルが格納されている場所を検索し、検索結果に基づいて標準ＡＴＡコマンドRead Sectorsを生成し、当該標準ＡＴＡコマンドRead Sectorsによりデータ記録装置２から所望のファイルを読み出す方法である。
方法２：データ記録装置２は、ホスト装置１からファイルの読み出しコマンドが転送され、当該コマンドに基づいて記録媒体２０に格納されている配置情報を読み出し、当該配置情報を解析し、解析結果に基づいて自ら記録媒体２０からホスト装置１により指示されたファイルを読み出し、読み出したファイルをホスト装置１に転送する方法、又は、読み出したファイルをバッファメモリ２７に格納しておき、ホスト装置１の要求に応じてバッファメモリ２７から読み出してホスト装置１に転送する方法（先読み(Look Ahead Reading)方法）である。
【００５８】
このように構成されるデータ記録装置２によれば、ディレクトリ項目等のファイルのメタデータや連結情報等については、全てホスト装置１が主体的に管理することができる。本発明に係るデータ記録装置２を使用する場合には、必要な変更点としては、データの書き込み／読み出し処理に使用するアドレスを、ホスト装置１が採用するファイルシステムによって決定されるアドレスから、データ記憶装置２により通知されるアドレスに変更する点のみである。また、メタデータや連結情報の管理を行うファームウェアそのものには何の変更も要しない。
【００５９】
また、本発明によれば、空き領域管理テーブルを、記録媒体２０が採用するファイルシステムに固有のテーブルや配置情報に依存しない形態で定義するので、データ記憶装置２の制御部２６が採用するファームウェアの開発を大幅に効率化することが可能となる。
【００６０】
また、本実施例では、記憶装置としてＨＤＤを具体例にして説明を行ったが、ランダムアクセス可能な記憶装置であれば、例えば、ＣＤ，ＤＶＤ等の光ディスクであっても同様の処理が可能である。また、説明ではＦＡＴファイルシステムを用いたがデータをファイルとして管理するシステムであればどのようなものでも適用できる。
【図面の簡単な説明】
【００６１】
【図１】本発明の実施の形態におけるデータ記憶装置の構成を示すブロック図である。
【図２】ファイルシステムの説明に供するＬＢＡ空間を示す模式図である。
【図３】ホスト装置及びデータ記憶装置に空き領域管理テーブルが格納されることについての説明に供する図である。
【図４】空き領域管理テーブルの一例を示す模式図である。
【図５】（ａ）は、データの書き込み動作の際に、ホスト装置からデータ記憶装置に送信されるAV Write Sector(s)コマンドの模式図を示し、（ｂ）は、AV Write Sector(s)コマンドの実行が完了した時に、データ記憶装置からホスト装置に転送されるTask File Registerコマンドの模式図を示す。
【図６】AV Write Sector(s)コマンドを用いてファイルを書き込む手順についての説明に供するフローチャートである。
【符号の説明】
【００６２】
１  ホスト装置、２  データ記憶装置、２０  記録媒体、２１  ヘッド部、２２  ヘッド駆動部、２３  記録媒体駆動部、２４  サーボ制御部、２５  リードライトチャンネル部、２６  制御部、２７  バッファメモリ、２８  不揮発性固体メモリ、２９  ページバッファ、３０  メモリ制御部、３１  演算処理部（ＣＰＵ）、３２  メモリ、３３  インターフェース制御部
【図１】
0004802791.tif 000002
【図２】
0004802791.tif 000003
【図３】
0004802791.tif 000004
【図４】
0004802791.tif 000005
【図５】
0004802791.tif 000006
【図６】
0004802791.tif 000007