[go: up one dir, main page]

JP2007323377A - 記録装置、管理データの書き込み方法および管理データの修復方法 - Google Patents

記録装置、管理データの書き込み方法および管理データの修復方法 Download PDF

Info

Publication number
JP2007323377A
JP2007323377A JP2006153065A JP2006153065A JP2007323377A JP 2007323377 A JP2007323377 A JP 2007323377A JP 2006153065 A JP2006153065 A JP 2006153065A JP 2006153065 A JP2006153065 A JP 2006153065A JP 2007323377 A JP2007323377 A JP 2007323377A
Authority
JP
Japan
Prior art keywords
management data
area
data
recording
recording 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
JP2006153065A
Other languages
English (en)
Inventor
Junji Inoue
淳次 井上
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 JP2006153065A priority Critical patent/JP2007323377A/ja
Publication of JP2007323377A publication Critical patent/JP2007323377A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】管理データを記録媒体に二重に記録する際にオーバーヘッドが大きくなることを防止すると共に、電源遮断時における管理データの修復を適切に行う。
【解決手段】リクエスト内容判別部202は、パーティションに関わる情報を元に、HDD100に書き込むデータが管理データであるかファイルデータであるかの判別を行う。二重書き込み制御部204は、リクエストが管理データに係るものであれば、管理データをHDD100の正管理データ領域に書き込むと共に、その後当該管理データをHDD100の副管理データ領域に書き込む。ドライバレベルで二重書き込み処理を実現する。電源遮断後の起動時には、HDD100内の最終書き込みLBAデータに基づき、電源遮断時に最後に書き込みが行われていた領域を判別し、その結果に基づいて、正副管理データを修復する。
【選択図】図3

Description

