(57)【特許請求の範囲】
【請求項１】
複数の記憶モジュールと、
前記複数の記憶モジュールを制御する記録制御部と、
前記複数の記憶モジュールの各々を識別する識別情報を保持する管理情報記憶部と、を備え、
前記記憶モジュールの各々は、
アドレス変換テーブルのデータを保持するテーブル記憶領域、および、ユーザのデータを保持するユーザデータ記憶領域を有するフラッシュメモリと、
前記フラッシュメモリのデータの読み出しと書き込みを行うとともに、前記アドレス変換テーブルを初期化するフラッシュメモリ制御部と、を備え、
前記記録制御部は、
データの書き込み要求に対して、書き込みデータに対応するパリティデータを生成し、前記生成したパリティデータを、前記複数の記憶モジュールのいずれかへ書き込むパリティ生成部と、
データの読み出し要求に対して、前記複数の記憶モジュールの各々から読み出されたデータについてエラーを検出するエラー検出部と、
前記エラー検出部が前記エラーを検出した場合に、前記エラーが検出された記憶モジュール以外の記憶モジュールから読み出したデータとパリティデータとを用いて、前記エラーが検出された記憶モジュールのデータを復旧するデータ復旧部と、
初期化要求に対して、前記管理情報記憶部が保持している前記識別情報に基づき初期化対象の記憶モジュールを特定し、特定された前記初期化対象の記憶モジュールの前記アドレス変換テーブルを初期化するように、前記フラッシュメモリ制御部に指示し、前記初期化対象の記憶モジュールを識別する前記識別情報を前記管理情報記憶部に格納し、
初期化要求を取り消す要求に対して、前記管理情報記憶部が保持している前記識別情報に対応する前記初期化対象の記憶モジュールから読み出されるデータを、エラーとして処理するように前記エラー検出部に指示する、初期化制御部と、を備える、
記録装置。
【請求項２】
前記初期化制御部は、前記初期化要求に対して、前記管理情報記憶部が保持している前回初期化された記憶モジュールの識別情報を基に、次に初期化する記憶モジュールを特定する、
請求項１に記載の記録装置。
【請求項３】
前記初期化対象の記憶モジュールにおいて、前記フラッシュメモリ制御部は、前記アドレス変換テーブルを初期化するとともに、前記フラッシュメモリ内のデータを物理的に消去する、
請求項１に記載の記録装置。
【請求項４】
前記初期化制御部は、前記初期化要求が、初期化を行う領域を指定された初期化要求である場合に、前記複数の記憶モジュールから前記初期化対象の記憶モジュールを特定し、
前記特定された記憶モジュールの前記フラッシュメモリ制御部は、
前記初期化要求に対して、前記アドレス変換テーブルを初期化するとともに、初期化された識別情報と初期化が行われた領域の情報とを格納し、
前記初期化要求を取り消す要求に対して、前記特定された記憶モジュールの前記フラッシュメモリ制御部に格納された識別情報と初期化が行われた領域の情報を取得し、取得した識別情報に対応する記憶モジュールの初期化が行われた領域からのデータの読み出しをエラーとして処理する、
請求項１に記載の記録装置。
【請求項５】
請求項１に記載の記録装置と、
前記記録装置に対して、前記データの書き込み要求と、前記データの読み出し要求と、初期化要求と、初期化要求を取り消す要求と、を発行するホスト装置と、
を備える情報処理装置。
【請求項６】
前記ホスト装置は、ユーザインタフェースを有し、ユーザからの指示により、前記記録装置に対して、前記記憶モジュールの初期化要求を発行する、
請求項５に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、記録装置、並びに、これを利用した情報処理装置に関する。
【背景技術】
【０００２】
特許文献１は、フラッシュメモリが内蔵された記録装置を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１４１９４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示は、誤ったトリムの実行要求があった場合でも、貴重なデータの復旧ができる記録装置および情報処理装置を提供する。
【課題を解決するための手段】
【０００５】
本開示における記録装置は、複数の記憶モジュールと、複数の記憶モジュールを制御する記録制御部と、複数の記憶モジュールの各々を識別する識別情報を保持する管理情報記憶部とを備える。
【０００６】
記憶モジュールの各々は、フラッシュメモリと、フラッシュメモリ制御部とを備える。フラッシュメモリは、アドレス変換テーブルのデータを保持するテーブル記憶領域と、ユーザのデータを保持するユーザデータ記憶領域とを有する。フラッシュメモリ制御部は、フラッシュメモリのデータの読み出しと書き込みを行うとともに、アドレス変換テーブルを初期化する。
【０００７】
記録制御部は、パリティ生成部と、エラー検出部と、データ復旧部と、初期化制御部とを有する。初期化制御部は、アドレス変換テーブル初期化部と、記憶モジュール選択部とを有する。
【０００８】
パリティ生成部は、データの書き込み要求に対して、書き込みデータに対応するパリティデータを生成し、生成したパリティデータを、複数の記憶モジュールのいずれかへ書き込む。
【０００９】
エラー検出部は、データの読み出し要求に対して、読み出し対象の複数の記憶モジュールの各々から読み出されたデータについてエラーを検出する。
【００１０】
データ復旧部は、エラー検出部がエラーを検出した場合に、エラーが検出された記憶モジュール以外の記憶モジュールから読み出したデータとパリティデータとを用いて、エラーが検出された記憶モジュールのデータを復旧する。
【００１１】
初期化制御部は、記憶モジュールへの初期化要求に対して、管理情報記憶部が保持している識別情報に基づき初期化対象の記憶モジュールを特定する。そして、特定された初期化対象の記憶モジュールのアドレス変換テーブルを初期化するように、フラッシュメモリ制御部に指示する。さらに、初期化対象の記憶モジュールを識別する識別情報を管理情報記憶部に格納する。
【００１２】
また、初期化制御部は、記憶モジュールの初期化要求を取り消す要求に対して、管理情報記憶部が保持している識別情報に対応する初期化対象の記憶モジュールから読み出されるデータを、エラーとして処理するようにエラー検出部に指示する。
【発明の効果】
【００１３】
本開示によれば、誤ったトリムの要求によりアドレス変換テーブルの初期化処理を実行した場合でも、元のデータの復旧が可能な記録装置を提供できる。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施の形態１における情報処理装置の全体構成を示すブロック図である。
【図２】図２は、実施の形態１における記録装置の構成を示すブロック図である。
【図３】図３は、実施の形態１における記憶モジュールの構成を示すブロック図である。
【図４】図４は、実施の形態１におけるアドレス変換テーブルの構造の概要を示す図である。
【図５】図５は、実施の形態１における初期化後のアドレス変換テーブルの構造の概要を示す図である。
【図６】図６は、実施の形態１における情報処理装置の動作を示すシーケンス図である。
【図７】図７は、実施の形態１におけるパリティデータを用いたデータ復旧処理を行うためのデータ記録方法について説明する図である。
【図８】図８は、実施の形態１におけるデータ復旧時の処理を説明する図である。
【発明を実施するための形態】
【００１５】
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【００１６】
なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために、提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
【００１７】
（実施の形態１）
以下、図１〜８を用いて、実施の形態１を説明する。
【００１８】
［１−１．構成］
［１−１−１．情報処理装置の全体構成］
図１は、実施の形態１における情報処理装置の全体構成を示すブロック図である。情報処理装置は、ホスト装置２００と記録装置１００とで構成される。ホスト装置２００は、ＣＰＵ２１０と、表示部２２０と、ホスト装置Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２３０とを有する。ＣＰＵ２１０は、ホスト装置２００全体を制御する。表示部２２０は、液晶ディスプレイ等の表示装置である。ホスト装置Ｉ／Ｆ２３０は、ホスト装置２００が記録装置１００にアクセスするためのインタフェースである。ホスト装置２００は、プロトコル変換を行うアダプタなどを介して、記録装置１００にアクセスしてもよい。
【００１９】
［１−１−２．記録装置の構成］
図２は、実施の形態１における記録装置１００の構成を示すブロック図である。記録装置１００は、ホストＩ／Ｆ１１０と、記録制御部１２０と、管理情報記憶部１３０と、装置バッファ１３５と、記憶モジュールＩ／Ｆ１４０と、複数の記憶モジュール１５０（１５０Ａ〜１５０Ｅ）とを有する。実施の形態１では、記録装置１００が５つの記憶モジュール１５０Ａ〜１５０Ｅを有する形態について説明するが、記憶モジュール１５０の数は５つに限定されず、複数であればよい。
【００２０】
ホストＩ／Ｆ１１０は、ホスト装置２００とホスト装置Ｉ／Ｆ２３０により接続される。記録制御部１２０は、ホストＩ／Ｆ１１０を介して、ホスト装置２００との間でコマンドの送受信を行う。記録制御部１２０は、記録装置１００全体を制御する。記録制御部１２０は、ハードウェアのみで構成してもよいし、ハードウェアとソフトウェアとを組み合わせることにより実現してもよい。記録制御部１２０は、マイコンなどで実現してもよい。管理情報記憶部１３０は、メモリを備える。管理情報記憶部１３０は、初期化が行われた記憶モジュール１５０を識別する情報をメモリに保持する。装置バッファ１３５は、ホスト装置２００および記憶モジュール１５０との間で送受信を行うデータを、一時的に保持する。なお、管理情報記憶部１３０と装置バッファ１３５とは、同一のメモリを用いて構成してもよい。記憶モジュールＩ／Ｆ１４０は、記憶モジュール１５０に対して、初期化、データの読み出し、および、データの書き込みのためのコマンドを発行するためのインタフェースである。
【００２１】
記録制御部１２０は、パリティ生成部１２１と、エラー検出部１２２と、データ復旧部１２３と、初期化制御部１２４とを有する。初期化制御部１２４は、アドレス変換テーブル初期化部１２５と、記憶モジュール選択部１２６とを有する。
【００２２】
パリティ生成部１２１は、記憶モジュール１５０に書き込まれるデータを復旧するためのパリティデータを生成し、装置バッファ１３５に対して書き込む。さらに、記憶モジュールＩ／Ｆ１４０経由で、記憶モジュール１５０Ａ〜１５０Ｅに対して、装置バッファ１３５に書き込んだパリティデータの書き込みを指示する。
【００２３】
エラー検出部１２２は、記憶モジュールＩ／Ｆ１４０経由で記憶モジュール１５０から読み出したデータがエラーであるか否かを判断する。データがエラーであることの判断は、エラー訂正コード（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ、ＥＣＣ）を用いて行ってもよい。例えば、記憶モジュール１５０へのデータの書き込み時に、セクタ単位ごとにエラー訂正コードを付与しておく。そして、記憶モジュール１５０からのデータの読み出し時に、このエラー訂正コードを用いて、読み出したデータがエラーであるかを判断する。
【００２４】
データ復旧部１２３は、エラー検出部１２２がエラーと判断したデータを、そのデータが記憶されていた記憶モジュール１５０以外の記憶モジュール１５０のデータを用いて正常なデータとなるように復旧する。データの復旧処理について詳しくは後述する。
【００２５】
アドレス変換テーブル初期化部１２５は、記憶モジュールＩ／Ｆ１４０経由で、記憶モジュール１５０に対して、アドレス変換テーブル１５８の初期化を指示する。
【００２６】
記憶モジュール選択部１２６は、初期化を行う記憶モジュール１５０を選択する。記憶モジュール選択部１２６は、管理情報記憶部１３０を管理し、必要な情報を保持するために利用する。
【００２７】
記憶モジュール１５０Ａ〜１５０Ｅは、共通の構成である。なお、記憶モジュール１５０Ａ〜１５０Ｅは、異なる構成であってもよい。共通の構成である場合の記憶モジュール１５０について、図３に示す。記憶モジュール１５０は、モジュールＩ／Ｆ１５１と、フラッシュメモリ制御部１５２と、バッファ１５４と、フラッシュメモリＩ／Ｆ１５５と、フラッシュメモリ１５６とを有する。
【００２８】
モジュールＩ／Ｆ１５１は、記録制御部１２０からのコマンドを受け付け、フラッシュメモリ制御部１５２へ渡す。また、モジュールＩ／Ｆ１５１は、記録制御部１２０とバッファ１５４との間のデータ転送を行う。
【００２９】
フラッシュメモリ制御部１５２は、記憶モジュール１５０全体を制御する。フラッシュメモリ制御部１５２は、ハードウェアまたはマイコンなどで実現できる。バッファ１５４は、記録制御部１２０とフラッシュメモリ１５６との間で受け渡すデータを、一時的に保持する。フラッシュメモリＩ／Ｆ１５５は、フラッシュメモリ１５６に対して、初期化処理を実行するとともに、読み出し要求や書き込み要求を発行する。
【００３０】
フラッシュメモリ制御部１５２は、テーブル初期化部１５３を有する。テーブル初期化部１５３は、最新の有効なアドレス変換テーブル１５８が存在するアドレスを特定して、そのアドレス変換テーブル１５８を初期化する。
【００３１】
フラッシュメモリ制御部１５２は、読み出しのためのコマンドを記録制御部１２０から受け取った時には、テーブル記憶領域１５７内のアドレス変換テーブル１５８を読み出し、ユーザのデータ（ユーザーデータ）が存在するアドレスを求める。その後、フラッシュメモリ制御部１５２は、求めたアドレスを基に、ユーザデータ記憶領域１５９内のユーザデータを読み出す。
【００３２】
フラッシュメモリ制御部１５２は、記録制御部１２０から書き込みのためのコマンドを受け取った時には、アドレス変換テーブル１５８を読み出して、ユーザデータを書き込むべき領域を特定する。フラッシュメモリ制御部１５２は、特定した領域に、ユーザデータを書き込むとともに、アドレス変換テーブル１５８を更新する。
【００３３】
フラッシュメモリ１５６は、テーブル記憶領域１５７と、ユーザデータ記憶領域１５９とを有する。テーブル記憶領域１５７は、アドレス変換テーブル１５８のデータを記憶する領域であり、論理アドレスと物理アドレスとを変換するための管理データを保持する。ユーザデータ記憶領域１５９は、ユーザが読み出しと書き込みを行うユーザーのデータ（ユーザーデータ）を記憶しておく領域である。フラッシュメモリ制御部１５２は、フラッシュメモリＩ／Ｆ１５５を介して、フラッシュメモリ１５６に対するデータの読み出しと書き込みの処理や、アドレス変換テーブル１５８に対する初期化の処理などを行う。
【００３４】
［１−１−３．テーブル記憶領域の初期化時のデータ構成］
図４は、アドレス変換テーブル１５８内にデータとして保持されている情報を示す。ここでは、一例として、テーブル記憶領域１５７は、アドレス変換テーブル１５８を構成するために、テーブルポインタテーブル４００と、３つのブロック４２０〜４４０を備えているものとする。アドレス変換テーブル１５８は、論理的に４つの更新単位テーブルａ〜ｄに分割されているものとする。さらに、それぞれの更新単位テーブルは、複数のエントリを有している。それぞれのエントリは、論理アドレスと物理アドレスとを変換するための管理データを有している。図示するように、ブロック４２０〜４４０のうちのブロック４２０およびブロック４３０を使用して更新単位テーブルａ〜ｄの内容が保持されている。テーブル記憶領域１５７の記憶内容のうち、７個の更新単位テーブルの内容が無効となっている。有効な更新単位テーブルａおよび有効な更新単位テーブルｄは、ブロック４３０に格納されている。また、有効な更新単位テーブルｂおよび有効な更新単位テーブルｃは、ブロック４２０に格納されている。更新単位テーブルａ〜ｄのそれぞれにかかる有効な内容の格納位置は、テーブルポインタテーブル４００に保持されるポインタ４０２により特定できる。図４の例においては、テーブルポインタテーブル４００に保持されるそれぞれのポインタ４０２は、論理アドレスと対応づけられており、論理アドレスの少なくとも一部をインデックス４０１として用いることにより検索される。このインデックス４０１は、更新単位テーブルを構成するエントリに含まれるそれぞれの論理アドレスに共通の上位のビットにより構成し、テーブルポインタテーブル４００に登録しておいてもよい。ブロック４２０〜４４０内の有効なテーブルは、例えば、ブロックの先頭から有効なエントリを順次検索していくことにより、検出可能である。
【００３５】
次に、テーブル初期化処理における情報の更新について説明する。図５は、テーブル初期化処理を行った後の、アドレス変換テーブル１５８内に保持されている情報を示している。テーブルポインタテーブル４００のポインタ４０２のみを初期化するために、テーブル記憶領域１５７内のあらたな領域にテーブルポインタテーブル４００を生成する。これにより、ポインタ４０２の内容がリセットされ、新規の書き込みに対して、これまでの書き込みを全て無効にすることが可能になる。この処理は、テーブルポインタテーブル４００のみの書き込みで済むために、高速に処理することができる。
【００３６】
［１−２．動作］
［１−２−１．ホスト装置と記録装置間のシーケンス］
図６は、ホスト装置２００と記録装置１００との間における動作のシーケンスを示す。
【００３７】
通常の読み出し、あるいは、書き込み時には、ホスト装置２００は、Ｒｅａｄ／Ｗｒｉｔｅ要求を記録装置１００に発行する（Ｓ１０１）。すなわち、読み出し時にはＲｅａｄ要求を発行し、書き込み時にはＷｒｉｔｅ要求を発行する。Ｒｅａｄ／Ｗｒｉｔｅ要求を受け取った記録装置１００は、要求に応じて記憶モジュール１５０に対して、読み出しあるいは書き込みを行い、その完了をホスト装置２００に対して通知する（Ｓ１０２）。記録装置１００は、読み出し時には、完了の通知とともに、記憶モジュール１５０から読み出したデータをホスト装置２００に対して返す。書き込み時には、書き込みデータと、パリティ生成部１２１で生成したパリティデータとを、各記憶モジュール１５０に対して書き込む。さらに、書き込み時には、ユーザデータ記憶領域への書き込み内容に応じて、フラッシュメモリ１５６内のアドレス変換テーブル１５８を更新する。
【００３８】
次に、ホスト装置２００が、記録装置１００にテーブル初期化要求を発行した場合について説明する（Ｓ１０３）。ホスト装置２００からテーブル初期化要求を受け取ると、記憶モジュール選択部１２６は、記憶モジュール１５０Ａ〜１５０Ｅの中からテーブル初期化を行う対象の記憶モジュール１５０を選択する。記憶モジュール選択部１２６は、管理情報記憶部１３０から前回初期化された記憶モジュール１５０の識別情報を取得し、前回初期化された記憶モジュール１５０以外の記憶モジュール１５０を、テーブル初期化対象の記憶モジュール１５０として選択する。アドレス変換テーブル初期化部１２５は、選択された記憶モジュール１５０に対して、初期化要求を発行する。初期化要求を受け取った記憶モジュール１５０において、テーブル初期化部１５３が、テーブル初期化処理を実行する（Ｓ１０４）。初期化制御部１２４は、初期化された記憶モジュール１５０を識別する識別情報を管理情報記憶部１３０に記憶させた上で、モジュール初期化の完了をホスト装置２００に対して通知する（Ｓ１０５）。その後、ホスト装置２００は、通常の読み出し、書き込み処理を必要に応じて行う（Ｓ１０６）。
【００３９】
次に、ホスト装置２００が誤ったテーブル初期化要求を発行した場合について説明する（Ｓ１０７）。記録装置１００は、上述のアドレス変換テーブル初期化の処理Ｓ１０４とモジュール識別情報更新Ｓ１０５と同等の処理を行う（Ｓ１０８、Ｓ１０９）。この誤ったアドレス変換テーブル初期化により失われたデータを復旧するために、ホスト装置２００は、アドレス変換テーブル初期化無効化要求、すなわち、アドレス変換テーブル１５８の初期化の要求を取り消す要求を記録装置１００に対して発行する（Ｓ１１０）。記録装置１００が要求を受け取ると、初期化制御部１２４は、管理情報記憶部１３０から初期化された記憶モジュール１５０を識別する識別情報を読み出す。さらに、初期化制御部１２４は、読み出すべき記憶モジュール１５０のデータを復旧するために、アドレス変換テーブル１５８が初期化された記憶モジュール１５０のデータをエラーとして扱うようにエラー検出部１２２に指示する。そして、テーブル初期化無効化の完了をホスト装置２００に対して通知する（Ｓ１１１）。その後、ホスト装置２００は、通常の読み出しを行うためにＲｅａｄ要求を記録装置１００に対して発行する（Ｓ１１２）。Ｒｅａｄ要求を受けた記録装置１００は、アドレス変換テーブル１５８が誤って初期化された記憶モジュール１５０からのデータの読み出しを、エラー検出部１２２でエラーとして判断させる。この判断に基づき、データ復旧部１２３は、誤って初期化された記憶モジュール１５０以外の記憶モジュール１５０のデータとパリティデータとを用いて、正常なデータを復旧する。そして、復旧したデータをホスト装置２００に対して送信する（Ｓ１１３）。
【００４０】
［１−２−２．データ復旧処理］
図７は、パリティデータを用いたデータ復旧処理を行うためのデータ記録方法について説明する図である。この動作は、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）の方式に基づきハードディスクの信頼性を向上させる技術である。ここでは、複数台のハードディスクを組み合わせることで仮想的な１台のハードディスクとして運用し、冗長な構成により信頼性を向上させる。
【００４１】
記録装置１００は、ホスト装置２００からの書き込み要求に対して、パリティ生成部１２１でデータ復旧用のパリティデータを生成する。さらに、生成したパリティデータと、ホスト装置２００からの書き込みデータとを、記憶モジュール１５０Ａ〜１５０Ｅに対して、等しいサイズで書き込む。記録装置１００は、たとえば、セクタ（５１２Ｂｙｔｅ）単位や、フラッシュメモリのページサイズ（４ＫＢｙｔｅ）単位での書き込みを行う。一例として、図７に示すように、記録装置１００は、ホスト装置２００からの書き込みデータを４つに分割し、４つの記憶モジュール１５０Ａ〜１５０Ｄにそれぞれ書き込む。あわせて、分割された４つのデータからパリティデータを生成し、残り１つの記憶モジュール１５０Ｅに書き込む。信頼性の向上のために、記録装置１００は、この書き込み処理において、パリティデータを書き込む記憶モジュール１５０を順次変更する。パリティデータを含む５つの記憶モジュール１５０の１つのデータがエラーとなっても、他の４つの記憶モジュール１５０のデータからエラーとなったデータを復旧することができる。
【００４２】
図８は、誤ったアドレス変換テーブル初期化から復旧する場合を説明する図である。図８は、記憶モジュール１５０Ｃのアドレス変換テーブル１５８が誤って初期化された場合の例である。この場合、初期化制御部１２４からの指示に基づきエラー検出部１２２は、記憶モジュール１５０Ｃへの読み出し要求に対して、記憶モジュール１５０Ｃから読み出すデータを必ずエラーとなるように判断する。そして、エラー検出部１２２は、記憶モジュール１５０Ｃからの読み出しがエラーであったことを、データ復旧部１２３に通知する。データ復旧部１２３は、記憶モジュール１５０Ｃ以外の記憶モジュール１５０から読み出したデータとパリティデータにより、記憶モジュール１５０Ｃのデータを復旧する。
【００４３】
［１−３．効果等］
以上のように、実施の形態１において、記録装置１００は、複数の記憶モジュール１５０と、複数の記憶モジュール１５０を制御する記録制御部１２０と、複数の記憶モジュール１５０の各々を識別する識別情報を保持する管理情報記憶部１３０とを備える。
【００４４】
記憶モジュール１５０の各々は、フラッシュメモリ１５６と、フラッシュメモリ制御部１５２とを備える。フラッシュメモリ１５６は、アドレス変換テーブル１５８のデータを保持するテーブル記憶領域１５７と、ユーザデータを保持するユーザデータ記憶領域１５９とを有する。フラッシュメモリ制御部１５２は、フラッシュメモリ１５６のデータの読み出しと書き込みを行うとともに、アドレス変換テーブル１５８を初期化する。
【００４５】
記録制御部１２０は、パリティ生成部１２１と、エラー検出部１２２と、データ復旧部１２３と、初期化制御部１２４とを有する。初期化制御部１２４は、アドレス変換テーブル初期化部１２５と、記憶モジュール選択部１２６とを有する。
【００４６】
パリティ生成部１２１は、データの書き込み要求に対して、書き込みデータに対応するパリティデータを生成し、生成したパリティデータを、複数の記憶モジュール１５０のいずれかへ書き込む。
【００４７】
エラー検出部１２２は、データの読み出し要求に対して、読み出し対象の複数の記憶モジュール１５０の各々から読み出されたデータについてエラーを検出する。
【００４８】
データ復旧部１２３は、エラー検出部１２２がエラーを検出した場合に、エラーが検出された記憶モジュール１５０以外の記憶モジュール１５０から読み出したデータとパリティデータとを用いて、エラーが検出された記憶モジュール１５０のデータを復旧する。
【００４９】
初期化制御部１２４は、記憶モジュール１５０への初期化要求に対して、管理情報記憶部１３０が保持している識別情報に基づき初期化対象の記憶モジュール１５０を特定する。そして、特定された初期化対象の記憶モジュール１５０のアドレス変換テーブル１５８を初期化するように、フラッシュメモリ制御部１５２に指示する。さらに、初期化対象の記憶モジュール１５０を識別する識別情報を管理情報記憶部１３０に格納する。
【００５０】
また、初期化制御部１２４は、記憶モジュール１５０の初期化要求を取り消す要求に対して、管理情報記憶部１３０が保持している識別情報に対応する初期化対象の記憶モジュール１５０から読み出されるデータを、エラーとして処理するようにエラー検出部１２２に指示する。
【００５１】
これにより、誤ったトリムの要求によりアドレス変換テーブル１５８の初期化処理を実行した場合でも、元のデータの復旧が可能となる。
【００５２】
（他の実施の形態）
以上のように、本出願において開示する技術の例示として、実施の形態１を説明した。しかしながら、本開示における技術は、これに限定されず、変更、置き換え、付加、省略などを行った実施の形態にも適用できる。また、上記実施の形態１で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。
【００５３】
そこで、以下、他の実施の形態を説明する。
【００５４】
実施の形態１では、５つの記憶モジュール１５０を用いた場合について説明したが、記憶モジュール１５０の数はこれに限定されず、複数であればよい。また、実施の形態１では、１つのパリティデータを生成する場合について説明したが、パリティデータの数はこれに限定されず、複数のパリティデータを生成してもよい。また、実施の形態１では、４つのデータと１つのパリティデータとを、５つの異なる記憶モジュール１５０に記録する場合について説明したが、データの数とパリティデータの数との組み合わせはこれに限定されず、他の組み合わせであってもよい。
【００５５】
実施の形態１では、初期化された記憶モジュール１５０についてのエラーの判断をエラー検出部１２２で行っている例について説明をしたが、記憶モジュール１５０がエラーデータを返すようにしても実現可能である。例えば、データに付与されるエラー訂正コードを、このデータがエラーとして検出されるように加工することで実現可能である。
【００５６】
記録装置１００は、アドレス変換テーブル１５８の初期化時に、アドレス変換テーブル１５８の初期化だけでなく、記憶モジュール１５０の物理消去を行った場合、同等の効果に加えて、書き込み時の高速化を図ることも可能となる。
【００５７】
また、記録装置１００は、アドレス変換テーブル１５８の初期化を行う領域をパラメタとして指定し、所定の領域のみに対応しても効果が得ることが可能である。具体的には、例えば、ホスト装置２００は、記録装置１００に対して、記憶モジュール１５０の初期化を行う領域をパラメタにより指定した初期化要求を発行する。初期化制御部１２４は、初期化対象の記憶モジュール１５０を特定し、特定された初期化対象の記憶モジュール１５０のアドレス変換テーブル１５８のうち、所定の領域を初期化するように、フラッシュメモリ制御部１５２に指示する。指示を受け取ったフラッシュメモリ制御部１５２は、アドレス変換テーブル１５８を初期化するとともに、初期化された記憶モジュール１５０を識別する識別情報と初期化された領域の情報とを格納する。さらに、記憶モジュール１５０のテーブル初期化要求を取り消す要求に対して、特定された記憶モジュール１５０のフラッシュメモリ制御部１５２は、前回初期化された記憶モジュール１５０の識別情報と初期化された領域の情報を取得する。そして、取得した記憶モジュール１５０の識別情報に対応する記憶モジュール１５０の初期化された領域からのデータの読み出しがエラーとして判断されるように、このデータのエラー訂正コードを加工する。
【００５８】
実施の形態１において、記憶モジュール選択部１２６は、管理情報記憶部１３０から前回初期化された記憶モジュール１５０の識別情報を取得し、前回初期化された記憶モジュール１５０以外の記憶モジュール１５０を、テーブル初期化対象として選択するとした。しかし、初期化する記憶モジュール１５０の選択方法は、これに限定されず他の方法であってもよい。前回以前に初期化された記憶モジュール１５０の識別情報を保持しておき、初期化の回数が最も少ない記憶モジュール１５０を初期化対象として選択してもよい。これにより、フラッシュメモリへの書き込みの平準化をはかることができる。
【００５９】
また、ホスト装置２００は、アドレス変換テーブル１５８の初期化を記憶モジュール１５０のフォーマット時に必ず実行してもよい。あるいは、ホスト装置２００は、表示部２２０上でユーザインタフェースを提供し、利用者から明示的に記録装置１００のアドレス変換テーブル１５８の初期化を実行したり、情報処理装置の利用終了後に、次の利用者へ情報処理装置を引き渡す時にアドレス変換テーブル１５８の初期化を行ってもよい。
【産業上の利用可能性】
【００６０】
本開示は、記録装置に映像を記録する電子機器に適用可能である。具体的には、業務用カメラ、ディジタルスチルカメラ、ムービーや、汎用のパーソナルコンピュータなどに、本開示は適用可能である。
【符号の説明】
【００６１】
１００    記録装置
１１０    ホストＩ／Ｆ
１２０    記録制御部
１２１    パリティ生成部
１２２    エラー検出部
１２３    データ復旧部
１２４    初期化制御部
１２５    アドレス変換テーブル初期化部
１２６    記憶モジュール選択部
１３０    管理情報記憶部
１３５    装置バッファ
１４０    記憶モジュールＩ／Ｆ
１５０，１６０，１７０，１８０，１９０    記憶モジュール
１５１    モジュールＩ／Ｆ
１５２    フラッシュメモリ制御部
１５３    テーブル初期化部
１５４    バッファ
１５５    フラッシュメモリＩ／Ｆ
１５６    フラッシュメモリ
１５７    テーブル記憶領域
１５８    アドレス変換テーブル
１５９    ユーザデータ記憶領域
２００    ホスト装置
２１０    ＣＰＵ
２２０    表示部
２３０    ホスト装置Ｉ／Ｆ
４００    テーブルポインタテーブル
４２０，４３０，４４０    ブロック
【図１】
0006600815.tif 000002
【図２】
0006600815.tif 000003
【図３】
0006600815.tif 000004
【図４】
0006600815.tif 000005
【図５】
0006600815.tif 000006
【図６】
0006600815.tif 000007
【図７】
0006600815.tif 000008
【図８】
0006600815.tif 000009