(57)【要約】【課題】データ読み出しに破壊読み出しを伴う不揮発性記憶デバイスに記憶されているデータに、不意な電源遮断に起因するようなエラー部分が残されていても、特別のハードウェア構成を必要とすることなく、そのエラー部分を高速で復旧できるようにする。【解決手段】ＦｅＲＡＭ１１の記憶領域には、ユーザーデータ領域１１１及びブロックアドレス領域１１２が確保される。ブロックアドレス領域１１２は、ユーザーデータ領域１１１からのデータ読み出しに際し、読み出されるべきデータが格納されているアドレスを示すアドレスデータを格納するのに用いられる。ＭＰＵ１６は、ブロックアドレス領域１１２に格納されているアドレスデータの示す、ユーザーデータ領域１１１の記憶位置に格納されているデータのエラーを検出し、エラーが検出された場合、当該エラーが検出されたデータを訂正して、当該訂正されたデータをユーザーデータ領域１１１に書き戻す。【選択図】      図１
2010146389.tif 000002
【特許請求の範囲】
【請求項１】
データ読み出しに破壊読み出しを伴う不揮発性記憶デバイスから構成される第１の不揮発性記憶手段と、
前記第１の不揮発性記憶手段からのデータ読み出しに際し、読み出されるべきデータの記憶位置を示すアドレスデータを格納する第２の不揮発性記憶手段と、
前記第２の不揮発性記憶手段に格納されている前記アドレスデータの示す、前記第１の不揮発性記憶手段の記憶位置に格納されているデータのエラーを検出し、エラーが検出された場合、当該エラーが検出されたデータを訂正して、当該訂正されたデータを前記第１の不揮発性記憶手段に書き戻すデータエラー検出訂正手段と
を具備することを特徴とする記憶装置。
【請求項２】
前記データエラー検出訂正手段は、前記記憶装置の電源投入に応じて動作することを特徴とする請求項１記載の記憶装置。
【請求項３】
前記第１の不揮発性記憶手段からデータを読み出すデータ読み出し手段であって、データ読み出しの前に、読み出されるべきデータの記憶位置を示すアドレスデータを前記第２の不揮発性記憶手段に格納するデータ読み出し手段を更に具備することを特徴とする請求項１または２に記載の記憶装置。
【請求項４】
前記データ読み出し手段は、前記データ読み出しの後、前記第２の不揮発性記憶手段に格納されている前記アドレスデータを、無効を表すアドレスデータに更新し、
前記データエラー検出訂正手段は、前記第２の不揮発性記憶手段に格納されている前記アドレスデータが無効を表している場合、前記エラー検出を抑止する
ことを特徴とする請求項３記載の記憶装置。
【請求項５】
前記データエラー検出訂正手段は、前記エラーが検出された場合、前記訂正されたデータを前記第１の不揮発性記憶手段に書き戻した後に、前記第２の不揮発性記憶手段に格納されている前記アドレスデータを、無効を表すアドレスデータに更新することを特徴とする請求項４記載の記憶装置。
【請求項６】
前記データエラー検出訂正手段は、前記エラーが検出されなかった場合、前記第２の不揮発性記憶手段に格納されている前記アドレスデータを、無効を表すアドレスデータに更新することを特徴とする請求項４または５に記載の記憶装置。
【請求項７】
前記第１の不揮発性記憶手段に書き込まれるべきデータに基づき、当該データのエラーを検出し且つ訂正するのに用いられる第１のエラー検出訂正データを生成する第１のエラー検出訂正データ生成手段と、
前記第１の不揮発性記憶手段に書き込まれるべきデータに前記第１のエラー検出訂正データを付加し、当該第１のエラー検出訂正データが付加されたデータを前記第１の不揮発性記憶手段に書き込むデータ書き込み手段とを更に具備し、
前記データエラー検出訂正手段は、前記第１の不揮発性記憶手段に格納されているデータのエラーの検出及び訂正を、当該データに付されている前記第１のエラー検出訂正データに基づいて行う
ことを特徴とする請求項３乃至６のいずれかに記載の記憶装置。
【請求項８】
前記第２の不揮発性記憶手段に格納されるべきアドレスデータに基づき、当該アドレスデータのエラーを検出し且つ訂正するのに用いられる第２のエラー検出訂正データを生成する第２のエラー検出訂正データ生成手段を更に具備し、
前記データ読み出し手段は、前記第２の不揮発性記憶手段に格納されるべきアドレスデータに前記第２のエラー検出訂正データを付加し、当該第２のエラー検出訂正データが付加されたアドレスデータを前記第２の不揮発性記憶手段に格納し、
前記データエラー検出訂正手段は、前記第２の不揮発性記憶手段に格納されている前記アドレスデータのエラーの検出及び訂正を、当該データに付されている前記第２のエラー検出訂正データに基づいて行う
ことを特徴とする請求項７記載の記憶装置。
【請求項９】
前記第２の不揮発性記憶手段が、前記第１の不揮発性記憶手段の記憶領域の一部を用いて構成されることを特徴とする請求項１乃至８に記載の記憶装置。
【請求項１０】
前記第２の不揮発性記憶手段が、データ読み出しに破壊読み出しを伴わない不揮発性記憶デバイスを用いて構成されることを特徴とする請求項１乃至８に記載の記憶装置。
【請求項１１】
データ読み出しに破壊読み出しを伴う不揮発性記憶デバイスから構成される第１の不揮発性記憶手段と、第２の不揮発性記憶手段と、データ読み出し手段と、データエラー検出訂正手段とを含む記憶装置において、データのエラーを検出し訂正するための方法であって、
前記第１の不揮発性記憶手段からのデータ読み出しに際し、読み出されるべきデータの記憶位置を示すアドレスデータを、前記データ読み出し手段が前記第２の不揮発性記憶手段に格納するステップと、
前記アドレスデータが前記第２の不揮発性記憶手段に格納された後に、前記データ読み出し手段が、前記アドレスデータの示す、前記第１の不揮発性記憶手段の記憶位置に格納されているデータを読み出すステップと、
前記第２の不揮発性記憶手段に格納されている前記アドレスデータの示す、前記第１の不揮発性記憶手段の記憶位置に格納されているデータのエラーを、前記データエラー検出訂正手段が検出するステップと、
エラーが検出された場合、当該エラーが検出されたデータを前記データエラー検出訂正手段が訂正するステップと、
前記訂正されたデータを前記データエラー検出訂正手段が前記第１の不揮発性記憶手段に書き戻すステップと
を具備することを特徴とするデータのエラーを検出し訂正するための方法。
【請求項１２】
前記検出するステップが、前記記憶装置の電源投入に応じて実行されることを特徴とする請求項１１記載のデータのエラーを検出し訂正するための方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性記憶デバイスを有する記憶装置に係り、特に、データ読み出しに破壊読み出しを伴う不揮発性記憶デバイスを有する記憶装置に関する。
【背景技術】
【０００２】
１Ｔ１Ｃ型の強誘電体ＲＡＭ、或いは１Ｔ型の強誘電体ＲＡＭのような強誘電体ＲＡＭ（ＦｅＲＡＭ）は、データ読み出しに破壊読み出しを伴う不揮発性メモリ（不揮発性記憶デバイス）として知られている。このような不揮発性メモリを有する記憶装置は、当該不揮発性メモリに格納されているデータが破壊読み出しによって失われないように、読み出されたデータを不揮発性メモリに再度書き込むための仕組みを有しているのが一般的である。
【０００３】
しかし、データ読み出し時に記憶装置の電源が遮断された場合には、例えば特許文献１に記載されているように、データの再書き込みが正常に行われずに、不揮発性メモリから当該データ（の一部）が失われる可能性がある。
【０００４】
このため従来の記憶装置は、一般に、データの読み出し時に、当該データに付されているエラー検出訂正用データ（ＥＣＣデータ）に基づいて電源遮断に起因するようなデータエラーの検出を行い、データエラーを検出した場合には、そのデータエラーを訂正するように構成されている。
【０００５】
しかし、このような従来の記憶装置では、電源遮断に起因するエラーが発生している部分を含むデータへのアクセスが発生するまで、当該エラー発生部分がエラーのままで残される。このため、不意な電源遮断が続けて発生すると、不揮発性メモリ上にデータエラー発生部分が幾つも存在する可能性がある。また、データの読み出し時に、データエラーの検出を常に行う必要があることから、消費電力が増加し、且つエラー検出に要する時間だけデータ転送の遅延が生じる。
【０００６】
そこで、上記特許文献１は、電源電圧感知手段を有し、当該感知手段によって電源遮断を早めに検知することで、不揮発性メモリ（ＦｅＲＡＭ）からのデータの読み出し時に、読み出されたデータを不揮発性メモリに再度書き込むための再書き込みサイクルを完全に行わせる仕組みを開示している。
【０００７】
また、特許文献２は、不揮発性メモリ（ＦｅＲＡＭ）内で強制リフレッシュの対象となる強誘電体キャパシタの保持データを一時的に待避させるための待避メモリＳＭを強誘電体キャパシタにより構成し、強制リフレッシュ時に、対象となる強誘電体キャパシタの保持データのコピーを当該待避メモリＳＭに保持する仕組みを開示している。
【０００８】
また、周知の２Ｔ２Ｃ型のＦｅＲＡＭは、データ読み出しに破壊読み出しを伴わないハードウェア構成を有している。
【特許文献１】特開平１０−０６９７９０号公報
【特許文献２】特開平０７−０７３６８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、上記特許文献１及び２に記載された仕組みを実現するには、不揮発性記憶デバイス内に特別のハードウェア構成を必要とする。また、２Ｔ２Ｃ型のＦｅＲＡＭ（つまりデータ読み出しに破壊読み出しを伴わない不揮発性記憶デバイス）も、内部に特別のハードウェア構成を必要とする。
【００１０】
本発明は上記事情を考慮してなされたものでその目的は、データ読み出しに破壊読み出しを伴う不揮発性記憶デバイスに記憶されているデータに、不意な電源遮断に起因するようなエラー部分が残されていても、特別のハードウェア構成を必要とすることなく、そのエラー部分を高速で復旧できる、不揮発性記憶デバイスを有する記憶装置を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の１つの観点によれば、記憶装置が提供される。この記憶装置は、データ読み出しに破壊読み出しを伴う不揮発性記憶デバイスから構成される第１の不揮発性記憶手段と、前記第１の不揮発性記憶手段からのデータ読み出しに際し、読み出されるべきデータの記憶位置を示すアドレスデータを格納する第２の不揮発性記憶手段と、前記第２の不揮発性記憶手段に格納されている前記アドレスデータの示す、前記第１の不揮発性記憶手段の記憶位置に格納されているデータのエラーを検出し、エラーが検出された場合、当該エラーが検出されたデータを訂正して、当該訂正されたデータを前記第１の不揮発性記憶手段に書き戻すデータエラー検出訂正手段とを具備する。
【発明の効果】
【００１２】
本発明によれば、第１の不揮発性記憶手段からのデータの読み出し中に不意に電源が遮断しても、そのデータの読み出しに用いられていたアドレスを、第２の不揮発性記憶手段に格納されているアドレスデータから特定できるので、第１の不揮発性記憶手段の、当該特定されたアドレスの示す記憶位置に格納されているデータに、不意な電源遮断に起因するようなエラー部分が残されていても、当該データに対して即座にエラー検出訂正を行うことができる。これにより、従来技術とは異なり、例えば破壊読み出しを抑止するための特別のハードウェア構成を必要とすることなく、そのエラー部分を高速で復旧することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態につき図面を参照して説明する。  
図１は本発明の一実施形態に係る記憶装置の構成を示すブロック図である。  
図１において記憶装置１０は、ＦｅＲＡＭ（強誘電体ＲＡＭ）１１と、ＲＡＭ１２と、ホストインタフェース（ホストＩ／Ｆ）１３と、不揮発性メモリインタフェース（不揮発性メモリＩ／Ｆ）１４と、ＲＯＭ１５と、マイクロプロセッサユニット（ＭＰＵ）１６とを含む。
【００１４】
ＦｅＲＡＭ１１は、１Ｔ１Ｃ型ＦｅＲＡＭ、或いは１Ｔ型ＦｅＲＡＭのような、データ読み出しに破壊読み出しを伴うメモリセル群（更に詳細には、破壊読み出しを伴う強誘電体キャパシタを含むメモリセルの群）から構成される不揮発性メモリ（第１の不揮発性記憶手段）である。つまりＦｅＲＡＭ１１は、データ読み出しに破壊読み出しを伴う不揮発性記憶デバイスである。
【００１５】
ＦｅＲＡＭ１１の記憶領域は複数のブロック（物理ブロック）２０（図２参照）に分割して管理される。つまりＦｅＲＡＭ１１はブロック２０を単位に管理される。ＦｅＲＡＭ１１は、当該ＦｅＲＡＭ１１に格納されているデータが破壊読み出しによって失われないように、読み出されたデータを当該ＦｅＲＡＭ１１に再度書き込むための周知の仕組みを有している。
【００１６】
ＦｅＲＡＭ１１の記憶領域の一部はユーザーデータ領域１１１として用いられる。ユーザーデータ領域１１１は、ユーザデータを格納するのに用いられる。ＦｅＲＡＭ１１の記憶領域の他の一部はブロックアドレス領域１１２として用いられる。ブロックアドレス領域１１２は、ユーザーデータ領域１１１からユーザーデータを読み出す際に、当該ユーザーデータが格納されているブロック２０（図２参照）のブロックアドレス（物理ブロックアドレス）を示すブロックアドレスデータを一時的に保存する第２の不揮発性記憶手段として用いられる。
【００１７】
ＲＡＭ１２は、揮発性のメモリである。ＲＡＭ１２の記憶領域の一部は、ＭＰＵ１６によって実行されるエラー検出訂正処理のための作業領域（エラー検出訂正作業領域）１２１として用いられる。ＲＡＭ１２の記憶領域の他の一部は、アドレス変換テーブル領域１２２として用いられる。
【００１８】
アドレス変換テーブル領域１２２は、ホストによって指定される例えば論理アドレス（論理ブロックアドレス）を物理アドレス（物理ブロックアドレス）に変換するのに必要なアドレス変換テーブルを格納するのに用いられる。このアドレス変換テーブルは、各論理ブロックアドレスに対応付けて、その論理ブロックアドレスで指定される論理ブロックに割り当てられる物理ブロックの物理ブロックアドレスを保持する。本実施形態では、アドレス変換テーブルは、記憶装置１０の初期化処理の中でＲＡＭ１２上に予め作成されるものとする。しかし、アドレス変換テーブルを構成する手法は従来から種々知られており、例えば、アドレス変換テーブルを不揮発性メモリに予め格納しておき、適宜不揮発性メモリからＲＡＭ１２にロードする、或いはアドレス変換テーブルをＲＯＭデータで構成するなど、他の手法でアドレス変換テーブルが実現されても構わない。なお、ホストによって物理アドレス（物理ブロックアドレス）が直接指定されるシステムの場合、アドレス変換テーブルは必要ない。
【００１９】
ホストＩ／Ｆ１３は、ホストと当該記憶装置１０とのインタフェースをなす。ホストは、例えば、記憶装置１０を利用するパーソナルコンピュータのような電子機器である。ホストＩ／Ｆ１３は、ホストから記憶装置１０にコマンドが転送された場合、当該コマンドを受信してＭＰＵ１６に渡す。不揮発性メモリＩ／Ｆ１４は、ＭＰＵ１６からＦｅＲＡＭ１１へアクセスするためのインタフェースをなす。
【００２０】
ＲＯＭ１５は、ＭＰＵ１６によって実行されるプログラム１５０を予め格納する。このプログラム１５０は、例えば、データ書き込みルーチン１５１とデータ読み出しルーチン１５２とデータエラー検出訂正ルーチン１５３とを含むファームウェアプログラムである。
【００２１】
データ書き込みルーチン１５１は、ホストＩ／Ｆ１３がホストからユーザーデータ（ライトコマンドで指定されるユーザーデータ）を受け取った場合に、当該ユーザデータのエラー検出訂正に用いられるエラー検出訂正データ（以下、ＥＣＣデータと称する）を生成するための処理と、生成されたＥＣＣデータを当該ユーザデータに付してＦｅＲＡＭ１１のユーザーデータ領域１１１に書き込むための処理とを含む。
【００２２】
データ読み出しルーチン１５２は、ホストＩ／Ｆ１３がホストからユーザーデータの転送要求（リードコマンド）を受け取った場合に、要求されたユーザーデータをＦｅＲＡＭ１１のユーザーデータ領域１１１から読み出すための処理と、この読み出すための処理に先行して実行される、要求されたユーザーデータが格納されているブロック２０のブロックアドレスを示すブロックアドレスデータのエラー検出訂正に用いられるＥＣＣデータを生成するための処理と、生成されたＥＣＣデータを当該ブロックアドレスデータに付してＦｅＲＡＭ１１のブロックアドレス領域１１２に書き込むための処理と、要求されたユーザーデータをホストに転送するための処理とを含む。
【００２３】
データエラー検出訂正ルーチン１５３は、記憶装置１０の電源が投入された場合に実行される、初期化処理のための初期化ルーチンに含まれている。データエラー検出訂正ルーチン１５３は、ブロックアドレス領域１１２に格納されているブロックアドレスデータのエラー検出訂正のための処理と、ユーザーデータ領域１１１内の当該ブロックアドレスデータの示すブロック２０に格納されているブロックデータ（ユーザーデータ）のエラー検出訂正のための処理とを含む。
【００２４】
図２は、図１に示されるＦｅＲＡＭ１１の記憶領域のフォーマットの一例を示す。  
ＦｅＲＡＭ１１の記憶領域はブロック２０を単位に管理される。各ブロック２０は、固有のブロックアドレス（物理ブロックアドレス）で指定される。つまりＦｅＲＡＭ１１内のユーザーデータ領域１１１及びブロックアドレス領域１１２は、ブロックアドレスの指定により、少なくともブロック２０を単位にアクセス可能である。
【００２５】
ＦｅＲＡＭ１１の記憶領域の一部はユーザーデータ領域１１１に割り当てられ、ＦｅＲＡＭ１１の記憶領域の他の一部、例えばユーザーデータ領域１１１以外の部分はブロックアドレス領域１１２に割り当てられている。本実施形態において、ユーザーデータ領域１１１は複数のブロック２０から構成され、ブロックアドレス領域１１２は１つのブロック２０から構成される。
【００２６】
各ブロック２０は、データ部２１及びエラー検出訂正データ部（以下、ＥＣＣデータ部と称する）２２の組から構成される。ユーザーデータ領域１１１内のブロック２０を構成するデータ部２１及びＥＣＣデータ部２２は、それぞれ、ユーザーデータ及び当該ユーザーデータのエラー検出訂正のためのＥＣＣデータを格納するのに用いられる。図２の例では、ブロックアドレスＰＢＡｘで指定されるユーザーデータ領域１１１内のブロック２０には、ユーザーデータＵＤｘ及びＥＣＣデータＥＣＣＵＤｘから構成されるブロックデータが格納されている。
【００２７】
ブロックアドレス領域１１２内のブロック２０を構成するデータ部２１及びＥＣＣデータ部２２は、それぞれ、ブロックアドレスデータ及び当該ブロックアドレスデータのエラー検出訂正のためのＥＣＣデータを格納するのに用いられる。図２の例では、ブロックアドレス領域１１２内のブロック２０には、ブロックアドレスデータＰＢＡｘ及びＥＣＣデータＥＣＣＰＢＡｘから構成されるブロックデータが格納されている。
【００２８】
次に、図１に示される記憶装置１０の動作について、データ書き込み処理を例に、図３のフローチャートを参照して説明する。  
今、ホストから記憶装置１０に対して、ユーザーデータＵＤｘを書き込むことを指示するライトコマンドが発行されたものとする。このホストからのライトコマンドは、記憶装置１０のホストＩ／Ｆ１３で受け取られて、ＭＰＵ１６に渡される。また、このライトコマンドで指定される書き込みに用いられるユーザーデータＵＤｘがホストから記憶装置１０に転送される。このホストからのユーザーデータＵＤｘは、記憶装置１０のホストＩ／Ｆ１３で受け取られる。
【００２９】
ホストからのライトコマンドは、論理アドレス空間におけるデータ書き込みの開始位置を示すスタートアドレス（スタート論理アドレス）と、データ書き込みのサイズを示すサイズ情報とを含む。このスタートアドレスとサイズとから、データ書き込みの終了位置を示すエンドアドレス（エンド論理アドレス）を算出することができる。本実施形態では、説明を簡略化するために、スタートアドレス（スタート論理アドレス）及びエンドアドレス（エンド論理アドレス）が、それぞれ１つの論理ブロックの始端側ブロック境界及び終端側ブロック境界を示すものとする。
【００３０】
また、スタートアドレスによって示される論理ブロックアドレスがＬＢＡｘであるものとする。つまりホストからのライトコマンドが、論理ブロックアドレスＬＢＡｘで指定される論理ブロック（以下、論理ブロックＬＢＡｘと称する）へのデータ書き込みを指示しているものとする。また、アドレス変換テーブル領域１２２に格納されているアドレス変換テーブルには、論理ブロックアドレスＬＢＡｘに対応付けて物理ブロックアドレスＰＢＡｘが保持されているものとする。
【００３１】
ＭＰＵ１６は、ホストからのライトコマンドをホストＩ／Ｆ１３を介して受け取ると、プログラム１５０に含まれているデータ書き込みルーチン１５１に従ってデータ書き込み手段として機能し、図３のフローチャートに示される手順のデータ書き込み処理を次のように実行する。
【００３２】
まずＭＰＵ１６は、ホストＩ／Ｆ１３によって受け取られたホストからのユーザーデータ（ここでは１ブロック分のユーザーデータ）ＵＤｘをＲＡＭ１２に転送して、当該ユーザーデータＵＤｘをＲＡＭ１２のエラー検出訂正作業領域１２１内の第１の所定位置に格納する（ステップ３０１）。次にＭＰＵ１６は第１のエラー検出訂正データ生成手段として機能して、ユーザーデータＵＤｘのエラー検出訂正に用いられるＥＣＣデータＥＣＣＵＤｘを、当該ユーザーデータＵＤｘに基づく計算により、エラー検出訂正作業領域１２１内の第２の所定位置に生成する（ステップ３０２）。このＥＣＣデータＥＣＣＤｘの生成に適用可能なエラー検出訂正手法は従来から種々知られているため、説明を省略する。なお、このＥＣＣデータＥＣＣＵＤｘをハードウェアによって生成することも可能である。
【００３３】
次にＭＰＵ１６は、エラー検出訂正作業領域１２１の第１の所定位置に格納されているユーザーデータＵＤｘと当該エラー検出訂正作業領域１２１の第２の所定位置に生成されたＥＣＣデータＥＣＣＵＤｘとから構成されるブロックデータを不揮発性メモリＩ／Ｆ１４を介してＦｅＲＡＭ１１に転送して、当該ブロックデータを、適当なブロックアドレス（物理ブロックアドレス）ＰＢＡｘで指定される、ＦｅＲＡＭ１１のユーザーデータ領域１１１内のブロック２０、つまりブロックアドレスがＰＢＡｘのブロック２０（記憶位置）に格納する（ステップ３０３）。このブロックアドレス（物理ブロックアドレス）ＰＢＡｘは、前述したように、ＲＡＭ１２のアドレス変換テーブル領域１２２に格納されているアドレス変換テーブルに論理ブロックアドレスＬＢＡｘに対応付けて保持されている。このためＭＰＵ１６は、このアドレス変換テーブルを参照することにより、論理ブロックアドレスＬＢＡｘをブロックアドレス（物理ブロックアドレス）ＰＢＡｘに変換することができる。
【００３４】
次に、図１に示される記憶装置１０の動作について、データ読み出し処理を例に、図４のフローチャートを参照して説明する。  
今、ホストから記憶装置１０に対して、ユーザーデータを読み出すことを指示するリードコマンドが発行されたものとする。ホストからのリードコマンドは、論理アドレス空間におけるデータ読み出しの開始位置を示すスタートアドレス（スタート論理アドレス）と、データ読み出しのサイズを示すサイズ情報とを含む。ここでは、ホストからのリードコマンドが、論理ブロックアドレスＬＢＡｘで指定される論理ブロックＬＢＡｘからのデータ読み出しを指示しているものとする。
【００３５】
ホストからのリードコマンドは、記憶装置１０のホストＩ／Ｆ１３で受け取られて、ＭＰＵ１６に渡される。ＭＰＵ１６は、ホストからのリードコマンドをホストＩ／Ｆ１３を介して受け取ると、プログラム１５０に含まれているデータ読み出しルーチン１５２に従ってデータ読み出し手段として機能し、図４のフローチャートに示される手順のデータ読み出し処理を次のように実行する。
【００３６】
まずＭＰＵ１６は、ＲＡＭ１２のアドレス変換テーブル領域１２２に格納されているアドレス変換テーブルに基づいて、論理ブロックアドレスＬＢＡｘを物理ブロックアドレスに変換する。ここでは、論理ブロックアドレスＬＢＡｘが物理ブロックアドレスＰＢＡｘに変換されたものとする。この物理ブロックアドレスＰＢＡｘは、リードされるべきユーザーデータが格納されている、ＦｅＲＡＭ１１のユーザーデータ領域１１１内のブロック２０を指す。
【００３７】
そこでＭＰＵ１６は、物理ブロックアドレスＰＢＡｘを示すブロックアドレスデータ（以下、ブロックアドレスデータＰＢＡｘと称する）をＲＡＭ１２に転送して、当該ブロックアドレスデータＰＢＡｘをＲＡＭ１２のエラー検出訂正作業領域１２１内の第１の所定位置に格納する（ステップ４０１）。次にＭＰＵ１６は第２のエラー検出訂正データ生成手段として機能して、ブロックアドレスデータＰＢＡｘのエラー検出訂正に用いられるＥＣＣデータＥＣＣＰＢＡｘを、当該ブロックアドレスデータＰＢＡｘに基づく計算により、エラー検出訂正作業領域１２１内の第２の所定位置に生成する（ステップ４０２）。なお、このＥＣＣデータＥＣＣＰＢＡｘをハードウェアによって生成することも可能である。
【００３８】
次にＭＰＵ１６は、エラー検出訂正作業領域１２１の第１の所定位置に格納されているブロックアドレスデータＰＢＡｘと当該エラー検出訂正作業領域１２１の第２の所定位置に生成されたＥＣＣデータＥＣＣＰＢＡｘとから構成されるブロックデータを不揮発性メモリＩ／Ｆ１４を介してＦｅＲＡＭ１１に転送して、当該ブロックデータを、ＦｅＲＡＭ１１のブロックアドレス領域１１２に格納する（ステップ４０３）。
【００３９】
次にＭＰＵ１６は、ブロックアドレス（物理ブロックアドレス）ＰＢＡｘで指定されるＦｅＲＡＭ１１のユーザーデータ領域１１１内のブロック２０、つまりブロックアドレスがＰＢＡｘのブロック２０のデータを不揮発性メモリＩ／Ｆ１４を介して読み出し、少なくともホストからのリードコマンドで指定されたユーザーデータ（ここではユーザーデータＵＤｘ）をＲＡＭ１２に転送して当該ＲＡＭ１２に格納する（ステップ４０４）。
【００４０】
そしてＭＰＵ１６は、ＲＡＭ１２に格納されたユーザーデータ（読み出しデータ）をホストＩ／Ｆ１３を介してホストに転送する（ステップ４０５）。
【００４１】
次に、図１に示される記憶装置１０の動作について、電源投入後の初期化処理の中で行われるデータエラー検出訂正処理を例に、図５のフローチャートを参照して説明する。  
今、上述のデータ読み出し処理の例えばステップ４０４においてユーザーデータ領域１１１からブロックアドレスＰＢＡｘのユーザーデータＵＤｘを読み出し中に、記憶装置１０の電源が不意に遮断し、その後、当該電源が再投入されたものとする。するとＭＰＵ１６はプログラム１５０に含まれている初期化ルーチンに従い、電源投入に伴う初期化処理を実行する。この初期化ルーチンはデータエラー検出訂正ルーチン１５３を含む。ＭＰＵ１６は、このデータエラー検出訂正ルーチン１５３に従ってデータエラー検出訂正手段として機能し、図５のフローチャートに示される手順のデータエラー検出訂正処理を次のように実行する。
【００４２】
まずＭＰＵ１６は、ＦｅＲＡＭ１１のブロックアドレス領域１１２に格納されているブロックデータを不揮発性メモリＩ／Ｆ１４を介して読み出し、当該読み出されたブロックデータをＲＡＭ１２に転送して当該ＲＡＭ１２のエラー検出訂正作業領域１２１に格納する（ステップ５０１）。このブロックデータは、今回の電源投入に先行して発生した電源遮断以前の最後に行われたデータ読み出し処理のステップ４０３でＦｅＲＡＭ１１のブロックアドレス領域１１２に格納されたものである。このブロックデータが、ブロックアドレスデータＰＢＡｘとＥＣＣデータＥＣＣＰＢＡｘとから構成されているものとする。
【００４３】
ＭＰＵ１６は、ステップ５０１でエラー検出訂正作業領域１２１に格納されたブロックデータ中のブロックアドレスデータＰＢＡｘ及びＥＣＣデータＥＣＣＰＢＡｘに基づき、当該ブロックアドレスデータＰＢＡｘのエラーを検出する（ステップ５０２）。そしてＭＰＵ１６は、ブロックアドレスデータＰＢＡｘのエラーが検出されたかを判定する（ステップ５０３）。
【００４４】
もし、ブロックアドレスデータＰＢＡｘのエラーが検出されたならば（ステップ５０３がＹｅｓ）、ＭＰＵ１６は、ブロックアドレスデータＰＢＡｘのエラーをＥＣＣデータＥＣＣＰＢＡｘに基づいて訂正する（ステップ５０４）。そしてＭＰＵ１６はステップ５０５に進む。これに対し、ブロックアドレスデータＰＢＡｘのエラーが検出されなかったならば（ステップ５０３がＮｏ）、ＭＰＵ１６はステップ５０４をスキップしてステップ５０５に進む。
【００４５】
ステップ５０５においてＭＰＵ１６は、エラー訂正済みのまたはエラーが検出されなかったブロックアドレスデータＰＢＡｘに基づき、当該ブロックアドレスデータＰＢＡｘの示すブロックアドレス（物理ブロックアドレス）ＰＢＡｘで指定されるＦｅＲＡＭ１１のユーザーデータ領域１１１内のブロック２０からブロックデータ（つまり、ブロックアドレスＰＢＡｘのブロックデータ）を不揮発性メモリＩ／Ｆ１４を介して読み出し、当該読み出されたブロックデータをＲＡＭ１２に転送して当該ＲＡＭ１２のエラー検出訂正作業領域１２１に格納する。ここでは、読み出されたブロックデータは、ユーザーデータＵＤｘとＥＣＣデータＥＣＣＵＤｘとから構成される。
【００４６】
ＭＰＵ１６は、ステップ５０５でエラー検出訂正作業領域１２１に格納されたブロックデータ中のユーザーデータＵＤｘ及びＥＣＣデータＥＣＣＵＤｘに基づき、当該ユーザーデータＵＤｘのエラーを検出する（ステップ５０６）。そしてＭＰＵ１６は、ユーザーデータＵＤｘのエラーが検出されたかを判定する（ステップ５０７）。
【００４７】
もし、ユーザーデータＵＤｘのエラーが検出されたならば（ステップ５０７がＹｅｓ）、ＭＰＵ１６は、ユーザーデータＵＤｘのエラーをＥＣＣデータＥＣＣＵＤｘに基づいて訂正する（ステップ５０８）。
【００４８】
次にＭＰＵ１６は、エラーが訂正されたユーザーデータＵＤｘ及びＥＣＣデータＥＣＣＵＤｘから構成されるブロックデータを不揮発性メモリＩ／Ｆ１４を介してＦｅＲＡＭ１１に転送し、当該ブロックデータを、ユーザーデータ領域１１１の元のブロック２０、つまりブロックアドレスＰＢＡｘのブロック２０に書き戻す（ステップ５０９）。これにより、ブロックアドレスＰＢＡｘのブロック２０に格納されていたブロックデータ中のユーザーデータＵＤｘは、正しいデータに修復される。
【００４９】
ステップ５０９が実行されると、ＭＰＵ１６は、電源投入後の初期化処理の中で行われるデータエラー検出訂正処理を終了する。これに対し、ユーザーデータＵＤｘのエラーが検出されなかったならば（ステップ５０７がＮｏ）、ＭＰＵ１６はデータエラー検出訂正処理を終了する。
【００５０】
本実施形態のように、前述のデータ読み出し処理のステップ４０４でブロックアドレスＰＢＡｘのブロックデータに含まれているユーザーデータＵＤｘを読み出す動作が行われているときに、記憶装置１０の電源が不意に遮断した場合、当該ユーザーデータＵＤｘの一部は失われる可能性がある。しかし、ブロックアドレスＰＢＡｘのブロックデータに含まれているＥＣＣデータＥＣＣＵＤｘは読み出しの対象とならないため、当該ＥＣＣデータＥＣＣＵＤｘの一部が不意な電源遮断で失われることはない。
【００５１】
また、本実施形態では、ステップ４０４に先行してステップ４０３が実行される。これにより、ブロックアドレスＰＢＡｘを示すブロックアドレスデータＰＢＡｘとＥＣＣデータＥＣＣＰＢＡｘとから構成されるブロックデータが、ブロックアドレス領域１１２に格納される。
【００５２】
このため、ステップ４０４の実行中に不意に電源が遮断されても、その後に当該電源が再投入された場合に実行される上述のデータエラー検出訂正処理において、ＭＰＵ１６は、不意な電源の遮断で一部が失われる可能性のあるユーザーデータＵＤｘを含むブロックデータのブロックアドレスＰＢＡｘを、ブロックアドレス領域１１２に格納されているブロックデータによって特定することができる。これによりＭＰＵ１６は、特定されたブロックアドレスＰＢＡｘのブロックデータをＦｅＲＡＭ１１から読み出して、当該ブロックデータ中のユーザーデータＵＤｘのエラーを検出し訂正する処理（ステップ５０５乃至５０９）を、当該ブロックデータ中のＥＣＣデータＥＣＣＵＤｘに基づいて即座に行うことができる。
【００５３】
しかも、上述のエラー検出訂正処理は、電源投入後に１回行われるだけでよい。このため、ユーザーデータの読み出し時に常にエラー検出訂正処理を必要とする従来技術と異なり、記憶装置の低消費電力化を図ることができ、且つＦｅＲＡＭ１１（のユーザーデータ領域１１１）からのデータ読み出し時のデータ転送が遅延するのを防止できる。
【００５４】
また、電源投入後の初期化処理の中で上述のエラー検出訂正処理が行われるため、ホストからのリードコマンドの実行時には、不意な電源遮断に起因するようなエラー部分が残されているデータは存在しなくなり、データの信頼性の向上が図れる。
【００５５】
なお、ＲＡＭ１２内にキャッシュメモリ領域が確保され、このキャッシュメモリ領域が、ホストからのリードコマンドに応じてＦｅＲＡＭ１１のユーザーデータ領域１１１から読み出されたユーザーデータを一時格納するのに用いられても構わない。このような構成を適用する記憶装置１０では、ホストからのリードコマンドで指定されたユーザーデータがＲＡＭ１２のキャッシュメモリ領域に格納されているならば、当該指定されたユーザーデータが当該キャッシュメモリ領域から即座に読み出されてホストに転送される。
【００５６】
また、ホストからのリードコマンドで指定される論理ブロックアドレスに後続する論理ブロックアドレスに対応する物理ブロックに格納されているユーザーデータが、例えばＭＰＵ１６によって実行されるリードキャッシュ処理によってキャッシュメモリ領域に先読みされても構わない。この先読みにおいて、ＭＰＵ１６は、図４のフローチャートに相当する処理を行うとよい。但し、ホストからのリードコマンドに従う読み出し処理と異なり、ＲＡＭ１２内のキャッシュメモリ領域に先読みされたユーザーデータは、必ずしもホストに転送されうるものではない。
【００５７】
また、データ書き込み処理におけるＥＣＣデータの生成（ステップ３０２）及びデータ読み出し処理におけるＥＣＣデータの生成（ステップ４０２）が、ハードウェアモジュール（ＥＣＣデータ生成モジュール）によって行われても構わない。同様に、データエラー検出訂正処理におけるブロックアドレスデータのエラー検出訂正（ステップ５０２乃至５０４）及びユーザーデータのエラー検出訂正（ステップ５０６乃至５０８）が、ハードウェアモジュール（エラー検出訂正モジュール）によって行われても構わない。
【００５８】
［第１の変形例］
次に上記実施形態の第１の変形例について説明する。
【００５９】
上記実施形態において、データ読み出し処理のステップ４０４でユーザーデータを読み出す動作が行われているときに、記憶装置１０の電源が不意に遮断することは希である。もし、記憶装置１０内でステップ４０４以外の動作が行われているとき、或いは何も動作が行われていないときに電源が不意に遮断した場合には、次の電源の投入時に図５のフローチャートで示されるデータエラー検出訂正処理を必ずしも行う必要はない。
【００６０】
上記実施形態の第１の変形例の特徴は、図４のフローチャートに従うデータ読み出し処理が少なくともステップ４０４まで実行された後、例えばステップ４０１乃至ステップ４０５が全て実行された後に、電源が遮断された場合、次の電源の投入時に行われるデータエラー検出訂正処理が無駄に行われるのを防止することにある。
【００６１】
第１の変形例が上記実施形態と相違するのは、データ読み出しルーチン１５２に基づいて実行されるデータ読み出し処理と、データエラー検出訂正ルーチン１５３に基づいて実行されるデータエラー検出訂正処理である。
【００６２】
そこで、第１の変形例で適用されるデータ読み出し処理及びデータエラー検出訂正処理について、上記実施形態と相違する点を中心に、それぞれ図６及び図７のフローチャートを参照して説明する。なお、図６及び図７において、それぞれ図４及び図５と等価な要素には同一参照符号を付してある。
【００６３】
まず、図６のフローチャートに従うデータ読み出し処理では、記憶装置１０の電源が不意に遮断されないならば、上記実施形態と同様に、ステップ４０１乃至４０５が実行される。するとＭＰＵ１６は、ＦｅＲＡＭ１１のブロックアドレス領域１１２に、無効を表すブロックデータ（例えば、無効を表すブロックアドレスデータを含むブロックデータ）を書き込む（ステップ６００）。つまり、ステップ４０１乃至４０５が実行されると、当該ステップ４０１乃至４０５のうちのステップ４０３でブロックアドレス領域１１２に格納されたブロックデータ（先の例では、ブロックアドレスデータＰＢＡｘとＥＣＣデータＥＣＣＰＢＡｘとから構成されるブロックデータ）が、無効を表すブロックデータに更新される。これにより、第１の変形例におけるデータ読み出し処理は終了する。なお、ステップ６００がステップ４０４の直後に実行されても構わない。つまりステップ６００は、ステップ４０４より後に実行されればよく、必ずしもデータ読み出し処理の最後に実行される必要はない。
【００６４】
次に、電源投入後の初期化処理の中で行われる、図７のフローチャートに従うデータエラー検出訂正処理では、上記実施形態と同様に、まずステップ５０１が実行される。これにより、ＦｅＲＡＭ１１のブロックアドレス領域１１２に格納されているブロックデータが読み出されて、ＲＡＭ１２のエラー検出訂正作業領域１２１に格納される。
【００６５】
するとＭＰＵ１６は、上記実施形態と異なり、ブロックアドレス領域１１２から読み出されたブロックデータが無効を表すデータであるかを判定する（ステップ７０１）。もし、無効を表すデータであるならば（ステップ７０１がＹｅｓ）、ＭＰＵ１６は、今回の電源の投入以前に最後に実行されたデータ読み出し処理で、データの破壊を招くことなくデータ読み出しが行われたか、或いは、破壊されたデータは、以前に実行されたデータエラー検出訂正処理で既に修復されていると判断する。この場合、ＭＰＵ１６は直ちにデータエラー検出訂正処理を終了する。これにより無駄な処理（ステップ５０２乃至５０９）が行われるのを防止できる。
【００６６】
一方、ブロックアドレス領域１１２から読み出されたブロックデータが無効を表すデータでないならば（ステップ７０１がＮｏ）、ＭＰＵ１６は、今回の電源の投入以前に最後に実行されたデータ読み出し処理のステップ４０４でユーザーデータを読み出し中に不意な電源遮断が発生して、当該ユーザーデータ（の一部）が破壊された可能性があると判断する。この場合、ＭＰＵ１６は、ステップ５０２に進む。以後、上記実施形態と同様の処理が行われる。そして、ステップ５０７でＹｅｓが判定された場合には、ステップ５０９の実行の後にステップ７０２が実行される。これに対し、ステップ５０７でＮｏが判定された場合には、直ちにステップ７０２が実行される。
【００６７】
ステップ７０２においてＭＰＵ１６は、ＦｅＲＡＭ１１のブロックアドレス領域１１２に格納されているブロックデータ中のブロックアドレスデータで示されるブロックアドレスのユーザーデータは、既に修復されているか或いは破壊されていないことから、修復は不要であると判断する。そこで、ステップ７０２においてＭＰＵ１６は、ブロックアドレス領域１１２に格納されているブロックデータを、無効を表すブロックデータに更新する。
【００６８】
［第２の変形例］
次に上記実施形態の第２の変形例について説明する。
【００６９】
図８は、上記実施形態の第２の変形例に係る記憶装置の構成を示すブロック図である。図８において、図１と等価な要素には同一参照符号を付してある。  
図８において記憶装置１００は、ＦｅＲＡＭ１１とは別に、破壊読み出しを伴わない不揮発性メモリ（第２の不揮発性記憶デバイス）、例えばＭＲＡＭ（磁気抵抗ＲＡＭ）８０を有する。ＭＲＡＭ８０の記憶領域には、ブロックアドレス領域８０２が確保される。ブロックアドレス領域８０２は、図１に示されるＦｅＲＡＭ１１のブロックアドレス領域１１２に代えて用いられる。つまり図８の記憶装置１００では、ＦｅＲＡＭ１１の記憶領域にブロックアドレス領域１１２は確保されていない。ＭＲＡＭ８０は不揮発性メモリＩ／Ｆ１４に相当する不揮発性メモリＩ／Ｆ８４を介してアクセスされる。
【００７０】
図８の記憶装置１００の構成から明らかなように、上記実施形態の第２の変形例の特徴は、上記実施形態におけるブロックアドレス領域１１２に相当するブロックアドレス領域８０２が、ＦｅＲＡＭ１１とは別に設けられたＭＲＡＭ８０（破壊読み出しを伴わない不揮発性記憶デバイス、第２の不揮発性記憶手段）に確保されている点にある。このような構成では、ブロックアドレス領域８０２に格納されるブロックアドレスデータの信頼性を向上することができる。
【００７１】
［第３の変形例］
次に上記実施形態の第３の変形例について説明する。
【００７２】
図９は、上記実施形態の第３の変形例に係る記憶装置の構成を示すブロック図である。図９において、図１と等価な要素には同一参照符号を付してある。  
図９において記憶装置１１０は、ＦｅＲＡＭ１１とは別に、破壊読み出しを伴わない不揮発性記憶デバイス（第２の不揮発性記憶手段）、例えば磁気ディスク装置のようなディスク装置９０を有する。ディスク装置９０の記憶領域には、ブロックアドレス領域９０２が確保される。ブロックアドレス領域９０２は、図１に示されるＦｅＲＡＭ１１のブロックアドレス領域１１２に代えて用いられる。つまり図９の記憶装置１１０では、ＦｅＲＡＭ１１の記憶領域にブロックアドレス領域１１２は確保されていない。ディスク装置９０は不揮発性メモリＩ／Ｆ１４に相当するディスクＩ／Ｆ９４を介してアクセスされる。
【００７３】
図９の記憶装置１１０の構成から明らかなように、上記実施形態の第３の変形例の特徴は、上記実施形態におけるブロックアドレス領域１１２に相当するブロックアドレス領域９０２が、ＦｅＲＡＭ１１とは別に設けられたディスク装置９０（破壊読み出しを伴わない不揮発性記憶デバイス、第２の不揮発性記憶手段）に確保されている点にある。このような構成では、ブロックアドレス領域９０２に格納されるブロックアドレスデータの信頼性を向上することができる。
【００７４】
［第４の変形例］
次に上記実施形態の第４の変形例について説明する。
【００７５】
図１０は、上記実施形態の第４の変形例に係る記憶装置の構成を示すブロック図である。図１０において、図１と等価な要素には同一参照符号を付してある。  
図１０において記憶装置１２０は、ｎ個のＦｅＲＡＭ１１-1〜１１-nを有している。ｎは２以上の整数である。ＦｅＲＡＭ１１-1〜１１-nは図１に示されるＦｅＲＡＭ１１に相当する。ＦｅＲＡＭ１１-1〜１１-nの各々の記憶領域には、ユーザーデータ領域１１１及びブロックアドレス領域１１２が確保されている。ＦｅＲＡＭ１１-i（ｉ＝１〜ｎ）のブロックアドレス領域１１２は、図１に示されるＦｅＲＡＭ１１のブロックアドレス領域１１２と同様に、当該ＦｅＲＡＭ１１-iのユーザーデータ領域１１１からユーザーデータを読み出す際に、当該ユーザーデータが格納されているブロックのブロックアドレス（物理ブロックアドレス）を示すブロックアドレスデータを一時的に保存するのに用いられる。
【００７６】
図１０に示される記憶装置１２０のＭＰＵ１６は、例えばホストからのリードコマンドに従うデータ読み出し処理では、当該リードコマンドに応じて、ＦｅＲＡＭ１１-1〜１１-nのうちの１つを選択して、当該選択されたＦｅＲＡＭからデータを読み出す。
【００７７】
なお、ＦｅＲＡＭ１１-1〜１１-nのうちのいずれか１つだけにブロックアドレス領域１１２が確保される構成であっても構わない。この場合、ブロックアドレス領域１１２に格納されるブロックデータ中のブロックアドレスに、選択されたＦｅＲＡＭを識別する情報を付加すればよい。この識別情報に基づき、ＭＰＵ１６は選択されたＦｅＲＡＭを特定することができる。
【００７８】
図１０の構成は、図８に示される記憶装置１００または図９に示される記憶装置１１０に応用することが可能である。つまり、記憶装置１００または記憶装置１１０が、複数のＦｅＲＡＭ１１を含んでいても構わない。この場合、記憶装置１００のＭＲＡＭ８０または記憶装置１１０のディスク装置９０の記憶領域に、複数のＦｅＲＡＭ１１にそれぞれ対応付けて同数のブロックアドレス領域８０２または９０２が確保されていればよい。また、ＭＲＡＭ８０またはディスク装置９０の記憶領域に、１つのブロックアドレス領域８０２または９０２が確保される構成であっても構わない。この場合、ブロックアドレス領域８０２または９０２に格納されるブロックデータ中のブロックアドレスに、選択されたＦｅＲＡＭを識別する情報を付加すればよい。
【００７９】
なお、本発明は、上記実施形態またはその変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。例えば、スタートアドレス（スタート論理アドレス）またはエンドアドレス（エンド論理アドレス）が、ブロック境界に一致しないアクセスを考慮するならば、ブロックアドレス領域１１２、ブロックアドレス領域８０２またはブロックアドレス領域９０２に格納されるブロックデータ中のブロックアドレスに代えて、ブロック内の記憶位置をも示すアドレス（物理アドレス）を用いてもよい。
【００８０】
また、上記実施形態またはその変形例に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態またはその変形例に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００８１】
【図１】本発明の一実施形態に係る記憶装置の構成を示すブロック図。
【図２】図１に示されるＦｅＲＡＭ１１の記憶領域のフォーマットの一例を示す図。
【図３】同実施形態におけるデータ書き込み処理の手順を示すフローチャート。
【図４】同実施形態におけるデータ読み出し処理の手順を示すフローチャート。
【図５】同実施形態において電源投入後の初期化処理の中で行われるデータエラー検出訂正処理の手順を示すフローチャート。
【図６】同実施形態の第１の変形例におけるデータ読み出し処理の手順を示すフローチャート。
【図７】同実施形態の第１の変形例において電源投入後の初期化処理の中で行われるデータエラー検出訂正処理の手順を示すフローチャート。
【図８】同実施形態の第２の変形例に係る記憶装置の構成を示すブロック図。
【図９】同実施形態の第３の変形例に係る記憶装置の構成を示すブロック図。
【図１０】同実施形態の第４の変形例に係る記憶装置の構成を示すブロック図。
【符号の説明】
【００８２】
１０，１００，１１０，１２０…記憶装置、１１，１１-1〜１１-n…ＦｅＲＡＭ（不揮発性記憶デバイス、第１の不揮発性記憶手段）、１２…ＲＡＭ、１５…ＲＯＭ、１６…ＭＰＵ、８０…ＭＲＡＭ（不揮発性記憶デバイス、第２の不揮発性記憶手段）、９０…ディスク装置（不揮発性記憶デバイス、第２の不揮発性記憶手段）、１１１…ユーザーデータ領域、１１２，８０２，９０２…ブロックアドレス領域（第２の不揮発性記憶手段）、１５０…プログラム、１５１…データ書き込みルーチン、１５２…データ読み出しルーチン、１５３…データエラー検出訂正ルーチン。
【図１】
2010146389.tif 000003
【図２】
2010146389.tif 000004
【図３】
2010146389.tif 000005
【図４】
2010146389.tif 000006
【図５】
2010146389.tif 000007
【図６】
2010146389.tif 000008
【図７】
2010146389.tif 000009
【図８】
2010146389.tif 000010
【図９】
2010146389.tif 000011
【図１０】
2010146389.tif 000012
【手続補正書】
【提出日】平成22年2月17日(2010.2.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項９
【補正方法】変更
【補正の内容】
【請求項９】
前記第２の不揮発性記憶手段が、前記第１の不揮発性記憶手段の記憶領域の一部を用いて構成されることを特徴とする請求項１乃至８のいずれかに記載の記憶装置。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１０
【補正方法】変更
【補正の内容】
【請求項１０】
前記第２の不揮発性記憶手段が、データ読み出しに破壊読み出しを伴わない不揮発性記憶デバイスを用いて構成されることを特徴とする請求項１乃至８のいずれかに記載の記憶装置。