この発明は、ファイルシステム(FileSystem)に基づきファイルデータをドライバにより制御されるHDD(Hard Disk Drive)などの記録媒体に記録する記録装置、それに適用される管理データの書き込み方法および修復方法に関する。
詳しくは、この発明は、ドライバまたは記録媒体が、管理データの書き込み時には、記録媒体の各領域の利用用途情報に基づいて管理データであることを認識し、この管理データを正副管理データ領域の双方に書き込む構成とすることによって、管理データの二重書き込みによってオーバーヘッドが大きくなることを防止するようにした記録装置等に係るものである。
また、この発明は、記録媒体にファイルデータおよび正副管理データを記録する他に、最終書き込み位置のデータを記録し、データの書き込み中に電源の遮断があったとき、記録媒体の各領域の利用用途情報および最終書き込み位置のデータに基づいて記録媒体のいずれの領域への書き込み中に電源の遮断があったかを判断し、この判断結果に応じて正副管理データ領域に記録されている管理データの修復を行う構成とすることによって、管理データの修復を適切に行い得るようにした記録装置等に係るものである。
HDDを搭載するシステムにおいては、近年、映像のデジタル録画/再生のニーズが高い。このような映像のデジタル録画/再生(ストリーム録画/再生)を行うには、高いスループットが要求される。高画質のストリームを1つ扱うにはシステムとして3MB/secのスループットが必要となる。ファイルシステム、HDDへはそれよりも高いスループットが要求される。さらに、複数ストリームの録画、再生を行う場合にはさらに厳しいスループットが要求される。一般的に、録画、再生のストリーム数が増加すると、スループットは指数関数的に減少する傾向にある。
ファイルシステム、HDDを搭載した家電機器が爆発的に普及し、外的(停電など)、内的(温度異常など)からなる障害発生による電源遮断後の機器の早期回復のニーズがPCより高い。また、修復時における処理により記録済みコンテンツが破棄されることは望まれていない。
ここで、ファイルシステム、HDDに対する要求として、(1)複数ストリームを扱える高いスループット性能、(2)高速な障害発生からの復帰/修復、(3)障害からの記録済みコンテンツの保護、がある。
ファイルシステムの復旧の高速化を目指した技術として、代表的なものは、ジャーナリングファイルシステム(JournalingFileSystem)である。ジャーナリングファイルシステムの主な機能として、ライト(Write)トランザクションにおけるログの生成と記録がある。
ログの内容はライトトランザクションで更新される管理データの変更履歴である。ファイルシステムによっては、管理データの変更内容までを履歴として残す。ジャーナリングファイルシステムは、ファイルシステムの復旧、修復の際にこのログを参照して障害が発生している可能性のある管理データを判別し、その管理データの内容をチェックして、不整合がある場合は、関連する管理データの別の内容を参照し、不整合がある管理データを修正してファイルシステムの整合性を保つことを行う。
上述のログはログファイルとして記録媒体に記録される。ここで、記録媒体は管理データが記録される記録媒体上もしくは別記録媒体でもよい.ジャーナリングファイルシステムが記録媒体に書き出すデータは、管理データ、ファイル(File)データ、およびログデータである。
この3つのデータは記録媒体への反映順序(書出し順序)を正確に守る必要がある。順序としては、ファイルデータ、ログデータを記録媒体へ反映させた後に、管理データを反映させる必要がある。さもなければ、「ファイルデータが古い内容のまま正しいファイルとして扱われてしまう」、「修復処理の肝となるログと管理データの内容の乖離が大きくなり修復に時間がかかる」、「ファイルシステムとしての整合性を保つために正常なファイルすら破棄されてしまう」、という弊害が生じる。
さらに、障害発生時にログファイルが正常な状態であるという保障はなく、ログファイル自体に障害を生じている場合も考えられる。この場合の修復作業はログを用いずに管理データの内容を全てチェックして整合性を保つ必要があり、復旧には記録されている管理データの内容により時間が増加する傾向がある。
このように、ファイルシステム、HDDに対する、(2)高速な障害発生からの復帰/修復、(3)障害からの記録済みコンテンツの保護、の要求を満たすために、ジャーナリングファイルシステムを使用するには、ログを生成、記録(反映順序)するという処理を行わなくてはならないこと、ログファイルが正常であること等の要件をみたさなければ、要求を満たせないという問題がある。
ファイルシステムを使用するシステムにおいて、記録媒体として最も利用されているのがHDDである。このHDDは、HDDドライバにより制御されるホストコントローラ(HostController)に接続されている。
これらの各機能ブロックの集合を総称してHDDユニット(HDDUnit)とした場合、近年このHDDユニットは大容量化と高速化を目的とした技術向上が行われている。大容量化に関しては現在主流の500GBから数年後には1TBという容量が見込まれており、ファイルシステムが管理する対象であるブロック数が増加する。
高速化技術に関してはHDDユニットへの読み書き要求を各ブロック内でバッファ/キャッシュし、HDD内部でヘッドのシークを最小に抑える、読み書き要求の発行や応答をまとめることにより効率よく読み書きを行う、などの高速化目指した取組みがなされておいる。
これらは、リオーダリング、NCQ(NativeCommand Queuing)、TCQ(Tagged Command Queuing)、クラスタリングといった技術として一般化されている。これらの技術の肝となるのが要求をキューイング(Queuing)し、読み書きのために最適化して次の機能ブロックに対して要求を発行するというものである。これに従いHDDユニットが持つバッファ/キャッシュサイズも増加傾向にある。
要求が各機能ブロックでキューイングされることにより、アプリケーション(Application)からファイルシステム、HDDユニットへの読み書き要求を行っても、記録媒体へ読み書きが終了するまでにタイムラグが生じる。バッファ/キャッシュサイズの増加にともないキューイングされる要求も増加し、タイムラグも増加する。
上述したように、HDDユニットではキューイングにより読み書き要求の順序の入れ替え、集約が行われ、ジャーナリングファイルシステムが望む要件が満たされない状況が発生する。さらに、ログファイルが使用できない場合のファイルシステムの復旧/修復に関しても、HDDの容量が増え管理する対象が増加にするために修復にかかる時間が増加するという問題がある。
この問題への対処方法としては、HDDユニットに対して強制的にバッファ/キャッシュされているデータを記録メディアへ同期させることが考えられる。しかし、これはキューイングを使用しないと等価であり、HDDの高速化を犠牲にするという問題ある。
上述したように、ジャーナリングファイルシステムが目的とする、(2)高速な障害発生からの復帰/修復、(3)障害からの記録済みコンテンツの保護と、HDDが目的とする(1)複数ストリームを扱える高いスループット性能とは技術的に相反しており、双方を組みこむ機器においてはトレードオフの関係となっている。
さらに、上述したようにHDDの高速化が行われて行く中で、ファイルシステム、HDDドライバの処理(CPU処理)時間が全体に対するスループットへの影響が大きくなってきている.特に、家電においては組込まれるCPUのメインストリームはPCより格段に性能(周波数、キャッシュ)が劣り、その影響が大きい。PCや旧来のHDDを使用している分にはHDDへのデータの読み書き(IO処理)による待ち時間(IO待ち時間)中に次のCPU処理が収まっているが、非力なCPUと高速なHDDの組み合わせでは、IO待ち時間が短くCPU処理が長くなる傾向にある。特に、複数ストリームを扱う機器では重大な問題となる。
特許文献1には、ファイルの実データを記録した場所を示す情報(管理データ)を正規情報および予備情報として記録媒体に二重に記録しておき、正規情報に障害が発生して読めなくなった場合に、予備情報を用いて正規情報の復旧を可能とすることが記載されている。
特開2003−6017号公報
上述した特許文献1のようにファイルシステムの管理データを記録媒体に二重に記録しておくものでは、上述したジャーナリングファイルシステムのようにログデータを用いてファイルシステムを復旧する場合に生じる問題はなくなる。
しかし、記録媒体にファイルデータ(実データ)を記録する都度、それに対応して管理データを当該記録媒体に記録する必要があり、この二重書き込みの処理がアプリケーションレベルで行われるものであり、オーバーヘッドが大きくなるという問題がある。
また、この特許文献1に記載される技術では、正規情報が読めなくなった場合に、予備情報に基づいて正規情報を復旧するものであるが、正規情報が読める場合であっても、その内容が正しい状態にあるとは限らない。
この発明の目的は、ファイルシステムの管理データを記録媒体に二重に記録する際にオーバーヘッドが大きくなることを防止することにある。また、この発明の目的は、記録媒体に管理データを二重に記録するものにあって電源遮断時における管理データの修復を適切に行うことにある。
この発明の概念は、
ファイルシステムに基づきファイルデータをドライバにより制御される記録媒体に記録する記録装置であって、
上記記録媒体は、少なくとも上記ファイルデータを記録するファイルデータ領域と、上記ファイルシステムの管理データをそれぞれ記録する正管理データ領域および副管理データ領域を有し、
上記ドライバまたは上記記録媒体は、上記記録媒体の各領域の利用用途情報が格納された情報格納部を有し、
上記ドライバまたは上記記録媒体は、上記管理データの書き込み時には、上記情報格納部に格納されている利用用途情報に基づいて管理データの書き込みであることを認識し、該管理データを上記記録媒体の正管理データ領域および副管理データ領域の双方に書き込む
ことを特徴とする記録装置にある。
この発明においては、ファイルシステムに基づいて、ファイルデータが記録媒体に記録される。この記録媒体はドライバにより制御される。記録媒体は、少なくともファイルデータを記録するファイルデータ領域と、ファイルシステムの管理データをそれぞれ記録する正管理データ領域および副管理データ領域を有している。
ファイルシステムにより記録媒体のファイルデータ領域にファイルデータの記録が行われるとき、それに関連して記録媒体の正、副管理データ領域に管理データの記録が行われる。
この場合、ドライバまたは記録媒体では、記録媒体の所定領域への所定データの書き込みが指示されるとき、記録媒体の各領域の利用用途情報に基づいて、つまり所定領域がファイルデータ領域であるか管理データ領域であるかにより、その所定データがファイルデータであるか管理データであるかが認識される。
そして、ドライバまたは記録媒体の処理により、記録すべき所定データが管理データであるときは、当該所定データが所定領域(正管理データ領域)に記録されると共に、副管理データ領域にも記録される。例えば、副管理データ領域の書き込み位置(例えば記録媒体がHDDであるときはLBA)は、正管理データ領域の書き込み位置に予め設定されているオフセット値を加えることで得られる。
このように、ドライバまたは記録媒体が、管理データの書き込み時には、記録媒体の各領域の利用用途情報に基づいて管理データであることを認識し、この管理データを正副管理データ領域の双方に書き込む構成であり、その二重書き込みのための処理をドライバレベルあるいは記録媒体レベルで行うことから、上位階層の処理で行うものに比べてオーバーヘッドを小さくできる。
また、この発明の概念は、
ファイルシステムに基づきファイルデータを記録媒体に記録する記録装置であって、
上記記録媒体は、少なくとも上記ファイルデータを記録するファイルデータ領域と、上記ファイルシステムの管理データをそれぞれ記録する正管理データ領域および副管理データ領域と、最終書き込み位置のデータを記録する最終位置データ記録領域とを有し、
データの書き込み中に電源の遮断があったとき、上記記録媒体の各領域の利用用途情報および上記最終位置データ記録領域に記録されている最終書き込み位置のデータに基づいて上記記録媒体のいずれの領域への書き込み中に上記電源の遮断があったかを判断し、該判断結果に応じて上記正管理データ領域および上記副管理データ領域に記録されている管理データの修復を行う管理データ修復部を備える
ことを特徴とする記録装置にある。
この発明においては、ファイルシステムに基づいて、ファイルデータが記録媒体に記録される。この記録媒体はドライバにより制御される。記録媒体は、少なくともファイルデータを記録するファイルデータ領域と、ファイルシステムの管理データをそれぞれ記録する正管理データ領域および副管理データ領域と、最終書き込み位置のデータを記録する最終位置データ記録領域を有している。
データの書き込み中に電源の遮断があったとき、記録媒体の各領域の利用用途情報および最終書き込み位置のデータに基づいて、記録媒体のいずれの領域への書き込み時に電源の遮断があったかが判断される。そして、その判断結果に応じて正副管理データ領域に記録されている管理データの修復が行われる。
例えば、正管理データ領域への書き込み中に上記電源の遮断があったときは、副管理データ領域の内容が正管理データ領域にコピーされることで修復が行われる。また例えば、副管理データ領域への書き込み時に上記電源の遮断があったときは、正管理データ領域の内容が副管理データ領域にコピーされることで修復が行われる。
このように、記録媒体のいずれの領域への書き込み時に電源の遮断があったかの判断結果に応じて正副管理データ領域に記録されている管理データの修復が行われることで、正副管理データを適切に修復でき、従ってファイルシステムの復旧を適切に行い得る。
この発明によれば、ドライバまたは記録媒体が、管理データの書き込み時には、記録媒体の各領域の利用用途情報に基づいて管理データであることを認識し、この管理データを正副管理データ領域の双方に書き込む構成とするものであり、管理データの二重書き込みによってオーバーヘッドが大きくなることを防止できる。
また、この発明によれば、記録媒体にファイルデータおよび正副管理データを記録する他に、最終書き込み位置のデータを記録し、電源の遮断があったとき、記録媒体の各領域の利用用途情報および最終書き込み位置のデータに基づいて記録媒体のいずれの領域への書き込み時に電源の遮断があったかを判断し、この判断結果に応じて正副管理データ領域に記録されている管理データの修復を行うものであり、管理データの修復を適切に行うことができる。
以下、図面を参照しながら、この発明の実施の形態について説明する。図1は、実施の形態としての記録装置10の構成を示している。この記録装置10は、ソフトウェア(SW)部分と、ハードウェア(HW)部分とで構成されている。
SW部分は、アプリケーション(Application)106と、システムコールI/F(SystemCall I/F)107と、ファイルシステム(FileSystem)108と、ブロックナンバー(BlockNo)/LBA(Logical Block Addressing)変換処理部110と、HDDドライバ(Driver)111からなっている。
HW部分は、ホストコントローラ114と、記録媒体を構成するHDD100とからなっている。上述したHDDドライバ111は、ホストコントローラ114を介して、HDD100を制御する。HDD100は、データが保存されるディスクメディア104を有し、このディスクメディア104にファイルデータ101、管理テーブル102、パーティションテーブル(Partition Table)103を記録すると共に、不揮発なメモリ空間上に最終書込みLBAデータ105を記録する。
HDD100に記録されている上述のデータは電源が遮断されても永続的に保たれている。また、管理テーブル102には、管理データ109がデータの種類毎にまとめられて複数格納されている。管理データ109のデータの種類には、例えばフリーブロックの管理テーブル、ファイル名、格納先の管理テーブル、ファイルシステムのバージョンナンバー等がある。
本実施の形態では、管理テーブル102の2重書き込みを行うが、説明上、それぞれを正および副として識別する。
図2は、HDD100のパーティション構造を示している。パーティションは最小3つとする。1つは管理テーブル102の正の格納先とし、1つは管理テーブル102の副の格納先とし、1つはファイルの内容であるファイルデータ101の格納先とし、正管理データ領域301、副管理データ領域302、ファイルデータ領域303とする。正管理データ領域301と副管理データ領域と302のパーティションサイズは同じである。
図2では、パーティションを4つとしLBAの中腹に正管理データ領域301と副管理データ領域302を設定し、これら管理データ領域301,302を挟むように、ファイルデータ領域303が存在する。ファイルデータ領域303は、2つのパーティションに分割されているが、連続したLBAとして扱う。
図1において、アプリケーション106は、ファイルを扱うプログラムであり、ファイルデータ112を所有する。ファイルに対する操作は、アプリケーション106からシステムコールI/F107の関数を呼び出すことにより実行される。
システムコールI/Fは、ファイルシステム108に対し、アプリケーション106からのファイル操作にあったファイルシステム108の関数を、ファイル識別とファイルデータ112が格納されているメモリアドレスと、読み出し時にはファイルデータ112を格納するためのメモリアドレスとデータサイズ、処理に対するオプション/フラグなどを引数として呼び出す。
ファイルシステム108は、自身の初期化の際に、HDD100に記録されていた管理テーブル102から必要な管理データ109を読み込む。ファイルシステム108は、システムコールI/Fから呼び出しがあった機能に応じて、書き込みの場合は管理データ109を参照、検索し、操作対象となる管理データ109が格納されているファイルシステム108の管理単位であるブロックナンバーを特定する。
ファイルシステム108は、そのブロックナンバーに対して必要な書換えを行う。また操作対象となる管理データ109がない場合は、生成を行う。ファイルデータ112または管理データ109をHDD100に書き込む際には、ファイルシステム108の管理単位であったフロックナンバーはブロックナンバー/LBA変換処理部110に渡されてLBAに変換される。ブロックナンバーとLBAの変換テーブルはファイルシステム108の構築時に管理データの1つの種類として作成される。
ブロックナンバー/LBA変換処理部110は、変換後のLBAとファイルデータ112または管理データ109の格納メモリアドレスなど、読み込み書き込みに必要となる情報をリクエストとしてまとめて、HDDドライバ111に渡す。HDDドライバ111は、そのリクエストの情報を元にリクエスト内容を判別し、必要に応じて二重書き込み処理をおこない、その内容によってホストコントローラ114を制御する。ホストコントローラ114によって、HDD100に対してデータの送受信を行う。
図3は、管理データの二重書き込みの機能を、HDDドライバ111に実装した例を示している。図3に示すように、HDDドライバ111は、書き込みリクエストキュー(queue)201と、リクエスト内容判別部202と、パーティション利用用途情報格納部203と、二重書き込み制御部204と、コマンド生成部205と、ホストコントローラ制御部206とを有している。
ライトトランザクションを、図1および図3を使用して説明する。アプリケーション106がファイルデータ112をHDD100に書き込む際、ファイルシステム108は、必要となる管理データ109を書き換え、書き換えられた管理データ109を、ファイルデータ112とは別のHDD100へのリクエストとして、HDDドライバ111の書き込みリクエストキュー201に渡す。
リクエストの中には、HDD100のどのLBAにその管理データ109を書くかのアドレス情報が入っている。HDDドライバ111は、パーティションテーブル103およびパーティション利用用途情報格納部203を参照する。ここで、パーティションテーブル103は単に各パーティションの区切りの情報を持つが、パーティション利用用途情報格納部203はさらに各パーティションの利用用途情報、つまりファイルデータを記録するための領域であるか管理テーブルを記録するための領域であるか等の情報を持っている。
リクエスト内容判別部202は、パーティションに関わる情報を元に、HDD100に書き込むデータが管理データ109であるかファイルデータ112であるかの判別を行う。リクエストが管理データ109に対するものであれば、管理データ109を正管理データ領域301に書き込む。
正管理データ領域301への管理データ109の書き込みが行われた後、当該管理データ109を、正管理データ領域301に書き込む際に使用したリクエストの内容にあるHDD100のLBAに対して、正管理データ領域301と副管理データ領域302のLBAのオフセットを加えて、副管理データ領域302に書き込む。
この場合、正管理データ領域301に記録されている内容を副管理データ領域302に反映させることを意図するこれらの処理は、二重書き込み制御部204、コマンド生成部205、ホストコントローラ206で実現される。
ここで、管理データ109の正管理データ領域301への書き込みが終わらなければ、管理データ109の副管理データ領域302への書き込みは行われない。また、副管理データ領域302への管理データ109の書き込みが終了しなければ、次のリクエストの管理データ109の正管理データ領域301への書き込みは行わない。このように、管理データ109の正管理データ領域301、副管理データ領域302への書き込みの間で同期をとる。すなわち、これら正管理データ領域301および副管理データ領域302を同じ書き込み状態とする。
これに対して、リクエストがファイルデータ112に対するものであれば、当該ファイルデータをファイルデータ領域303に書き込む。
また、HDD100の最終書き込みLBAデータ記録部207は、要求の内容からこれから書き込みを行う初めのLBAと書き込みサイズを、最終書き込みLBAデータ105と呼び、不揮発な領域に記録する。この場合、最終書き込みLBAデータ105を、ディスクメディア104の所定領域に記録してもよく、あるいは別途備えられている不揮発性メモリに記録してもよい。
図4は、管理データ109、ファイルデータ112をHDD100に書き込む際の、上述した処理の概略を示している。この書き込み処理では、管理データ109をHDD100に書き込む際には、正管理データ領域301の書き込み内容が副管理データ領域302にも反映され、パーティションレベルでのミラーリングが行われる。
次に、図1に示す記録装置10において、ライト(書き込み)トランザクション中に障害が発生して電源遮断が起きた場合における管理データの修復について説明する。図5は、電源遮断による管理データの修復パターンを示している。修復パターンとしては、パターン1とパターン2とがある。パターン1は、電源遮断のタイミングが、正管理データ領域への書き込み中であり、破壊状況が正管理データ領域の内容に不整合が発生している場合であって、その場合には修復方法としては、副管理データ領域の内容を正管理データ領域にコピーする方法が採られる。この場合には、修復後の状態としては、最後に発行したライトコマンドのデータが反映されていないものとなる。
パターン2は、電源遮断のタイミングが、副管理データ領域への書き込み中であり、破壊状況が副管理データ領域の内容に不整合が発生している場合であって、その場合には修復方法としては、正管理データ領域の内容を副管理データ領域にコピーする方法が採られる。この場合には、修復後の状態としては、最後に発行したライトコマンドのデータが反映されたものとなる。
図5A,Bを用いて、本実施の形態におけるファイルシステムの復旧処理、つまり管理データの修復処理を、さらに説明する。
電源遮断後の記録装置10の起動において、HDD100から最終書き込みLBAデータ105を取得し、またパーティション情報とそのパーティションの利用用途情報を取得し、最後に書き込んでいたLBA(最終書き込みLBA)が、正管理データ領域301、副管理データ領域302、ファイルデータ領域303のいずれであるかを判別する。
最終書き込みLBAがファイルデータ領域303であったときは、管理データの修復作業は行わずに、正管理データ領域301に格納されている管理データを元にファイルシステムをマウントする。
また、最終書き込みLBAが正管理データ領域301であったときは、副管理データ領域302内の全データを、正管理データ領域301にコピーし、その後に正管理データ領域301に格納されている管理データを元にファイルシステムをマウントする。この場合の管理データの修復パターンは、上述した図5のパターン1に相当する。
図6Aは最終書き込みLBAが正管理データ領域301であったときのファイルシステムの状態を示しており、図6Bは修復後のファイルシステムの状態を示している。なお、図6は、HDD100には、管理データが書き込まれた後に、対応するファイルデータが書き込まれるものである。後述する、図7においても、同様である。
また、最終書き込みLBAが副管理データ領域302であったときは、副管理データ領域302内の全データを、正管理データ領域301にコピーし、その後に正管理データ領域301に格納されている管理データを元にファイルシステムをマウントする。この場合の管理データの修復パターンは、上述したパターン2に相当する。
図7Aは最終書き込みLBAが副管理データ領域302であったときのファイルシステムの状態を示しており、図7Bは修復後のファイルシステムの状態を示している。
なお、上述した修復処理は、ソフトウェアでの実装、またはHDD100内のファームとしての実装が可能である。
図1に示す記録装置10によれば、HDDドライバ100には管理データの二重書き込みの機能が実装されており、管理データ109の書き込み時には、当該機能により、管理データ109がHDD100の正副の管理データ領域301,302に二重書き込みされるものであり、上位階層の処理で行うものに比べてオーバーヘッドを小さくできる。
またその際、正管理データ領域301に書き込む際に使用したリクエストの内容にあるHDD100のLBAに対して、正管理データ領域301と副管理データ領域302のLBAのオフセットを加えて、副管理データ領域302へ管理データ109の書き込みを行うものであり、少ないCPU処理時間で二重書き込みを実現できる。
また、図1に示す記録装置10によれば、ライトトランザクション中に電源遮断が起こった場合に、その後の起動時に、HDD100内の最終書き込みLBAデータ記録部207の情報に基づいて、HDD100のいずれの領域への書き込み時に電源の遮断があったかを判断し、その判断結果に応じて管理データの修復を行っているので(図5〜図7参照)、管理データを適切に修復でき、従ってファイルシステムの復旧を適切に行うことができる。
なお、上述実施の形態においては、二重書き込みの機能をHDDドライバ111に実装したものを示したが(図3参照)、この二重書き込みの機能をHDD100に実装することも考えられる。
図8は、管理データの二重書き込みの機能を、HDD100に実装した例を示している。図8に示すように、HDD100は、コマンドキュー(queue)401と、コマンド内容判別部402と、パーティション利用用途情報格納部403と、二重書き込み制御部404と、メディア書き込み制御部405とを有している。
ライトトランザクションで、HDDドライバ114からホストコントローラ114を介して受け取る書き込みコマンドは、コマンドキュー401に入る。このコマンドの中には、HDD100のどのLBAに書き込むかのアドレス情報が入っている。HDD100のコマンド内容判別部402は、パーティションテーブル103およびパーティション利用用途情報格納部403を参照し、これから書き込むデータが管理データ109かファイルデータ112かの判別を行う。
書き込みコマンドが管理データ109に対するものであれば、管理データ109を正管理データ領域301に書き込む。正管理データ領域301への管理データ109の書き込みが行われた後、当該管理データ109を、正管理データ領域301に書き込む際に使用したリクエストの内容にあるHDD100のLBAに対して、正管理データ領域301と副管理データ領域302のLBAのオフセットを加えて、副管理データ領域302に書き込む。
この正管理データ領域301に記録されている内容を副管理データ領域302にも反映させることを意図する処理は、二重書き込み制御部404、メディア書き込み制御部405で実現される。
なお、書き込みコマンドがファイルデータ112に対するものであれば、ファイルデータ112を、ファイルデータ領域303に書き込む。
このように二重書き込みの機能がHDD100に実装されるものにあっても、上述したように二重書き込みの機能がHDDドライバ111に実装されるものと同様に、上位階層の処理で行うものに比べてオーバーヘッドを小さくできる。
また、上述実施の形態においては、記録媒体がHDD100である記録装置10にこの発明を適用したものであるが、この発明は、その他の記録媒体を使用するものにも同様に適用できることは勿論である。
この発明は、管理データの二重書き込みによってオーバーヘッドが大きくなることを防止でき、また電源の遮断があった場合にその管理データの修復を適切に行うことができるものであり、ファイルシステムに基づきファイルデータをHDDなどの記録媒体に記録する記録装置に適用できる。
実施の形態としての記録装置の構成を示すブロック図である。 HDDのパーティション構造を説明するための図である。 二重書き込みの機能をHDDドライバに実装した場合における、HDDドライバの機能ブロックを示す図である。 管理データ、ファイルデータの書き込み処理の概略を示す図である。 電源遮断による管理データの修復パターンを示す図である。 最終書き込みLBAが正管理データ領域であったときのファイルシステムの修復前および修復後の状態を示している。 最終書き込みLBAが副管理データ領域であったときのファイルシステムの修復前および修復後の状態を示している。 二重書き込みの機能をHDDに実装した場合における、HDDの機能ブロックを示す図である
符号の説明
10・・・記録装置、101・・・ファイルデータ、102・・・管理テーブル、103・・・パーティションテーブル、104・・・ディスクメディア、105・・・最終書き込みLBAデータ、106・・・アプリケーション、107・・・システムコールI/F、108・・・ファイルシステム、109・・・管理データ、110・・・ブロックナンバー/LBA変換処理部、111・・・HDDドライバ、112・・・ファイルデータ、113・・・パーティションテーブル、114・・・ホストコントローラ、201・・・書き込みリクエストキュー、202・・・リクエスト内容判別部、203・・・パーティション利用用途情報格納部、204・・・二重書き込み制御部、205・・・コマンド生成部、206・・・ホストコントローラ制御部、207・・・最終書き込みLBAデータ記録部、301・・・正管理データ領域、302・・・副管理データ領域、303・・・ファイルデータ領域、401・・・コマンドキュー、402・・・コマンド内容判別部、403・・・パーティション利用用途情報格納部、404・・・二重書き込み制御部、405・・・メディア書き込み制御部

