(57)【要約】【課題】エラー管理テーブルを設け、該エラー管理テーブルにエラーが発生した論理セクタの情報を記録するようにして、エラーが発生した論理セクタを事前に把握することができ、不必要なアクセスを減少することができ、処理を高速化することができるようにする。【解決手段】フラッシュメモリと該フラッシュメモリのコントローラとから成るフラッシュディスク装置のエラーブロック管理方法であって、エラーが発生した論理セクタ２３の情報を前記コントローラに設けられたエラー管理テーブル１７に記録するステップと、前記フラッシュメモリへアクセスする際に前記エラー管理テーブル１７を参照するステップとを有する。【選択図】図１
2007148965.tif 000002
【特許請求の範囲】
【請求項１】
（ａ）フラッシュメモリと該フラッシュメモリのコントローラとから成るフラッシュディスク装置のエラーブロック管理方法であって、
（ｂ）エラーが発生した論理セクタの情報を前記コントローラに設けられたエラー管理テーブルに記録するステップと、
（ｃ）前記フラッシュメモリへアクセスする際に前記エラー管理テーブルを参照するステップとを有することを特徴とするフラッシュディスク装置のエラーブロック管理方法。
【請求項２】
前記エラーが発生した論理セクタの情報は、ブロック単位で前記エラー管理テーブルに記録される請求項１に記載のフラッシュディスク装置のエラーブロック管理方法。
【請求項３】
前記エラーが発生した論理セクタの情報は、ページ単位で前記エラー管理テーブルに記録される請求項１に記載のフラッシュディスク装置のエラーブロック管理方法。
【請求項４】
前記エラーが発生した論理セクタの情報は、前記エラー管理テーブルに代えて、前記フラッシュメモリ内の管理データ領域に記録される請求項１に記載のフラッシュディスク装置のエラーブロック管理方法。
【請求項５】
（ａ）フラッシュメモリと該フラッシュメモリのコントローラとから成るフラッシュディスク装置のエラーブロック管理装置であって、
（ｂ）前記コントローラは、エラー管理テーブルを備え、エラーが発生した論理セクタの情報を前記エラー管理テーブルに記録し、前記フラッシュメモリへアクセスする際に前記エラー管理テーブルを参照することを特徴とするフラッシュディスク装置のエラーブロック管理装置。
【請求項６】
前記コントローラは、前記エラーが発生した論理セクタの情報をブロック単位で前記エラー管理テーブルに記録する請求項５に記載のフラッシュディスク装置のエラーブロック管理装置。
【請求項７】
前記コントローラは、前記エラーが発生した論理セクタの情報をページ単位で前記エラー管理テーブルに記録する請求項５に記載のフラッシュディスク装置のエラーブロック管理装置。
【請求項８】
前記コントローラは、前記エラーが発生した論理セクタの情報を、前記エラー管理テーブルに代えて、前記フラッシュメモリ内の管理データ領域に記録する請求項５に記載のフラッシュディスク装置のエラーブロック管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュディスク装置のエラーブロック管理方法及び装置に関するものである。
【背景技術】
【０００２】
従来、記憶装置の１つとして、不揮発性メモリであるＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ−Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）の一種であるフラッシュメモリが広い産業分野で使用されている。そして、近年では、フラッシュメモリの大容量化、低コスト化に伴い、小容量のＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）を使用していた産業分野において、フラッシュメモリとコントローラとを一体化させたフラッシュディスク装置がＨＤＤに代えて使用されるようになっている。フラッシュディスク装置は、小型で、低消費電力で、耐振動性に優れ、信頼性が高く、システムメンテナンスの負担も小さいというメリットから、ＨＤＤからの置き換えが進んでいる。また、フラッシュディスク装置は、ＨＤＤのようにヘッドのシークタイムがないのでコマンド入力からデータ読み出しまでの時間が非常に短いため、ルータ等の通信分野でもシステムキャッシュ等の用途に使用され始めている。
【０００３】
ところで、フラッシュディスク装置に一般的に使用されているフラッシュメモリは、ＡＮＤ型又はＮＡＮＤ型のメモリであるが、フラッシュメモリに記憶されたデータは、ある一定の確率でビットエラーが発生する。また、フラッシュメモリに記憶されたデータを消去する場合、ブロックと呼ばれる単位（一般的には１６〔ＫＢ〕）で消去を行うが、各ブロック毎に消去回数が１０万回〜１００万回という制約がある。そこで、フラッシュメモリに記憶されたデータを管理するために管理テーブルを使用する管理方法が提案されている（例えば、特許文献１参照。）。
【特許文献１】特開平５−７３４３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、前記従来の管理方法においては、エラーが発生した論理セクタの情報を管理していないので、エラーが発生した論理セクタの前後の正常な論理セクタをリードする場合にもエラーになってしまう。
【０００５】
図２は従来のフラッシュディスク装置の論理構成を示す図である。
【０００６】
図に示されるように、従来のフラッシュディスク装置はブロック管理テーブルを有し、該ブロック管理テーブルがデータの書換回数や現在の状態を保存している。そして、論理セクタにエラーが発生した場合は、該当するブロックにエラーが発生したという情報は分かるようになっている。そのため、フラッシュメモリへのアクセス時にエラーが発生した場合、該エラーが発生したブロックが記録されるので、それ以降にフラッシュメモリへアクセスした際に、前記エラーが発生したブロックが使用されることはない。
【０００７】
しかし、論理セクタの情報がないので、どの論理セクタにエラーがあったのかが不明である。そのため、エラーが発生した論理セクタの前後の正常な論理セクタをリードする場合にもエラーになってしまう。
【０００８】
本発明は、前記従来の問題点を解決して、エラー管理テーブルを設け、該エラー管理テーブルにエラーが発生した論理セクタの情報を記録するようにして、エラーが発生した論理セクタを事前に把握することができ、不必要なアクセスを減少することができ、処理を高速化することができるフラッシュディスク装置のエラーブロック管理方法及び装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
そのために、本発明のフラッシュディスク装置のエラーブロック管理方法においては、フラッシュメモリと該フラッシュメモリのコントローラとから成るフラッシュディスク装置のエラーブロック管理方法であって、エラーが発生した論理セクタの情報を前記コントローラに設けられたエラー管理テーブルに記録するステップと、前記フラッシュメモリへアクセスする際に前記エラー管理テーブルを参照するステップとを有する。
【００１０】
本発明の他のフラッシュディスク装置のエラーブロック管理方法においては、さらに、前記エラーが発生した論理セクタの情報は、ブロック単位で前記エラー管理テーブルに記録される。
【００１１】
本発明の更に他のフラッシュディスク装置のエラーブロック管理方法においては、さらに、前記エラーが発生した論理セクタの情報は、ページ単位で前記エラー管理テーブルに記録される。
【００１２】
本発明の更に他のフラッシュディスク装置のエラーブロック管理方法においては、さらに、前記エラーが発生した論理セクタの情報は、前記エラー管理テーブルに代えて、前記フラッシュメモリ内の管理データ領域に記録される。
【００１３】
本発明のフラッシュディスク装置のエラーブロック管理装置においては、フラッシュメモリと該フラッシュメモリのコントローラとから成るフラッシュディスク装置のエラーブロック管理装置であって、前記コントローラは、エラー管理テーブルを備え、エラーが発生した論理セクタの情報を前記エラー管理テーブルに記録し、前記フラッシュメモリへアクセスする際に前記エラー管理テーブルを参照する。
【００１４】
本発明の他のフラッシュディスク装置のエラーブロック管理装置においては、さらに、前記コントローラは、前記エラーが発生した論理セクタの情報をブロック単位で前記エラー管理テーブルに記録する。
【００１５】
本発明の更に他のフラッシュディスク装置のエラーブロック管理装置においては、さらに、前記コントローラは、前記エラーが発生した論理セクタの情報をページ単位で前記エラー管理テーブルに記録する。
【００１６】
本発明の更に他のフラッシュディスク装置のエラーブロック管理装置においては、さらに、前記コントローラは、前記エラーが発生した論理セクタの情報を、前記エラー管理テーブルに代えて、前記フラッシュメモリ内の管理データ領域に記録する。
【発明の効果】
【００１７】
本発明によれば、フラッシュディスク装置のエラーブロック管理方法は、エラー管理テーブルを設け、該エラー管理テーブルにエラーが発生した論理セクタの情報を記録するようになっている。そのため、エラーが発生した論理セクタを事前に把握することができ、不必要なアクセスを減少することができ、処理を高速化することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００１９】
図１は本発明の第１の実施の形態におけるフラッシュディスク装置の論理構成を示す図、図３は本発明の第１の実施の形態におけるエラー管理テーブルの内容を示す図である。
【００２０】
図１において、１１は、本実施の形態におけるフラッシュディスク装置が有するフラッシュメモリの物理的メモリ空間であり、１２は、前記フラッシュディスク装置が有するコントローラが備えるアドレス変換テーブルであり、論理アドレス空間１３に含まれる論理アドレスを物理的メモリ空間１１に含まれる物理的アドレスに変換するために使用されるテーブルである。なお、前記コントローラは、フラッシュディスク装置のエラーブロック管理装置としても機能する。
【００２１】
ここで、前記フラッシュディスク装置は、電気的な消去が可能な不揮発性メモリであるＥＥＰＲＯＭの一種であるフラッシュメモリと、該フラッシュメモリをコントロールするためのコントローラとを一体化させた装置である。そして、前記フラッシュディスク装置は、ＨＤＤに代わる記憶手段として使用することができ、例えば、パーソナルコンピュータ、携帯電話機、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、デジタルカメラ、ビデオカメラ、音楽プレーヤ、ゲーム機、車両用ナビゲーション装置等の電子機器に装着されて使用されるものであるが、いかなる機器において使用されるものであってもよい。
【００２２】
また、前記物理的メモリ空間１１は、複数のブロック２１に区分されている。さらに、各ブロック２１は、前記フラッシュメモリ内のアドレス空間を所定の大きさに分割した複数の物理ページ２２を含んでいる。一方、論理アドレス空間１３は、複数の論理セクタ２３に区分されている。
【００２３】
そして、前記コントローラは、アドレス変換テーブル１２の他に、空きページリスト１５、ブロック管理テーブル１６及びエラー管理テーブル１７を備える。ここで、前記アドレス変換テーブル１２は、各論理セクタ２３と物理ページ２２との対応関係を含んでいる。そのため、前記コントローラは、フラッシュメモリへのデータの書き込み、すなわち、ライトを行う際、及び、フラッシュメモリからのデータの読み込み、すなわち、リードを行う際には、前記アドレス変換テーブル１２を参照することによって、各論理セクタ２３と物理ページ２２との対応付けを行うことができる。
【００２４】
また、前記空きページリスト１５は、前記フラッシュメモリに含まれる物理ページ２２の中でデータを記憶していない、すなわち、空いている物理ページ２２のリストを含んでいる。そのため、前記コントローラは、ライトを行う際に前記空きページリスト１５を参照することによって、空いている物理ページ２２を見出すことができる。
【００２５】
さらに、前記ブロック管理テーブル１６は、前記フラッシュメモリの各ブロック２１のデータの書換回数及び現在の状態を保存している。フラッシュディスク装置に一般的に使用されているフラッシュメモリは、データの書換回数の上限値である許容書換回数が１００万回程度であり、比較的寿命が短い。そのため、特定のブロック２１における書換頻度が他のブロック２１における書換頻度と比較して高く、前記特定のブロック２１における書換回数が許容書換回数を超えると、他のブロック２１における書換回数が許容書換回数に達していなくても、メモリとしての寿命が尽きてしまう。そこで、前記コントローラは、ブロック管理テーブル１６を参照することによって、データの書き換えが特定のブロック２１に集中しないようにして、フラッシュメモリの寿命をできる限り長くすることができる。
【００２６】
さらに、前記エラー管理テーブル１７は、エラーが発生した論理セクタ２３の情報を記録するテーブルであり、図３に示されるように、エラーが発生した論理セクタ２３のアドレスを示す論理セクタアドレスを含んでいる。そのため、前記コントローラは、エラー管理テーブル１７を参照することによって、エラーが発生した論理セクタを事前に把握することができ、不必要なアクセスを減少することができる。
【００２７】
次に、前記構成のコントローラの動作について説明する。まず、フラッシュメモリへライトを行う際の動作について説明する。
【００２８】
図４は本発明の第１の実施の形態におけるコントローラの動作の概略を示す図、図５は本発明の第１の実施の形態におけるコントローラのライトの際の動作を示すフローチャートである。
【００２９】
まず、コントローラは、エラー管理テーブル１７を参照して、当該アドレスのエラー情報があるか否かを判断する。そして、エラー情報がある場合、コントローラは、エラーが発生した論理セクタ２３の情報をアドレス変換テーブル１２から抹消する、すなわち、エラーセクタの情報をクリアする。続いて、新しいブロック２１へライトを行って処理を終了する。また、エラー情報がない場合、コントローラは、そのまま、新しいブロック２１へライトを行って処理を終了する。
【００３０】
次に、フローチャートについて説明する。
ステップＳ１  エラー情報があるか否かを判断する。エラー情報がある場合はステップＳ２に進み、エラー情報がない場合はステップＳ３に進む。
ステップＳ２  エラーセクタの情報をクリアする。
ステップＳ３  新しいブロック２１へライトを行って処理を終了する。
【００３１】
次に、フラッシュメモリのリードを行う際の動作について説明する。
【００３２】
図６は本発明の第１の実施の形態におけるコントローラのリードの際の動作を示すフローチャートである。
【００３３】
まず、コントローラは、エラー管理テーブル１７を参照して、エラーが発生したブロック２１のリードであるか否か、すなわち、エラーブロックのリードであるか否かを判断する。ここで、エラーブロックのリードである場合、コントローラは、エラーである旨をフラッシュディスク装置が装着されている電子機器等の上位装置に返信する、すなわち、エラーを返却する。そして、処理を終了する。
【００３４】
また、エラーブロックのリードでない場合、コントローラは、フラッシュメモリからデータを読み込む、すなわち、データをリードする。続いて、コントローラは、正常終了であるか否かを判断する。ここで、正常終了である場合、コントローラは、正常である旨を上位装置に返信する、すなわち、正常を返却する。そして、処理を終了する。
【００３５】
また、正常終了でない場合、コントローラは、エラー管理テーブル１７を参照して、該エラー管理テーブル１７内に該当する論理セクタ２３のアドレスを示す論理セクタアドレスがあるか否か、すなわち、テーブルに既にあるか否かを判断する。そして、テーブルに既にある場合、コントローラはエラーを返却して処理を終了する。また、テーブルにまだない場合、コントローラは、該当する論理セクタ２３のアドレスを示す論理セクタアドレスをエラー管理テーブル１７に追加する。そして、エラーを返却して処理を終了する。
【００３６】
次に、フローチャートについて説明する。
ステップＳ１１  エラーブロックのリードであるか否かを判断する。エラーブロックのリードである場合はステップＳ１２に進み、エラーブロックのリードでない場合はステップＳ１３に進む。
ステップＳ１２  エラーを返却して処理を終了する。
ステップＳ１３  データをリードする。
ステップＳ１４  正常終了であるか否かを判断する。正常終了である場合はステップＳ１５に進み、正常終了でない場合はステップＳ１６に進む。
ステップＳ１５  正常を返却して処理を終了する。
ステップＳ１６  テーブルに既にあるか否かを判断する。テーブルに既にある場合はステップＳ１８に進み、テーブルにまだない場合はステップＳ１７に進む。
ステップＳ１７  論理セクタアドレスをエラー管理テーブル１７に追加する。
ステップＳ１８  エラーを返却して処理を終了する。
【００３７】
このように、本実施の形態においては、エラーが発生した論理セクタ２３の情報をブロック単位でエラー管理テーブル１７に記録しておくようになっている。そのため、コントローラは、エラーを含んだデータであるか否かを事前に判断することができ、フラッシュメモリへの不必要なアクセスを減らすことができる。また、エラーを含んだデータをフラッシュメモリにライトしてしまうことを防止することができる。
【００３８】
次に、本発明の第２の実施の形態について説明する。なお、第１の実施の形態と同じ構造を有するものについては、同じ符号を付与することによってその説明を省略する。また、前記第１の実施の形態と同じ動作及び同じ効果についても、その説明を省略する。
【００３９】
図７は本発明の第２の実施の形態におけるエラー管理テーブルの内容を示す図である。
【００４０】
本実施の形態におけるエラー管理テーブル１７は、エラーが発生した論理セクタ２３の情報とともにエラーが発生した物理ページ２２、すなわち、エラーページの情報も記録するようになっている。そのため、前記エラー管理テーブル１７は、図７に示されるように、エラーが発生した論理セクタ２３のアドレスを示す論理セクタアドレス、及び、エラーが発生した物理ページ２２を示すページフラグを含んでいる。なお、その他の点における構成は、前記第１の実施の形態と同様であるので、説明を省略する。
【００４１】
次に、本実施の形態におけるコントローラの動作について説明する。なお、フラッシュメモリへライトを行う際の動作については、前記第１の実施の形態と同様であるので、説明を省略し、フラッシュメモリのリードを行う際の動作について説明する。
【００４２】
図８は本発明の第２の実施の形態におけるコントローラの動作の概略を示す図、図９は本発明の第２の実施の形態におけるコントローラのリードの際の動作を示すフローチャートである。
【００４３】
まず、コントローラは、エラー管理テーブル１７を参照して、エラーが発生した物理ページ２２のリードであるか否か、すなわち、エラーページのリードであるか否かを判断する。ここで、エラーページのリードである場合、コントローラは、エラーである旨を上位装置に返信する、すなわち、エラーを返却する。そして、処理を終了する。
【００４４】
また、エラーページのリードでない場合、コントローラは、フラッシュメモリからデータを読み込む、すなわち、データをリードする。続いて、コントローラは、正常終了であるか否かを判断する。ここで、正常終了である場合、コントローラは、正常である旨を上位装置に返信する、すなわち、正常を返却する。そして、処理を終了する。
【００４５】
また、正常終了でない場合、コントローラは、エラー管理テーブル１７を参照して、該エラー管理テーブル１７内に該当する論理セクタ２３のアドレスを示す論理セクタアドレス及び該当する物理ページ２２を示すページフラグがあるか否か、すなわち、テーブルに既にあるか否かを判断する。そして、テーブルに既にある場合、コントローラは前記ページフラグを更新する。続いて、エラーを返却して処理を終了する。また、テーブルにまだない場合、コントローラは、該当する論理セクタ２３のアドレスを示す論理セクタアドレス及び該当する物理ページ２２を示すページフラグをエラー管理テーブル１７に追加する。そして、エラーを返却して処理を終了する。
【００４６】
次に、フローチャートについて説明する。
ステップＳ２１  エラーページのリードであるか否かを判断する。エラーページのリードである場合はステップＳ２２に進み、エラーページのリードでない場合はステップＳ２３に進む。
ステップＳ２２  エラーを返却して処理を終了する。
ステップＳ２３  データをリードする。
ステップＳ２４  正常終了であるか否かを判断する。正常終了である場合はステップＳ２５に進み、正常終了でない場合はステップＳ２６に進む。
ステップＳ２５  正常を返却して処理を終了する。
ステップＳ２６  テーブルに既にあるか否かを判断する。テーブルに既にある場合はステップＳ２７に進み、テーブルにまだない場合はステップＳ２８に進む。
ステップＳ２７  ページフラグを更新する。
ステップＳ２８  論理セクタアドレス及びページフラグをエラー管理テーブル１７に追加する。
ステップＳ２９  エラーを返却して処理を終了する。
【００４７】
このように、本実施の形態においは、エラーをフラッシュメモリの最小単位であるページ単位で管理するようになっている。そのため、上位装置からのアクセスの単位と一致し、効率のよいエラーブロックの管理が可能となる。これにより、本来、正常のデータにしかアクセスしないにも関わらずエラーとなってしまうことを防止することができるようになり、システムの信頼性を向上することができる。
【００４８】
次に、本発明の第３の実施の形態について説明する。なお、第１及び第２の実施の形態と同じ構造を有するものについては、同じ符号を付与することによってその説明を省略する。また、前記第１及び第２の実施の形態と同じ動作及び同じ効果についても、その説明を省略する。
【００４９】
図１０は一般的なフラッシュメモリのデータ構造を示す図、図１１は本発明の第３の実施の形態におけるフラッシュメモリのデータ構造を示す図である。
【００５０】
前記第１及び第２の実施の形態においては、エラーが発生した論理セクタ２３やエラーが発生した物理ページ２２の内容をエラー管理テーブル１７に記録するようになっているが、本実施の形態においては、フラッシュメモリ内の記録領域にエラー情報を記録するようになっている。
【００５１】
ところで、一般的なフラッシュメモリにおいては、図１０に示されるように、各物理ページ２２はデータ領域（５１２〔Ｂｙｔｅ〕）と管理データ領域（１６〔Ｂｙｔｅ〕）とから成り、各ブロック２１は３２ページの物理ページ２２から成る。
【００５２】
本実施の形態においては、図１１に示されるように、第１番目の物理ページ２２、すなわち、ページ０の管理データ領域にエラーが発生した論理セクタアドレス（３〔Ｂｙｔｅ〕）を記録し、第２番目の物理ページ２２、すなわち、ページ１の管理データ領域にエラーページ（４〔Ｂｙｔｅ〕）を記録するようになっている。なお、その他の点における構成は、前記第１の実施の形態と同様であるので、説明を省略する。
【００５３】
次に、本実施の形態におけるコントローラの動作について説明する。まず、フラッシュメモリへライトを行う際の動作について説明する。
【００５４】
図１２は本発明の第３の実施の形態におけるコントローラの動作の概略を示す図である。
【００５５】
まず、コントローラは、当該アドレスのエラー情報があるか否かを判断する。そして、エラー情報がある場合、コントローラは、エラーが発生した論理セクタ２３の情報をフラッシュメモリ内から抹消する、すなわち、フラッシュメモリ内のエラーセクタの情報をクリアする。続いて、新しいブロック２１へライトを行って処理を終了する。また、エラー情報がない場合、コントローラは、そのまま、新しいブロック２１へライトを行って処理を終了する。
【００５６】
次に、フローチャートについて説明する。
ステップＳ３１  エラー情報があるか否かを判断する。エラー情報がある場合はステップＳ３２に進み、エラー情報がない場合はステップＳ３３に進む。
ステップＳ３２  フラッシュメモリ内のエラーセクタの情報をクリアする。
ステップＳ３３  新しいブロック２１へライトを行って処理を終了する。
【００５７】
次に、フラッシュメモリのリードを行う際の動作について説明する。
【００５８】
図１３は本発明の第３の実施の形態におけるコントローラのリードの際の動作を示すフローチャートである。
【００５９】
まず、コントローラは、エラーが発生した物理ページ２２のリードであるか否か、すなわち、エラーページのリードであるか否かを判断する。ここで、エラーページのリードである場合、コントローラは、エラーである旨を上位装置に返信する、すなわち、エラーを返却する。そして、処理を終了する。
【００６０】
また、エラーページのリードでない場合、コントローラは、フラッシュメモリからデータを読み込む、すなわち、データをリードする。続いて、コントローラは、正常終了であるか否かを判断する。ここで、正常終了である場合、コントローラは、正常である旨を上位装置に返信する、すなわち、正常を返却する。そして、処理を終了する。
【００６１】
また、正常終了でない場合、コントローラは、フラッシュメモリの論理セクタ２３のエラーページのページフラグを参照して、フラッシュメモリ内に該当する論理セクタ２３のアドレスを示す論理セクタアドレス及びエラーページのページフラグがあるか否か、すなわち、既にあるか否かを判断する。そして、既にある場合、コントローラはフラッシュメモリ内のページフラグを更新する。続いて、エラーを返却して処理を終了する。また、まだない場合、コントローラは、該当する論理セクタ２３のアドレスを示す論理セクタアドレス及びエラーページのページフラグをフラッシュメモリ内に追加する。そして、エラーを返却して処理を終了する。
【００６２】
次に、フローチャートについて説明する。
ステップＳ４１  エラーページのリードであるか否かを判断する。エラーページのリードである場合はステップＳ４２に進み、エラーページのリードでない場合はステップＳ４３に進む。
ステップＳ４２  エラーを返却して処理を終了する。
ステップＳ４３  データをリードする。
ステップＳ４４  正常終了であるか否かを判断する。正常終了である場合はステップＳ４５に進み、正常終了でない場合はステップＳ４６に進む。
ステップＳ４５  正常を返却して処理を終了する。
ステップＳ４６  既にあるか否かを判断する。既にある場合はステップＳ４７に進み、まだない場合はステップＳ４８に進む。
ステップＳ４７  フラッシュメモリ内のページフラグを更新する。
ステップＳ４８  論理セクタアドレス及びエラーページのページフラグをフラッシュメモリ内に追加する。
ステップＳ４９  エラーを返却して処理を終了する。
【００６３】
このように、本実施の形態においては、フラッシュメモリ内の管理データ領域にエラーの情報を記録するようになっている。そのため、エラー管理テーブル１７にデータを記録するために使用されるメモリ資源を節約することができる。また、前記第２の実施の形態と同様に、ページ単位での管理となるため、次の（１）〜（３）の効果を得ることができる。
（１）無駄の少ないフラッシュメモリの使用が可能となる。
（２）サーチの必要がなくなり、フラッシュディスク装置としての処理を高速化することができる。
（３）エラー管理テーブル１７の記録等の制御を必要としなくなり、制御を簡素化することができ、信頼性を向上することができる。
【００６４】
なお、本発明は前記実施の形態に限定されるものではなく、本発明の趣旨に基づいて種々変形させることが可能であり、それらを本発明の範囲から排除するものではない。
【図面の簡単な説明】
【００６５】
【図１】本発明の第１の実施の形態におけるフラッシュディスク装置の論理構成を示す図である。
【図２】従来のフラッシュディスク装置の論理構成を示す図である。
【図３】本発明の第１の実施の形態におけるエラー管理テーブルの内容を示す図である。
【図４】本発明の第１の実施の形態におけるコントローラの動作の概略を示す図である。
【図５】本発明の第１の実施の形態におけるコントローラのライトの際の動作を示すフローチャートである。
【図６】本発明の第１の実施の形態におけるコントローラのリードの際の動作を示すフローチャートである。
【図７】本発明の第２の実施の形態におけるエラー管理テーブルの内容を示す図である。
【図８】本発明の第２の実施の形態におけるコントローラの動作の概略を示す図である。
【図９】本発明の第２の実施の形態におけるコントローラのリードの際の動作を示すフローチャートである。
【図１０】一般的なフラッシュメモリのデータ構造を示す図である。
【図１１】本発明の第３の実施の形態におけるフラッシュメモリのデータ構造を示す図である。
【図１２】本発明の第３の実施の形態におけるコントローラの動作の概略を示す図である。
【図１３】本発明の第３の実施の形態におけるコントローラのリードの際の動作を示すフローチャートである。
【符号の説明】
【００６６】
１７    エラー管理テーブル
２１    ブロック
２２    物理ページ
２３    論理セクタ
【図１】
2007148965.tif 000003
【図２】
2007148965.tif 000004
【図３】
2007148965.tif 000005
【図４】
2007148965.tif 000006
【図５】
2007148965.tif 000007
【図６】
2007148965.tif 000008
【図７】
2007148965.tif 000009
【図８】
2007148965.tif 000010
【図９】
2007148965.tif 000011
【図１０】
2007148965.tif 000012
【図１１】
2007148965.tif 000013
【図１２】
2007148965.tif 000014
【図１３】
2007148965.tif 000015