Claims (6)

  1. ファイルシステムに基づきファイルデータをドライバにより制御される記録媒体に記録する記録装置であって、
    上記記録媒体は、少なくとも上記ファイルデータを記録するファイルデータ領域と、上記ファイルシステムの管理データをそれぞれ記録する正管理データ領域および副管理データ領域を有し、
    上記ドライバまたは上記記録媒体は、上記記録媒体の各領域の利用用途情報が格納された情報格納部を有し、
    上記ドライバまたは上記記録媒体は、上記管理データの書き込み時には、上記情報格納部に格納されている利用用途情報に基づいて管理データの書き込みであることを認識し、該管理データを上記記録媒体の正管理データ領域および副管理データ領域の双方に書き込む
    ことを特徴とする記録装置。
  2. ファイルシステムに基づきファイルデータをドライバにより制御される記録媒体に記録し、該記録媒体は上記ファイルデータを記録するファイルデータを記録領域と上記ファイルシステムの管理データをそれぞれ記録する正管理データ領域および副管理データ領域を有する記録装置における管理データの書き込み方法であって、
    上記ドライバまたは上記記録媒体が上記ファイルシステムによる上記記録媒体の所定領域への所定データの書き込み指示が上記管理データの書き込みであるか否かを、上記記録媒体の各領域の利用用途情報に基づいて判定する判定ステップと、
    上記判定ステップで上記管理データの書き込みであると判定されるとき、上記ドライバまたは上記記録媒体が上記所定データを上記正管理データ領域および副管理データ領域に順次書き込む書き込みステップと
    を備えることを特徴とする管理データの書き込み方法。
  3. ファイルシステムに基づきファイルデータを記録媒体に記録する記録装置であって、
    上記記録媒体は、少なくとも上記ファイルデータを記録するファイルデータ領域と、上記ファイルシステムの管理データをそれぞれ記録する正管理データ領域および副管理データ領域と、最終書き込み位置のデータを記録する最終位置データ記録領域とを有し、
    データの書き込み中に電源の遮断があったとき、上記記録媒体の各領域の利用用途情報および上記最終位置データ記録領域に記録されている最終書き込み位置のデータに基づいて上記記録媒体のいずれの領域への書き込み中に上記電源の遮断があったかを判断し、該判断結果に応じて上記正管理データ領域および上記副管理データ領域に記録されている管理データの修復を行う管理データ修復部を備える
    ことを特徴とする記録装置。
  4. 上記管理データ修復部は、上記記録媒体の正管理データ領域への書き込み中に上記電源の遮断があったときは、上記副管理データ領域の内容を上記正管理データ領域にコピーする
    ことを特徴とする請求項3に記載の記録装置。
  5. 上記管理データ修復部は、上記記録媒体の副管理データ領域への書き込み中に上記電源の遮断があったときは、上記正管理データ領域の内容を上記副管理データ領域にコピーする
    ことを特徴とする請求項3に記載の記録装置。
  6. ファイルシステムに基づきファイルデータを記録媒体に記録し、該記録媒体は上記ファイルデータを記録するファイルデータを記録領域と上記ファイルシステムの管理データをそれぞれ記録する正管理データ領域および副管理データ領域と、最終書き込み位置のデータを記録する最終位置データ記録領域とを有する記録装置における管理データの修復方法であって、
    データの書き込み中に電源の遮断があったとき、上記記録媒体の各領域の利用用途情報および上記記録媒体に記録されている最終書き込み位置のデータに基づいて上記記録媒体のいずれの領域への書き込み中に上記電源の遮断があったかを判断する判断ステップと、
    上記判断ステップの判断結果に応じて上記正管理データ領域および上記副管理データ領域に記録されている管理データの修復を行う修復ステップと
    を備えることを特徴とする管理データの修復方法。
JP2006153065A 2006-06-01 2006-06-01 記録装置、管理データの書き込み方法および管理データの修復方法 Pending JP2007323377A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006153065A JP2007323377A (ja) 2006-06-01 2006-06-01 記録装置、管理データの書き込み方法および管理データの修復方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006153065A JP2007323377A (ja) 2006-06-01 2006-06-01 記録装置、管理データの書き込み方法および管理データの修復方法

Publications (1)

Publication Number Publication Date
JP2007323377A true JP2007323377A (ja) 2007-12-13

Family

ID=38856122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006153065A Pending JP2007323377A (ja) 2006-06-01 2006-06-01 記録装置、管理データの書き込み方法および管理データの修復方法

Country Status (1)

Country Link
JP (1) JP2007323377A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385486A (zh) * 2010-09-03 2012-03-21 深圳市拾三意强者科技有限公司 一种磁盘还原穿透方法、装置及设备
JP2013232075A (ja) * 2012-04-27 2013-11-14 Brother Ind Ltd 情報処理装置及びプログラム
US9460005B2 (en) 2012-12-04 2016-10-04 Samsung Electronics Co., Ltd. Storage devices including memory device and methods of operating the same

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0327429A (ja) * 1989-06-23 1991-02-05 Sanyo Electric Co Ltd 情報処理装置におけるデータの二重化方法
JPH09319640A (ja) * 1996-05-27 1997-12-12 Sharp Corp 情報記録再生装置
JP2000020248A (ja) * 1998-06-26 2000-01-21 Nippon Digital Kenkyusho:Kk ディスクの障害回復方法、ディスクドライバおよび記録媒体
JP2004295563A (ja) * 2003-03-27 2004-10-21 Fujitsu Ltd データの整合性を保つための高信頼化されたデータ管理方法
WO2005003952A1 (ja) * 2003-07-07 2005-01-13 Hitachi Ulsi Systems Co., Ltd. 記憶装置および記憶システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0327429A (ja) * 1989-06-23 1991-02-05 Sanyo Electric Co Ltd 情報処理装置におけるデータの二重化方法
JPH09319640A (ja) * 1996-05-27 1997-12-12 Sharp Corp 情報記録再生装置
JP2000020248A (ja) * 1998-06-26 2000-01-21 Nippon Digital Kenkyusho:Kk ディスクの障害回復方法、ディスクドライバおよび記録媒体
JP2004295563A (ja) * 2003-03-27 2004-10-21 Fujitsu Ltd データの整合性を保つための高信頼化されたデータ管理方法
WO2005003952A1 (ja) * 2003-07-07 2005-01-13 Hitachi Ulsi Systems Co., Ltd. 記憶装置および記憶システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385486A (zh) * 2010-09-03 2012-03-21 深圳市拾三意强者科技有限公司 一种磁盘还原穿透方法、装置及设备
CN102385486B (zh) * 2010-09-03 2014-01-01 深圳市拾三意强者科技有限公司 一种磁盘还原穿透方法、装置及设备
JP2013232075A (ja) * 2012-04-27 2013-11-14 Brother Ind Ltd 情報処理装置及びプログラム
US9460005B2 (en) 2012-12-04 2016-10-04 Samsung Electronics Co., Ltd. Storage devices including memory device and methods of operating the same

Similar Documents

Publication Publication Date Title
US7975168B2 (en) Storage system executing parallel correction write
JP4374364B2 (ja) ストレージ装置、ストレージシステム、及びストレージ装置の電源制御方法
JP5409159B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
US7487400B2 (en) Method for data protection in disk array systems
JP2005063441A (ja) 4kブロックサイズを用いてハードディスクドライブへの書き込みを行うハードディスクドライブコントローラおよびそれを用いたハードディスクドライブ
US10346051B2 (en) Storage media performance management
JP3904894B2 (ja) バックアップ管理方法およびこの方法に用いる記憶制御装置
US8938641B2 (en) Method and apparatus for synchronizing storage volumes
US20090177916A1 (en) Storage system, controller of storage system, control method of storage system
JP2007280111A (ja) ストレージシステム及びその性能チューニング方法
JP2004213470A (ja) ディスクアレイ装置及びディスクアレイ装置におけるデータ書き込み方法
JP2006059347A (ja) ジャーナリングを使用した記憶システム
JP2007323377A (ja) 記録装置、管理データの書き込み方法および管理データの修復方法
US9081505B1 (en) Method and system for improving disk drive performance
JP2002278706A (ja) ディスクアレイ装置
JP2018022404A (ja) ストレージシステム、ストレージ制御装置およびストレージ制御プログラム
JP4704463B2 (ja) ストレージ制御装置、ストレージ制御プログラム、ストレージ制御方法
US12073089B2 (en) Storage device and data recovery method by storage device
JP5585930B2 (ja) ディスクアレイ装置、及びデータ制御方法
JP2005242708A (ja) ファイル修復方法、およびファイル記録装置
JP2005316697A (ja) ディスクアレイシステムおよびデータバックアップ方法
JP4798003B2 (ja) 記録装置、記録方法、プログラムおよび光ディスク記録装置
JP2006277042A (ja) アレイコントローラ、ディスクアレイ制御方法及びプログラム
KR100640602B1 (ko) 디스크 드라이브의 데이터 복구 방법
JP2010015253A (ja) 記録再生装置および記録再生方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120710