(57)【要約】【課題】本発明は、“リードディスターブ”現象が発生したとしても、データ読み出し処理に影響を及ぼすことの無いメモリシステムを提供する。【解決手段】本発明に係るメモリシステムは、演算装置５０に加えて、ユーザ情報を含む情報を記憶するために設けられ、互いに重複しない第１物理アドレスが個々に割り当てられる複数の第１ブロックと、複数の第１ブロックのうちの初期欠陥ブロックの第１物理アドレスを個々に記憶するために設けられる複数の第２ブロックとを備える。演算装置５０は、入力された所定の論理アドレスに対応する所定のミラー論理アドレスと、第２ブロックに格納される情報とに基づいて、所定の論理アドレスに対応する第１物理アドレスを求める。【選択図】図１５
2010152472.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ情報を含む情報を記憶するために設けられ、互いに重複しない第１物理アドレスが個々に割り当てられる複数の第１ブロックと、
前記複数の第１ブロックのうちの初期欠陥ブロックの前記第１物理アドレスを個々に記憶するために設けられる複数の第２ブロックと、
前記ユーザ情報を記憶する、前記複数の第１ブロックのうちの複数のユーザ情報ブロックと、
前記ユーザ情報の複製を記憶する、前記複数の第１ブロックのうちの複数の複製ユーザ情報ブロックと、
論理アドレスに対応する前記第１物理アドレスを求める演算装置とを、備えており、
前記演算装置は、
前記ユーザ情報ブロックにアクセスするために入力される論理アドレスと一対一の対応関係が有り、前記複製ユーザ情報ブロックにアクセスするためのミラー論理アドレスを、情報として有しており、
入力された所定の前記論理アドレスに対応する所定の前記ミラー論理アドレスと、前記第２ブロックに格納される情報とに基づいて、前記所定の論理アドレスに対応する前記第１物理アドレスを求める、
ことを特徴とするメモリシステム。
【請求項２】
前記第２ブロックには、
互いに重複しない第２物理アドレスが個々に割り当てられており、
前記第２ブロックに記憶される前記初期欠陥ブロックの前記第１物理アドレスは、
前記第１物理アドレスの順に従って、前記第２物理アドレスの順に、前記第２ブロックに格納される、
ことを特徴とする請求項１に記載のメモリシステム。
【請求項３】
前記演算装置は、
（Ａ）前記所定のミラー論理アドレスを用いて、前記第２ブロックからターゲットブロックを検索し、
（Ｂ）前記ターゲットブロックから読み出される前記初期欠陥ブロックの前記第１物理アドレスと、前記ターゲットブロックの前記第２物理アドレスとに基づいて、前記ターゲットブロックから読み出された前記初期欠陥ブロックの前記第１物理アドレスより前方に存在する、前記初期欠陥ブロック以外の第１ブロックの個数を求め、
（Ｃ）前記所定のミラー論理アドレスと前記個数とに基づいて、前記所定の論理アドレスに対応する前記第１物理アドレスを求める、
ことを特徴とする請求項２に記載のメモリシステム。
【請求項４】
前記演算装置は、
（Ｄ）前記所定の論理アドレスと、前記第２ブロックに格納される情報とに基づいて、前記所定の論理アドレスに対応する前記第１物理アドレスを求め、
（Ｅ）前記（Ｄ）で求めた前記第１物理アドレスで特定される前記第１ブロックが、暫定後発欠陥ブロックであるか否かを判断し、
（Ｆ）前記（Ｅ）で前記暫定後発欠陥ブロックであると判断したとき、前記（Ａ）から（Ｃ）の処理を行う、
ことを特徴とする請求項３に記載のメモリシステム。
【請求項５】
前記演算装置は、
前記（Ｆ）において、前記（Ｄ）で求めた前記第１物理アドレスで特定される前記第１ブロックのビット誤り数が、予め設定されているしきい値を超えたときに、前記暫定後発欠陥ブロックであると判断する、
ことを特徴とする請求項４に記載のメモリシステム。
【請求項６】
前記複数の第１ブロックのうちの前記暫定後発欠陥ブロックの前記第１物理アドレスを個々に記憶するために設けられる複数の第３ブロックを、さらに備えており、
前記演算装置は、
（Ｇ）前記（Ｅ）で前記暫定後発欠陥ブロックであると判断したとき、前記第３ブロックに、前記（Ｄ）で求めた前記第１物理アドレスを記録する、
ことを特徴とする請求項４に記載のメモリシステム。
【請求項７】
前記演算装置は、
（Ｈ）前記（Ｅ）で前記暫定後発欠陥ブロックであると判断した前記第１ブロックを、当該第１ブロックに対応する前記複製ユーザ情報ブロック内の情報を用いて、修復する、
ことを特徴とする請求項４に記載のメモリシステム。
【請求項８】
前記（Ｈ）に記載の前記修復の結果、修復不可能と判断した場合には、前記演算装置は、
（Ｉ）当該修復不可能であると判断した前記第１ブロックの前記第１物理アドレス情報を、前記第３ブロックから、前記第１ブロックの一部で構成された管理領域に、恒久的後発欠陥ブロックに関する情報として転送する、
ことを特徴とする請求項７に記載のメモリシステム。
【請求項９】
前記ユーザ情報の他の複製を記憶する、前記複数の第１ブロックのうちの複数の他の複製ユーザ情報ブロックを、さらに備えており、
前記演算装置は、
前記ユーザ情報ブロックにアクセスするために入力される論理アドレスと一対一の対応関係が有り、前記他の複製ユーザ情報ブロックにアクセスするための他のミラー論理アドレスを、情報として有しており、
入力された前記所定の論理アドレスに対応する所定の前記他のミラー論理アドレスと、前記第２ブロックに格納される情報とに基づいて、前記所定の論理アドレスに対応する前記第１物理アドレスを求める、
ことを特徴とする請求項４に記載のメモリシステム。
【請求項１０】
前記演算装置は、
（Ｊ）前記（Ｃ）で求めた前記第１物理アドレスで特定される前記第１ブロックが、暫定後発欠陥ブロックであるか否かを判断し、
（Ｋ）前記（Ｊ）で前記暫定後発欠陥ブロックであると判断したとき、入力された前記所定の論理アドレスに対応する所定の前記他のミラー論理アドレスと、前記第２ブロックに格納される情報とに基づいて、前記所定の論理アドレスに対応する前記第１物理アドレスを求める、
ことを特徴とする請求項９に記載のメモリシステム。
【請求項１１】
前記複数の第１ブロックのうちの恒久的後発欠陥ブロックの前記第１物理アドレスを個々に記憶するために設けられる複数の第４ブロックを、さらに備えており、
前記演算装置は、
（Ｌ）前記（Ｃ）で求めた前記第１物理アドレスが、前記第４ブロックに格納されている情報と一致するか否かを判断する、
ことを特徴とする請求項４に記載のメモリシステム。
【請求項１２】
前記第４ブロックには、
互いに重複しない第４物理アドレスが個々に割り当てられており、
前記（Ｌ）において一致すると判断したときには、前記演算装置は、
（Ｍ）前記（Ｃ）で求めた前記第１物理アドレスを格納している前記第４ブロックの前記第４物理アドレスと、予め用意されている先頭代替論理アドレスとに基づいて、代替論理アドレスを求め、
（Ｎ）前記代替論理アドレスと、前記第２ブロックに格納される情報とに基づいて、前記所定の論理アドレスに対応する前記第１物理アドレスを求める、
ことを特徴とする請求項１１に記載のメモリシステム。
【請求項１３】
前記第４ブロックに記憶される前記恒久的後発欠陥ブロックの前記第１物理アドレスは、
恒久的後発欠陥が発生した順に従って、前記第４物理アドレスの順で、前記第４ブロックに格納される、
ことを特徴とする請求項１２に記載のメモリシステム。
【請求項１４】
前記第２ブロックおよび前記第３ブロックは、
揮発性メモリに保持される、
ことを特徴とする請求項６に記載のメモリシステム。
【請求項１５】
前記第２ブロック、前記第３ブロックおよび前記第４ブロックは、
揮発性メモリに保持される、
ことを特徴とする請求項１１に記載のメモリシステム。
【請求項１６】
論理アドレスを生成するコンピュータと、
ユーザ情報を含む情報を記憶するために設けられ、互いに重複しない第１物理アドレスが個々に割り当てられる複数の第１ブロックと、前記ユーザ情報を記憶する、前記複数の第１ブロックのうちの複数のユーザ情報ブロックと、前記ユーザ情報の複製を記憶する、前記複数の第１ブロックのうちの複数の複製ユーザ情報ブロックとを有する、メモリと、
前記複数の第１ブロックのうちの初期欠陥ブロックの前記第１物理アドレスを個々に記憶するために設けられ、互いに重複しない第２物理アドレスが個々に割り当てられる複数の第２ブロックを、有するコントローラメモリと、
前記論理アドレスに対応する前記第１物理アドレスを求める演算装置とを、備えており、
前記演算装置は、
前記ユーザ情報ブロックにアクセスするために入力される論理アドレスと一対一の対応関係が有り、前記複製ユーザ情報ブロックにアクセスするためのミラー論理アドレスを、情報として有しており、
入力された所定の前記論理アドレスに対応する所定の前記ミラー論理アドレスと、前記第２ブロックに格納される情報とに基づいて、前記所定の論理アドレスに対応する前記第１物理アドレスを求める、
ことを特徴とするコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、リードディスターブ等によって、不揮発性半導体メモリにおいて発生するビットエラーの際における、論物変換処理に関するものである。
【背景技術】
【０００２】
不揮発性メモリの中でも、ＮＡＮＤフラッシュメモリは、単純な回路構成による高集積化や製造コスト減、ユーザによる書き込みの容易化を図ることを可能とするため、ＳＤメモリカードなどに大量に採用されている。
【０００３】
最近では、ＮＡＮＤフラッシュメモリは、ゲーム機などにも採用されている。ＮＡＮＤフラッシュメモリがゲーム機などで使用される際には、書き込みは発生せず、連続的な読み出しが発生する。すなわち、ＮＡＮＤフラッシュメモリがＲＯＭとして採用されることが多くなりつつある。
【０００４】
しかし、ゲーム機などでは、特定のプログラムが繰り返し読み出されることが多いため、プログラムが意図せず書き換えられる可能性が指摘され始めている。このような現象は“リードディスターブ”現象と呼ばれている（例えば、特許文献１参照）。
【０００５】
特許文献１でも述べられているように、選択セルにおいて格納する二値データが繰り返し読み出されると、非選択セルの閾値電圧がシフトして、非選択セルが格納している二値データが、“１”から“０”に意図せず書き換えられる可能性がある（これを、“リードディスターブ”現象と読んでいる）。
【０００６】
ここでいうビットエラーとは、物理的な損傷（本願明細書では、恒久的後発欠陥と称する）による不可逆的なエラーではなく、記憶された二値データが、経時的に変化して発生する可逆的なエラー（本願明細書では、暫定後発欠陥と称する）である。なかでも、リードディスターブによるビットエラー（リードディスターブエラー）は、書き込みや消去が行われることなく、フラッシュメモリの特定の記憶領域において読み出し処理が繰り返し実行されることで発生する。
【０００７】
当該“リードディスターブ”現象を予防する技術として、上記特許文献１が存在する。
【０００８】
【特許文献１】特開２００８−１９２２６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところが、上記ビットエラーを修復する処理は、データの読み出し、エラー修正、修正後のデータの消去・書き込み等を伴う高負荷な処理である。したがって、当該修復処理が頻繁に行われると、ＮＡＮＤフラッシュメモリからのデータ読出し処理に影響を及ぼし、進行中のゲームが正常に機能しないこともあり得る。
【００１０】
また、消去・書き込み等により、ＮＡＮＤフラッシュメモリを構成するブロックにおいて、上記修正不可能な後発欠陥（恒久的後発欠陥）が発生することも考えられる。
【００１１】
そこで、本発明は、“リードディスターブ”現象が発生したとしても、データ読み出し処理に影響を及ぼすことの無いメモリシステムおよび、コンピュータシステムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の目的を達成するために、本発明に係る請求項１に記載のメモリシステムは、ユーザ情報を含む情報を記憶するために設けられ、互いに重複しない第１物理アドレスが個々に割り当てられる複数の第１ブロックと、前記複数の第１ブロックのうちの初期欠陥ブロックの前記第１物理アドレスを個々に記憶するために設けられる複数の第２ブロックと、前記ユーザ情報を記憶する、前記複数の第１ブロックのうちの複数のユーザ情報ブロックと、前記ユーザ情報の複製を記憶する、前記複数の第１ブロックのうちの複数の複製ユーザ情報ブロックと、論理アドレスに対応する前記第１物理アドレスを求める演算装置とを、備えており、前記演算装置は、前記ユーザ情報ブロックにアクセスするために入力される論理アドレスと一対一の対応関係が有り、前記複製ユーザ情報ブロックをアクセスためのミラー論理アドレスを、情報として有しており、入力された所定の前記論理アドレスに対応する所定の前記ミラー論理アドレスと、前記第２ブロックに格納される情報とに基づいて、前記所定の論理アドレスに対応する前記第１物理アドレスを求める。
【００１３】
また、本発明に係る請求項２に記載のメモリシステムは、請求項１に記載のメモリシステムであって、前記第２ブロックには、互いに重複しない第２物理アドレスが個々に割り当てられており、前記第２ブロックに記憶される前記初期欠陥ブロックの前記第１物理アドレスは、前記第１物理アドレスの順に従って、前記第２物理アドレスの順に、前記第２ブロックに格納される。
【００１４】
また、本発明に係る請求項３に記載のメモリシステムは、請求項２に記載のメモリシステムであって、前記演算装置は、（Ａ）前記所定のミラー論理アドレスを用いて、前記第２ブロックからターゲットブロックを検索し、（Ｂ）前記ターゲットブロックから読み出される前記初期欠陥ブロックの前記第１物理アドレスと、前記ターゲットブロックの前記第２物理アドレスとに基づいて、前記ターゲットブロックから読み出された前記初期欠陥ブロックの前記第１物理アドレスより前方に存在する、前記初期欠陥ブロック以外の第１ブロックの個数を求め、（Ｃ）前記所定のミラー論理アドレスと前記個数とに基づいて、前記所定の論理アドレスに対応する前記第１物理アドレスを求める。
【００１５】
また、本発明に係る請求項４に記載のメモリシステムは、請求項３に記載のメモリシステムであって、前記演算装置は、（Ｄ）前記所定の論理アドレスと、前記第２ブロックに格納される情報とに基づいて、前記所定の論理アドレスに対応する前記第１物理アドレスを求め、（Ｅ）前記（Ｄ）で求めた前記第１物理アドレスで特定される前記第１ブロックが、暫定後発欠陥ブロックであるか否かを判断し、（Ｆ）前記（Ｅ）で前記暫定後発欠陥ブロックであると判断したとき、前記（Ａ）から（Ｃ）の処理を行う。
【００１６】
また、本発明に係る請求項５に記載のメモリシステムは、請求項４に記載のメモリシステムであって、前記演算装置は、前記（Ｆ）において、前記（Ｄ）で求めた前記第１物理アドレスで特定される前記第１ブロックのビット誤り数が、予め設定されているしきい値を超えたときに、前記暫定後発欠陥ブロックであると判断する。
【００１７】
また、本発明に係る請求項６に記載のメモリシステムは、請求項４に記載のメモリシステムであって、前記複数の第１ブロックのうちの前記暫定後発欠陥ブロックの前記第１物理アドレスを個々に記憶するために設けられる複数の第３ブロックを、さらに備えており、前記演算装置は、（Ｇ）前記（Ｅ）で前記暫定後発欠陥ブロックであると判断したとき、前記第３ブロックに、前記（Ｄ）で求めた前記第１物理アドレスを記録する。
【００１８】
また、本発明に係る請求項７に記載のメモリシステムは、請求項４に記載のメモリシステムであって、前記演算装置は、（Ｈ）前記（Ｅ）で前記暫定後発欠陥ブロックであると判断した前記第１ブロックを、当該第１ブロックに対応する前記複製ユーザ情報ブロック内の情報を用いて、修復する。
【００１９】
また、本発明に係る請求項８に記載のメモリシステムは、請求項７に記載のメモリシステムであって、前記（Ｈ）に記載の前記修復の結果、修復不可能と判断した場合には、前記演算装置は、（Ｉ）当該修復不可能であると判断した前記第１ブロックの前記第１物理アドレス情報を、前記第３ブロックから、前記第１ブロックの一部で構成された管理領域に、恒久的後発欠陥ブロックに関する情報として転送する。
【００２０】
また、本発明に係る請求項９に記載のメモリシステムは、請求項４に記載のメモリシステムであって、前記ユーザ情報の他の複製を記憶する、前記複数の第１ブロックのうちの複数の他の複製ユーザ情報ブロックを、さらに備えており、前記演算装置は、前記ユーザ情報ブロックにアクセスするために入力される論理アドレスと一対一の対応関係が有り、前記他の複製ユーザ情報ブロックをアクセスための他のミラー論理アドレスを、情報として有しており、入力された前記所定の論理アドレスに対応する所定の前記他のミラー論理アドレスと、前記第２ブロックに格納される情報とに基づいて、前記所定の論理アドレスに対応する前記第１物理アドレスを求める。
【００２１】
また、本発明に係る請求項１０に記載のメモリシステムは、請求項９に記載のメモリシステムであって、前記演算装置は、（Ｊ）前記（Ｃ）で求めた前記第１物理アドレスで特定される前記第１ブロックが、暫定後発欠陥ブロックであるか否かを判断し、（Ｋ）前記（Ｊ）で前記暫定後発欠陥ブロックであると判断したとき、入力された前記所定の論理アドレスに対応する所定の前記他のミラー論理アドレスと、前記第２ブロックに格納される情報とに基づいて、前記所定の論理アドレスに対応する前記第１物理アドレスを求める。
【００２２】
また、本発明に係る請求項１１に記載のメモリシステムは、請求項４に記載のメモリシステムであって、前記複数の第１ブロックのうちの恒久的後発欠陥ブロックの前記第１物理アドレスを個々に記憶するために設けられる複数の第４ブロックを、さらに備えており、前記演算装置は、（Ｌ）前記（Ｃ）で求めた前記第１物理アドレスが、前記第４ブロックに格納されている情報と一致するか否かを判断する。
【００２３】
また、本発明に係る請求項１２に記載のメモリシステムは、請求項１１に記載のメモリシステムであって、前記第４ブロックには、互いに重複しない第４物理アドレスが個々に割り当てられており、前記（Ｌ）において一致すると判断したときには、前記演算装置は、（Ｍ）前記（Ｃ）で求めた前記第１物理アドレスを格納している前記第４ブロックの前記第４物理アドレスと、予め用意されている先頭代替論理アドレスとに基づいて、代替論理アドレスを求め、（Ｎ）前記代替論理アドレスと、前記第２ブロックに格納される情報とに基づいて、前記所定の論理アドレスに対応する前記第１物理アドレスを求める。
【００２４】
また、本発明に係る請求項１３に記載のメモリシステムは、請求項１２に記載のメモリシステムであって、前記第４ブロックに記憶される前記恒久的後発欠陥ブロックの前記第１物理アドレスは、恒久的後発欠陥が発生した順に従って、前記第４物理アドレスの順で、前記第４ブロックに格納される。
【００２５】
また、本発明に係る請求項１４に記載のメモリシステムは、請求項６に記載のメモリシステムであって、前記第２ブロックおよび前記第３ブロックは、揮発性メモリに保持される。
【００２６】
また、本発明に係る請求項１５に記載のメモリシステムは、請求項１１に記載のメモリシステムであって、前記第２ブロック、前記第３ブロックおよび前記第４ブロックは、揮発性メモリに保持される。
【００２７】
また、本発明に係る請求項１６に記載のコンピュータシステムは、論理アドレスを生成するコンピュータと、ユーザ情報を含む情報を記憶するために設けられ、互いに重複しない第１物理アドレスが個々に割り当てられる複数の第１ブロックと、前記ユーザ情報を記憶する、前記複数の第１ブロックのうちの複数のユーザ情報ブロックと、前記ユーザ情報の複製を記憶する、前記複数の第１ブロックのうちの複数の複製ユーザ情報ブロックとを有する、メモリと、前記複数の第１ブロックのうちの初期欠陥ブロックの前記第１物理アドレスを個々に記憶するために設けられ、互いに重複しない第２物理アドレスが個々に割り当てられる複数の第２ブロックを、有するコントローラメモリと、前記論理アドレスに対応する前記第１物理アドレスを求める演算装置とを、備えており、前記演算装置は、前記ユーザ情報ブロックにアクセスするために入力される論理アドレスと一対一の対応関係が有り、前記複製ユーザ情報ブロックをアクセスためのミラー論理アドレスを、情報として有しており、入力された所定の前記論理アドレスに対応する所定の前記ミラー論理アドレスと、前記第２ブロックに格納される情報とに基づいて、前記所定の論理アドレスに対応する前記第１物理アドレスを求める。
【発明の効果】
【００２８】
本発明の請求項１または請求項１６に記載の発明では、演算装置は、入力された所定の論理アドレスに対応する所定の前記ミラー論理アドレスと、第２ブロックに格納される情報とに基づいて、所定の論理アドレスに対応する第１物理アドレスを求める。
【００２９】
このように、ミラー領域を設け、“リードディスターブ”現象により暫定後発欠陥ブロックが発生した場合には、論物変換処理を実施し、ミラー領域へのアクセスを可能としている。したがって、“リードディスターブ”現象により暫定後発欠陥ブロックが発生したとしても、データ読み出し処理に影響を及ぼすことの無いメモリシステムおよび、コンピュータシステムを提供することができる。換言すれば、“リードディスターブ”耐性が倍増させることができる。
【００３０】
また、メモリにおいて後発欠陥が発生したとしても、多くのブロックに渡って論物変換の対応関係を変更する必要がないメモリシステムおよび、コンピュータシステムを提供することができる。
【００３１】
また、本発明に係る請求項２に記載のメモリシステムでは、第２ブロックには、互いに重複しない第２物理アドレスが個々に割り当てられており、第２ブロックに記憶される初期欠陥ブロックの第１物理アドレスは、第１物理アドレスの順に従って、第２物理アドレスの順に、第２ブロックに格納される。
【００３２】
したがって、第１物理アドレスを求めるために必要となる、第２ブロックの数を減らすことが可能となる。
【００３３】
また、本発明に係る請求項３に記載のメモリシステムでは、演算装置は、ターゲットブロックを検索し、ターゲットブロックから読み出される初期欠陥ブロックの第１物理アドレスと、ターゲットブロックの第２物理アドレスとに基づいて、ターゲットブロックから読み出された初期欠陥ブロックの第１物理アドレスより前方に存在する初期欠陥ブロック以外の第１ブロックの個数を求め、論理アドレスと当該個数とに基づいて、論理アドレスに対応する第１物理アドレスを求める。
【００３４】
したがって、初期欠陥ブロック以外の第１ブロックの物理アドレスを記憶する必要がない。あるいは、全てのブロックに関する特性（欠陥の有無）と転送先の物理アドレスとを記憶する必要がない。したがって、第２ブロックの数を減らすことが可能となる。
【００３５】
また、本発明に係る請求項４，５に記載のメモリシステムでは、演算装置は、前記（Ｄ）で求めた第１物理アドレスで特定される第１ブロックが暫定後発欠陥ブロックであると判断したとき、請求項３に記載の処理を行う。
【００３６】
したがって、（Ｄ）で求めた第１物理アドレスにアクセスすることを防止でき、更なる論物変換処理を行うか否かの判断もできる。また、容易な方法で、請求項１に記載の発明を実現することができる。
【００３７】
また、本発明に係る請求項６に記載のメモリシステムでは、複数の第１ブロックのうちの暫定後発欠陥ブロックの第１物理アドレスを個々に記憶するために設けられる複数の第３ブロックを、さらに備えており、演算装置は、第３ブロックに、前記（Ｄ）で求めた第１物理アドレスを記録する。
【００３８】
したがって、更新された第３ブロックの情報を元に、以後の論物変換処理を動的に行うことができる。
【００３９】
また、本発明に係る請求項７に記載のメモリシステムでは、演算装置は、暫定後発欠陥ブロックであると判断した第１ブロックを、当該第１ブロックに対応する複製ユーザ情報ブロック内の情報を用いて、修復する。
【００４０】
したがって、暫定後発欠陥ブロックのデータ修復が可能となり、当該修復後の第１ブロックへのアクセスを再開できる。
【００４１】
また、本発明に係る請求項８に記載のメモリシステムでは、暫定後発欠陥ブロックの修復が不可能の場合には、演算装置は、修復不可能であると判断した第１ブロックの第１物理アドレス情報を、第３ブロックから、第１ブロックの一部で構成された管理領域に、恒久的後発欠陥ブロックに関する情報として転送する。
【００４２】
したがって、修復不可能であると判断された第１ブロックのアドレス情報を、管理領域にバックアップとして、また恒久的後発欠陥ブロックであることを示す情報として保存することができる。
【００４３】
また、本発明に係る請求項９，１０に記載のメモリシステムでは、複数のミラー領域が用意されている。したがって、メモリシステムの更なる信頼性向上を図ることができる。
【００４４】
また、本発明に係る請求項１１に記載のメモリシステムでは、恒久的後発欠陥ブロックの第１物理アドレスを個々に記憶するために設けられる複数の第４ブロックを、さらに備えており、演算装置は、前記（Ｃ）で求めた第１物理アドレスが、第４ブロックに格納されている情報と一致するか否かを判断する。
【００４５】
したがって、求めた第１物理アドレスにアクセスする際に、当該アクセスした第１ブロックに恒久的後発欠陥が発生しているか否かの判断ができ、更なる論物変換処理を行うか否かの判断もできる。
【００４６】
また、本発明に係る請求項１２に記載のメモリシステムでは、前記（Ｌ）において一致すると判断したときには、演算装置は、前記（Ｃ）で求めた第１物理アドレスを格納している第４ブロックの前記第４物理アドレスと、予め用意されている先頭代替論理アドレスとに基づいて、代替論理アドレスを求める。そして、当該代替論理アドレスと、第２ブロックに格納される情報とに基づいて、所定の論理アドレスに対応する第１物理アドレスを求める。
【００４７】
したがって、複製ユーザ情報ブロックが恒久的後発欠陥ブロックになった場合においても、簡易な方法で、他の第１ブロックを入力された所定の論理アドレスの代替先物理アドレスを決定できる。
【００４８】
また、本発明に係る請求項１３に記載のメモリシステムでは、恒久的後発欠陥ブロックの第１物理アドレスは、恒久的後発欠陥が発生した順に従って、第４物理アドレスの順で、第４ブロックに格納される。
【００４９】
したがって、第１物理アドレスを求めるために必要となる、第４ブロックの数を減らすことが可能となる。
【００５０】
また、本発明に係る請求項１４，１５に記載のメモリシステムでは、前記第２ブロック、前記第３ブロックおよび前記第４ブロックなどは、揮発性メモリに保持される。
【００５１】
したがって、演算装置は、高速で第２ブロック、第３ブロックや第４ブロックにアクセスすることができる。よって、論物変換処理の高速化が可能となる。
【発明を実施するための最良の形態】
【００５２】
まず、本願発明の前提となる構成および動作について説明する（特許文献１に開示されている構成・動作と把握できる）。
【００５３】
図１は、コンピュータシステム１を示す図である。コンピュータシステム１は、一般的なパーソナルコンピュータとしての機能を有するコンピュータ２と、コンピュータ２のカードスロットに挿入されるメモリカード３とから構成される。コンピュータ２と演算装置５０との間で論理アドレスが送受信され、演算装置５０とメモリ４との間で物理アドレスが送受信される。
【００５４】
コンピュータ２は、例えば、記憶装置に記憶されているアプリケーションソフトウェア等のプログラムに従って動作し、必要に応じてメモリカード３に対してアクセス要求を送信する。
【００５５】
なお、以下に言うアクセス要求とは、ユーザデータの書き込み要求や、メモリカード３（図２に示すメモリ４）に記憶されているユーザデータの読み出し要求等である。したがって、書き込み要求の場合には、コンピュータ２は、書き込むユーザデータの書き込み位置を示す論理アドレスを生成する。また、読み出し要求の場合には、コンピュータ２は、読み込むユーザデータが格納されている位置を示す論理アドレスを生成する。コンピュータ２において生成されるアクセス要求には、論理アドレスが含まれており、インタフェースを介して、メモリカード３に送信される。
【００５６】
図２は、メモリカード３の構成を示すブロック図である。メモリカード３は、メモリ４と、メモリ４を制御するメモリコントローラ５とを備え、コンピュータ２に対して着脱自在な構造となっている。
【００５７】
図３は、メモリ４の内部構造を示す概略図である。図３に示すように、メモリ４は、複数の第１ブロック４２から構成されるユーザ情報記憶領域４０と、複数の予備ブロック４３から構成される予備記憶領域４１とを備えている。
【００５８】
図４は、メモリ４におけるブロック６（第１ブロック４２及び予備ブロック４３）の構造を示す図である。メモリ４が有する複数のブロック６は、図４に示すように、それぞれが複数の記憶素子６０（記憶素子群）から構成され、互いに重複しない１の物理アドレス（第１物理アドレス）によってアクセスされる記憶素子の集まりである。
【００５９】
ここで、第１ブロック４２に含まれる記憶素子６０の数は、少なくとも、１の物理アドレスによって指定されるユーザデータを記憶するために必要な記憶素子６０の数であればよい。すなわち、１回のアクセスで読み込まれる（又は、書き込まれる）ユーザデータの容量によって決定される。
【００６０】
また、予備ブロック４３に含まれる記憶素子６０の数は、少なくとも、第１ブロック４２を個々に指定する物理アドレスを記憶するために必要な記憶素子６０の数であればよい。すなわち、物理アドレスの長さ（容量）は、メモリ４が備える第１ブロック４２の数によって決定される。
【００６１】
図５は、ユーザ情報記憶領域４０を例示する図である。本明細書では、例えば、特定（Ａ）の物理アドレス空間における物理アドレスを、「物理アドレスＡ」と総称し、そのうちのｋ番目の物理アドレスＡを「物理アドレスＡｋ」と称する（ただしｋは０以上の整数）。
【００６２】
ユーザ情報記憶領域４０は、先述のように、複数（Ｎ個）の第１ブロック４２から構成される記憶領域であって、ユーザデータを記憶する（Ｎは自然数）。各第１ブロック４２には、それぞれ重複しない物理アドレスＰＢＡ（物理アドレスＰＢＡ０乃至ＰＢＡ（Ｎ−１））が割り当てられる。なお、メモリ４上の物理アドレスＰＢＡは、本発明における第１物理アドレスに相当する。
【００６３】
一般に、製品としてのメモリ４に形成される第１ブロック４２には、正常にアクセスすることができるもの（正常ブロック）と、アクセスすることができないもの（欠陥ブロック）とが存在する。欠陥ブロックに対してはアクセスすることができない（利用することができない）ので、欠陥ブロックにはユーザデータは記憶されず、論理アドレスが割り当てられることはない。また、欠陥の種類としては、工場出荷時などメモリ４の使用前において既に発生している初期欠陥と、メモリ４の使用において発生する後発欠陥とがある。
【００６４】
さらに、本願発明では、後発欠陥として、暫定後発欠陥および恒久的後発欠陥がある。暫定後発欠陥とは、メモリ４内のブロックに対する修復処理（リフレッシュ）により、当該ブロックを正常ブロックに戻すことができる場合に称される後発欠陥である。これに対して、恒久的後発欠陥とは、メモリ４内のブロックに対する修復処理（リフレッシュ）によっても、当該ブロックを正常ブロックに戻すことができない場合に称される後発欠陥である。
【００６５】
図示の都合上、図５では、正常ブロック４２０に「Ｇｏｏｄ」、初期欠陥を有する初期欠陥ブロック４２１に「Ｉｎｉｔｉａｌ  Ｂａｄ」が、それぞれ情報として格納されているかのように示している。しかし、実際には、ユーザデータを格納する１つの単位を第１ブロック４２と定義するのであって、第１ブロック４２には、ブロックの状態を示す情報は記憶しない。後述する実施の形態１以降の説明に入るまでのここでの説明では、欠陥ブロックは、初期欠陥ブロックのみであるとして、話を進める（実施の形態１以降の説明では、欠陥ブロックとして、初期欠陥ブロックの他に後発欠陥ブロックをも含めて説明する）。
【００６６】
図６は、図５に示すユーザ情報記憶領域４０に対する予備記憶領域４１を例示する図である。予備記憶領域４１は、先述のように、複数（Ｍ個）の予備ブロック４３から構成される記憶領域であって、冗長情報４４（図２）を記憶する。冗長情報４４とは、後述するメモリコントローラ５が論理アドレスを物理アドレスに変換する際に必要な情報である。
【００６７】
個々の予備ブロック４３は、それぞれメモリ４上の物理アドレス（物理アドレスＰＢＡＮ乃至ＰＢＡ（Ｎ＋Ｍ−１））が割り当てられている。なお、ユーザ情報記憶領域４０における最後の第１ブロック４２の物理アドレスは、物理アドレスＰＢＡ（Ｎ−１）であり、予備記憶領域４１における先頭の予備ブロック４３の物理アドレスは物理アドレスＰＢＡＮである。すなわち、ユーザ情報記憶領域４０と予備記憶領域４１とは連続する記憶領域として割り当てられているが、もちろんこれに限定されるものではない。
【００６８】
また、予備ブロック４３には、当該予備ブロック４３が使用されていないことを示す無効情報（図６に示す「ＮＯＵ」）、又は、初期欠陥ブロック４２１の物理アドレスＰＢＡ（図６に示す例では物理アドレスＰＢＡ３，５，７，１５，２０，２１，２７）を格納する。なお、予備ブロック４３に格納する情報は、初期欠陥ブロック４２１の物理アドレスＰＢＡを得ることができる情報であればよい。
【００６９】
初期欠陥ブロック４２１はメモリ４に対する検査工程等で検出され、その物理アドレスＰＢＡがいずれかの予備ブロック４３に記憶される。検出された初期欠陥ブロック４２１の物理アドレスＰＢＡは、後述するメモリコントローラ５が予備記憶領域４１を読み出す順序（予備ブロック４３の物理アドレスＰＢＡの昇順）に、順次（初期欠陥ブロック４２１の物理アドレスＰＢＡの小さい順）に格納される。また、全ての初期欠陥ブロック４２１の検出が終了したときに、残りの予備ブロック４３に無効情報ＮＯＵを格納する。
【００７０】
図２に戻って、メモリコントローラ５は、演算装置５０、プログラム５４を格納するＲＯＭ５１、ＳＲＡＭとして構成されるコントローラメモリ５２、及びコンピュータ２に接続するためのインタフェース５３を備える。メモリコントローラ５は、コンピュータ２から受信するアクセス要求に応じて、メモリ４にアクセスする。
【００７１】
メモリコントローラ５の演算装置５０は、ＲＯＭ５１に格納されているプログラム５４に従って動作し、コントローラメモリ５２に記憶されている参照情報５５に基づいて、コンピュータ２から受信したアクセス要求に含まれる論理アドレスＬＢＡから、アクセス要求された第１ブロック４２の物理アドレスＰＢＡを演算により得る。
【００７２】
演算装置５０による演算処理の詳細は後述するが、演算装置５０は、論理アドレスＬＢＡとオフセットＯＦＦとを用いて、「ＰＢＡ＝ＬＢＡ＋ＯＦＦ、（式１）」により、アクセス要求された第１ブロック４２の物理アドレスＰＢＡを得る。
【００７３】
コントローラメモリ５２は、メモリ４のブロック６を構成する記憶素子６０よりも高速にアクセス可能な記憶素子（図示せず）で構成され（ＳＲＡＭで構成され）、予備記憶領域４１に記憶されている冗長情報４４が転送された結果である参照情報５５を記憶する。コントローラメモリ５２に記憶された参照情報５５は、演算装置５０により参照される。なお、コントローラメモリ５２を構成する記憶素子として、高速なアクセスを実現するために、揮発性の記憶素子を用いる。揮発性メモリとして、上記ＳＲＡＭの他に、レジスタやフリップフロップ回路などを採用することができる。
【００７４】
図７は、図６に示す冗長情報４４がコントローラメモリ５２に参照情報５５として記憶される状態を例示する図である。
【００７５】
コントローラメモリ５２は、予備ブロック４３に格納されている情報（複数の第１ブロックのうちの初期欠陥ブロックの第１物理アドレス）を個々に格納することが可能な複数（Ｍ個）の第２ブロック５６を備えている。これら複数の第２ブロック５６には、互いに重複しない物理アドレスＲＡＤ（第２物理アドレス）が割り当てられている。
【００７６】
メモリコントローラ５の演算装置５０は、冗長情報４４をコントローラメモリ５２に転送する際に、予備記憶領域４１の物理アドレスＰＢＡの順に従って予備ブロック４３にアクセスし、当該予備ブロック４３に格納されている情報（初期欠陥ブロック４２１の物理アドレスＰＢＡ又は無効情報ＮＯＵ）を、第２ブロック５６の物理アドレスＲＡＤの順に、第２ブロック５６に格納する。すなわち、演算装置５０は、本発明における転送部としての機能も備えている。上記より分かるように、参照情報５５は、冗長情報４４と同一の情報としてコントローラメモリ５２上に作成される。
【００７７】
このような参照情報５５を作成することにより、第２ブロック５６に格納されている初期欠陥ブロック４２１の物理アドレスＰＢＡから、当該第２ブロック５６の物理アドレスＲＡＤを引くと、その値は、当該第２ブロック５６に格納されている初期欠陥ブロック４２１の物理アドレスＰＢＡより前方に存在する正常ブロック４２０の個数（初期欠陥ブロック以外の第１ブロックの個数）を示すこととなる。
【００７８】
インタフェース５３は、コンピュータ２のインタフェースとのデータの送受信を可能せしめる部分である。
【００７９】
次に、コンピュータシステム１の動作について説明する。
【００８０】
まず、メモリコントローラ５は、メモリカード３に電源が投入された否かを判定する。ここで、メモリカード３に電源が投入されるとは、メモリカード３への電源の供給が開始された場合であって、既に電源が投入されているコンピュータ２にメモリカード３が装着された場合を含む。
【００８１】
メモリカード３に電源が投入されたと判定すると、メモリコントローラ５（演算装置５０）は、メモリ４の予備記憶領域４１にアクセスして、そこに記憶されている冗長情報４４を読み出し、読み出した冗長情報４４のコントローラメモリ５２への転送を開始する。なお、初期欠陥ブロックに対する図６で例示する情報は製品に固定であり、製品出荷時等にメモリ４に記憶されているものとする。
【００８２】
メモリコントローラ５は、予備記憶領域４１を構成する予備ブロック４３のうち、先頭の予備ブロック４３から順に最後までアクセスして、アクセスした予備ブロック４３に格納されている情報を、順次、第２ブロック５６に転送する。これによって、図７に示すように、コントローラメモリ５２には、図６に示す予備記憶領域４１に記憶されている情報と同等の情報が記憶される。
【００８３】
その後、コンピュータ２がアクセス要求を生成して、メモリカード３に送信したとする。ここで、コンピュータ２から送信されるアクセス要求には、先述のように、論理アドレスＬＢＡが含まれる。メモリカード３がアクセス要求（論理アドレスＬＢＡ）を受信すると、演算装置５０が物理アドレスＰＢＡを演算する。
【００８４】
当該演算処理を以下に説明する。なお、以下の説明では、演算装置５０が注目する第２ブロック５６の物理アドレスＲＡＤを「インデックスＩ」と称し、インデックスＩで指定される第２ブロック５６（注目する第２ブロック５６）から読み出された値を「ＲＤＶ（Ｉ）」と称する。また、複数の第２ブロック５６のうち、オフセットＯＦＦを求めるための第２ブロック５６を「ターゲットブロック」と称する。
【００８５】
式１を演算するためには、演算装置５０はオフセットＯＦＦを決定する必要がある。演算装置５０は、１つの論理アドレスＬＢＡに対して１つのターゲットブロックを決定することによりオフセットＯＦＦを演算により求める。言い換えれば、演算装置５０は、論理アドレスＬＢＡに基づいて、コントローラメモリ５２に含まれる複数の第２ブロック５６からターゲットブロックを検索し、オフセットＯＦＦを求める。
【００８６】
まず、演算装置５０は、インデックスＩをＲＡＤ０（＝０）にセットし、先頭の第２ブロック５６に注目して、「ＲＤＶ（Ｉ）−Ｉ＝ＮＵＭ、（式２）」を演算する。
【００８７】
すなわち、ＮＵＭの値は、現在のインデックスＩで特定される注目している第２ブロック５６に格納されている初期欠陥ブロック４２１の物理アドレスＰＢＡから、当該注目している第２ブロック５６の物理アドレスＲＡＤを減算した値となる。このＮＵＭは、先述のように、注目している第２ブロック５６に格納されている物理アドレスＰＢＡによって特定される、初期欠陥ブロック４２１の前方に存在する正常ブロック４２０の個数（初期欠陥ブロック以外の第１ブロックの個数）を示す。
【００８８】
次に、演算装置５０は、「ＮＵＭ＞ＬＢＡ、（式３）」の真偽を判定する。
【００８９】
式３が「真」の場合は、インデックスＩ（物理アドレスＲＡＤ０）で指定される第２ブロック５６をターゲットブロックと決定する。
【００９０】
一方、式３が「偽」の場合において、複数の第２ブロック５６からターゲットブロックを検索する手法は、様々なバリエーションが考えられる。ここででは、２分探索法の一種を用いた例を説明する。
【００９１】
まず、カウンタに「ｎ」にセットし、ターゲットブロックの候補として残っている第２ブロック５６のうちで、中央に位置する第２ブロック５６に注目するように、インデックスＩを更新する。
【００９２】
ここで、偶数個の第２ブロック５６が存在する場合、中央の第２ブロック５６とは、物理アドレスＲＡＤの値の大きい方とする。例えば、物理アドレスＲＡＤ０乃至ＲＡＤ３で指定される４個の第２ブロック５６が候補として残っている場合、中央の第２ブロック５６は、物理アドレスＲＡＤ２で指定される第２ブロック５６とする。
【００９３】
インデックスＩを更新すると、カウンタの値をチェックする。カウンタの値が「１」より大きければ、演算装置５０は、再び、式２を演算してから、式３の真偽を判定する。
【００９４】
式３の判定結果が「真」であれば、インデックスＩで示される第２ブロック５６から後方の第２ブロック５６（インデックスＩで示される第２ブロック５６を含む）を、ターゲットブロックの候補から除外する。そして、カウンタをデクリメントしてから、上記インデックスＩの更新処理に戻る。
【００９５】
一方、式３の判定結果が「偽」であれば、インデックスＩで示される第２ブロック５６から前方の第２ブロック５６（インデックスＩで示される第２ブロック５６を含む）を、ターゲットブロックの候補から除外する。そして、カウンタをデクリメントしてから、上記インデックスＩの更新処理に戻る。
【００９６】
このようにして、Ｍ（２n）個の第２ブロック５６が存在する場合、ターゲットブロックの候補から、不要な第２ブロック５６を除外する処理をｎ−１回繰り返せば、ターゲットブロックの候補は１つに絞られる。
【００９７】
上記インデックスＩの更新処理以後の動作を繰り返し実施され、カウンタの値が「１」となると（カウンタの値が１より大きくない）、演算装置５０は、再び、式２を演算してから、式３の真偽を判定する。当該判定は、変換先の第１ブロック４２が初期欠陥ブロック４２１であるか否かを判定することを意味する。
【００９８】
当該式３の真偽判定において「偽」と判定すると、変換先の第１ブロック４２を１つ後方にずらすために、インデックスＩをインクリメントし、インデックスＩで指定される第２ブロック５６をターゲットブロックとする。
【００９９】
一方、当該式３の真偽判定において「真」と判定すると、変換先は正常ブロック４２０であるから、インデックスＩをインクリメントすることなく、インデックスＩで指定される第２ブロック５６をターゲットブロックとする。
【０１００】
上記においてターゲットブロックが決定されると、演算装置５０は、インデックスＩ（ターゲットブロックを指定する物理アドレスＲＡＤとなっている）をオフセットＯＦＦとし、式１を演算して、物理アドレスＰＢＡを得る。
【０１０１】
図８は、論理アドレスＬＢＡと物理アドレスＰＢＡとの対応を例示する図である。図８では、図５に示すように初期欠陥ブロック４２１が存在している例について示す。ここまでに示したように、論理アドレスＬＢＡから物理アドレスＰＢＡが求められることにより、コンピュータシステム１では、図８に示される変換関係となる。
【０１０２】
ここで、Ｎ＝３２、Ｍ＝２n＝２4＝１６であり、初期欠陥ブロック４２１が、図５に示すように存在している場合を例に、論理アドレスＬＢＡ５について物理アドレスＰＢＡが求められる様子を示す。
【０１０３】
まず、論理アドレスＬＢＡ５が与えられると、式３は「偽」となるので、上記２分探索法が実行され、カウンタにｎ（＝４）がセットされる。そして、２4-1＋１＝９であるから、インデックスＩは中央の第２ブロック５６として９番目の第２ブロック５６を指定する「ＲＡＤ（２4-1）」にセットされる。
【０１０４】
物理アドレスＲＡＤ（２4-1）（すなわち、物理アドレス８）には、ＮＯＵが格納されている。ここで、ＮＯＵは充分に大きい値を採用しているとすると、式２によって得られるＮＵＭは充分に大きい値となり、式３は「真」と判定される。したがって、物理アドレスＲＡＤ８より後方の第２ブロック５６は、ターゲットブロックの候補から除外され、カウンタの値が「３」にデクリメントされる。
【０１０５】
次に、インデックスＩは、残った候補の中央の「ＲＡＤ４」にセットされる。このとき、カウンタは「３」となっているので、当該カウンタの値「３」は「１」より大きい。したがって、演算器５０は、再び式２を演算する。式２からＮＵＭ＝１６となる。今、与えられている論理アドレスは「ＬＢＡ５」であるから、式３の判定結果は再び「真」となる。したがって、物理アドレスＲＡＤ４乃至ＲＡＤ７が候補から除外され、カウンタの値が「２」にデクリメントされる。
【０１０６】
次に、インデックスＩは、残った候補の中央の「ＲＡＤ２」にセットされる。このとき、カウンタは「２」となっているので、当該カウンタの値「３」は「１」より大きい。したがって、演算器５０は、再び式２を演算する。式２からＮＵＭ＝５となり、式３の判定結果は「偽」となる。したがって、物理アドレスＲＡＤ０乃至ＲＡＤ２が候補から除外され、カウンタの値が「１」にデクリメントされる。
【０１０７】
次に、インデックスＩが「ＲＡＤ３」にセットされるが、このとき候補は、アドレスＲＡＤ３で指定される第２ブロック５６の１つに絞られており、カウンタの値は「１」であるので、式２からＮＵＭ＝１２となり、式３の判定結果は「真」となる。したがって、ターゲットブロックの物理アドレスは、物理アドレスＲＡＤ３であると決定され、オフセットＯＦＦは「３」となる。
【０１０８】
したがって、式１により、５＋３＝８となり、論理アドレスＬＢＡ５は、物理アドレスＰＢＡ８に変換される。すなわち、論理アドレスＬＢＡ５によってアクセスされる第１ブロック４２は、物理アドレスＰＢＡ８で指定される第１ブロック４２であることがわかる。
【０１０９】
なお、演算装置５０により、受信した論理アドレスＬＢＡから物理アドレスＰＢＡが求まると、メモリコントローラ５は、求められた物理アドレスＰＢＡに基づいて、メモリ４にアクセスする。
【０１１０】
このとき、アクセス要求が書き込み処理である場合は、求めた物理アドレスＰＢＡで指定される第１ブロック４２にユーザデータを書き込むようにメモリ４を制御する。一方、アクセス要求が読み出し処理である場合は、求めた物理アドレスＰＢＡで指定される第１ブロック４２に格納されているユーザデータを読み出すようにメモリ４を制御する。読み出されたユーザデータは、インタフェースを介してコンピュータ２に転送される。
【０１１１】
今までの説明が、メモリ４に初期欠陥ブロックのみが存在し、リードディスターブなどに起因して後発欠陥ブロックが存在しない場合の論物変換説明である（以後、ここまでで説明した論物変換処理を、便宜上、第一の論物変換処理と称する）。
【０１１２】
後述の各実施の形態では、出荷後においてメモリ４に後発欠陥ブロックが発生した場合の論物変換処理について説明する。
【０１１３】
以下、この発明をその実施の形態を示す図面に基づいて具体的に説明する。
【０１１４】
＜実施の形態１＞
本実施の形態では、後発欠陥ブロックが未だ発生していない上記状況の後、メモリ４に対する複数のアクセス要求（たとえば読み出し要求）により、リードディスターブ現象により暫定後発欠陥ブロックが発生した場合における、論物変換処理について説明する。
【０１１５】
図９は、本実施の形態に係るメモリ４の構成を示す図である。
【０１１６】
図９に示すように、メモリ４における予備記憶領域４１は、二つの管理領域４１Ａ，４１Ｂを有する。図９におけるユーザ情報記憶領域４０の構成は、図３に示すユーザ情報記憶領域４０の構成と同じである。ただし、本実施の形態では、後述するように、ユーザ情報記憶領域４０には、ユーザ情報と複製ユーザ情報とが記憶されている。また、図９における第１管理領域４１Ａは、第１ブロック４２のうちの初期欠陥ブロックの第１物理アドレス情報を個々に記憶・管理する領域である（図６参照）。図９における第２管理領域４１Ｂは、第１ブロック４２のうちの恒久的後発欠陥ブロックの第１物理アドレス情報を個々に記憶・管理する領域である。
【０１１７】
各領域４０，４１Ａ，４１Ｂ内の各閉じた領域内において、各々複数のブロック４２，４３Ａ，４３Ｂが設けられており、当該閉じた領域内において、各ブロック４２，４３Ａ，４３Ｂには、連番にて物理アドレス付与されている。ここで、第１管理領域４１Ａを構成している各ブロックは、第１予備ブロック４３Ａであり、第２管理領域４１Ｂを構成している各ブロックは、第２予備ブロック４３Ｂである。
【０１１８】
各第１予備ブロック４３Ａには、互いに重複せず連番にて物理アドレスが割り当てられている。また、各第２予備ブロック４３Ｂにおいても、互いに重複せず連番にて物理アドレスが割り当てられている。
【０１１９】
図６を用いて説明したように、初期欠陥ブロックはメモリ４に対する検査工程等で検出され、その物理アドレスが第１予備ブロック４３Ａに記憶される。検出された初期欠陥ブロックの第１物理アドレスは、メモリコントローラ５が予備記憶領域４１を読み出す順序（第１予備ブロック４３Ａの物理アドレスの昇順）に、順次（初期欠陥ブロックの第１物理アドレスの小さい順）に格納される。つまり、第１予備ブロック４３Ａの物理アドレスが昇順するに連れて、各第１予備ブロック４３Ａに格納される初期欠陥ブロックの第１物理アドレスは昇順する。また、全ての初期欠陥ブロックの検出が終了したときに、残りの第１予備ブロック４３Ａに無効情報ＮＯＵを格納する。
【０１２０】
恒久的後発欠陥ブロックはメモリ４の使用中において検出され、その第１物理アドレスが第２予備ブロック４３Ｂに記憶される。検出された恒久的後発欠陥ブロックの第１物理アドレスは、メモリコントローラ５が予備記憶領域４１を読み出す順序（第２予備ブロック４３Ｂの物理アドレスの昇順）に、順次（恒久的後発欠陥が発生した順の恒久的後発欠陥ブロックの第１物理アドレスの順）に格納される。つまり、第２予備ブロック４３Ｂの物理アドレスが昇順するに連れて、各第２予備ブロック４３Ｂには、恒久的後発欠陥ブロックが発生した順に、当該恒久的後発欠陥ブロックの第１物理アドレスが格納される。また、恒久的後発欠陥ブロックの第１物理アドレスが記憶されていない第２予備ブロック４３Ｂには、無効情報ＮＯＵが格納される。
【０１２１】
当該恒久的後発欠陥ブロックの検出は、たとえば、メモリコントローラ５がメモリ４の所定の第１ブロック４２にアクセスし、当該所定の第１ブロック４２のアクセスの結果、読み出し・書き込み等が正常に終了せず、データの回復（リフレッシュ）にも成功しなかった信号をメモリ４から受信することにより、メモリコントローラ５が検出する。当該検出後、メモリコントローラ５は、直接またはコントローラメモリ５２を介して、メモリ４の第２管理領域４１Ｂに、当該所定の第１ブロック４２の第１物理アドレスを記録する。
【０１２２】
なお、現段階では、第１ブロック４２において、未だ恒久的後発欠陥ブロックが発生しておらず、初期欠陥ブロックのみが発生しているものとする。したがって、第２管理領域４１Ｂを構成する第２予備ブロック４３Ｂには、第１物理アドレス情報は未だ格納されておらず、全第２予備ブロック４３Ｂには無効情報ＮＯＵが格納されている。
【０１２３】
さて、上記前提の下で、上記で説明したようにメモリカード３に電源が投入されると、メモリコントローラ５（演算装置５０）は、メモリ４の予備記憶領域４１にアクセスして、そこに記憶されている冗長情報４４を読み出し、読み出した冗長情報４４のコントローラメモリ５２への転送を開始する。
【０１２４】
なお、後述するように、第１管理領域４１Ａで記憶されている初期欠陥ブロックの第１物理アドレスの情報、および第２管理領域４１Ｂで記憶されている恒久的後発欠陥ブロックの第１物理アドレスの情報は、メモリ４の使用状況に応じて更新される（つまり、恒久的後発欠陥ブロックの物理アドレスが随時記録される）。
【０１２５】
メモリコントローラ５（演算装置５０）は、第１管理領域４１Ａを構成する第１予備ブロック４３Ａのうち、先頭の第１予備ブロック４３Ａから順に最後までアクセスして、アクセスした第１予備ブロック４３Ａに格納されている情報を、順次、後述する第２ブロック５２ｂａ（図１０参照）に転送する。これによって、コントローラメモリ５２には、第１管理領域４１Ａに記憶されている情報と同等の情報が、参照情報５５として記憶される。つまり、第２ブロック５２ｂａの第２物理アドレスＩ＿ＲＡＤ０〜Ｉ＿ＲＡＤ７が昇順するに連れて、各第２ブロック５２ｂａに格納される初期欠陥アドレスの第１物理アドレスは昇順する。
【０１２６】
また、メモリコントローラ５（演算装置５０）は、第２管理領域４１Ｂを構成する第２予備ブロック４３Ｂのうち、先頭の第２予備ブロック４３Ｂから順に最後までアクセスして、アクセスした第２予備ブロック４３Ｂに格納されている情報を、順次、後述する第４ブロック５２ｂｂに転送する（図１０参照）。これによって、コントローラメモリ５２には、第２管理領域４１Ｂに記憶されている情報と同等の情報が、参照情報５５として記憶される。つまり、第４ブロック５２ｂｂの第４物理アドレスＦＡ＿ＲＡＤ０〜ＦＡ＿ＲＡＤ３が昇順するに連れて、各第４ブロック５２ｂｂには、メモリ４における恒久的後発欠陥ブロックが発生した順に、当該恒久的後発欠陥ブロックの第１物理アドレスが格納される。
【０１２７】
図１０は、冗長情報４４がコントローラメモリ５２に参照情報５５として記憶される状態を例示する図である。
【０１２８】
コントローラメモリ５２における第１管理領域５２Ｉは、複数の第２ブロック５２ｂａで構成されている。ここで、第１管理領域５２Ｉ内において、第２ブロック５２ｂａのコントローラメモリ５２における物理アドレス（第２物理アドレス）Ｉ＿ＲＡＤ０〜Ｉ＿ＲＡＤ７は連番である。
【０１２９】
コントローラメモリ５２における第２管理領域５２ＦＡは、複数の第４ブロック５２ｂｂで構成されている。ここで、第２管理領域５２ＦＡ内において、第４ブロック５２ｂｂのコントローラメモリ５２における物理アドレス（第４物理アドレス）ＦＡ＿ＲＡＤ０〜ＦＡ＿ＲＡＤ３は連番である。
【０１３０】
第２ブロックには、互いに重複しない第２物理アドレスＩ＿ＲＡＤ０〜Ｉ＿ＲＡＤ７が個々に割り当てられており、第４ブロックには、互いに重複しない第４物理アドレスＦＡ＿ＲＡＤ０〜ＦＡ＿ＲＡＤ３が個々に割り当てられている。
【０１３１】
上記転送処理から分かるように、複数の第２ブロック５２ｂａは、複数の第１ブロック４２のうちの初期欠陥ブロックの第１物理アドレスを個々に記憶するために設けられる。また、複数の第４ブロックは、複数の第１ブロック４２のうちの恒久的後発欠陥ブロックの第１物理アドレスを個々に記憶するために設けられる。
【０１３２】
上記転送の結果、図１０に例示するように、第２ブロック５２ｂａの第２物理アドレスが昇順するに連れて（Ｉ＿ＲＡＤ０→Ｉ＿ＲＡＤ１・・・→Ｉ＿ＲＡＤ６→Ｉ＿ＲＡＤ７）、各第２ブロック５２ｂａに格納される初期欠陥アドレスの（第１）物理アドレスは昇順する（ＰＢＡ３→ＰＢＡ５・・・→ＰＢＡ２１→ＰＢＡ２７）。なお、未使用のブロック５２ｂａには、未使用であることを意味する無効情報「ＮＯＵ」が格納されている。
【０１３３】
また、第４ブロック５２ｂｂの第４物理アドレスが昇順するに連れて（ＦＡ＿ＲＡＤ０→ＦＡ＿ＲＡＤ１→ＦＡ＿ＦＲＡＤ２→ＦＡ＿ＲＡＤ３）、各第４ブロック５２ｂｂには、メモリ４における恒久的後発欠陥ブロックが発生した順に、当該恒久的後発欠陥ブロックの（第１）物理アドレスが格納される。なお、上記のように、第１ブロック４２において恒久的後発欠陥ブロックは、現段階では発生していない。したがって、全第４ブロック５２ｂｂには、未使用であることを意味する無効情報「ＮＯＵ」が格納される。
【０１３４】
また、本実施の形態では、コントローラメモリ５２は、図１０には図示してないが、図１６に示すように、第１，２管理領域５２Ｉ，５２ＦＡとは別に、第３管理領域５２ＴＡを有している。ここで、第３管理領域５２ＴＡは、複数の第３ブロック５２ｂｃで構成されている。ここで、第３管理領域５２ＴＡ内において、第３ブロック５２ｂｃのコントローラメモリ５２における物理アドレス（第３物理アドレス）ＴＡ＿ＲＡＤ０〜ＴＡ＿ＲＡＤ７は連番である。第３ブロック５２ｂｃには、互いに重複しない第３物理アドレスＴＡ＿ＲＡＤ０〜ＴＡ＿ＲＡＤ７が個々に割り当てられている。
【０１３５】
複数の第３ブロック５２ｂｃは、複数の第１ブロック４２のうちの暫定後発欠陥ブロックの第１物理アドレスを個々に記憶するために設けられる。また、第３ブロック５２ｂｃの第３物理アドレスが昇順するに連れて（ＴＡ＿ＲＡＤ０→ＴＡ＿ＲＡＤ１・・・→ＴＡ＿ＲＡＤ６→ＴＡ＿ＲＡＤ７）、各第３ブロック５２ｂｃには、メモリ４における暫定後発欠陥ブロックが発生した順に、当該暫定後発欠陥ブロックの（第１）物理アドレスが格納される。なお、未使用のブロック５２ｂｃには、未使用であることを意味する無効情報「ＮＯＵ」が格納されている。
【０１３６】
図１１（Ａ）は、論理空間を模式的に例示した図である。また、図１１（Ｂ）は、後発欠陥ブロック発生前（つまり、初期欠陥ブロックのみ発生）の物理空間を模式的に例示した図である。
【０１３７】
図１１（Ｂ）では、メモリ４のユーザ情報記憶領域４０は、３２個の第１ブロック４２により構成されている。各第１ブロック４２には、第１物理アドレスＰＢＡ０〜ＰＢＡ３１が昇順に設定されている。図１１（Ａ）では、当該第１ブロック４２の数（＝３２）と同数の論理アドレスＬＢＡ０〜ＰＢＡ３１が、昇順に設定されている。
【０１３８】
メモリ４のユーザ情報記憶領域４０には、ユーザ情報および複製ユーザ情報が格納されており、図１１の例では、当該ユーザ情報のデータ量は、第１ブロック４２の１０ブロック分である。複製ユーザ情報は、ユーザ情報の複製であるので、当該複製ユーザ情報のデータ量も、第１ブロック４２の１０ブロック分である。
【０１３９】
したがって、図１１（Ａ）において、ユーザ情報にアクセスするための当該１０ブロック分の論理アドレスＬＢＡ０〜ＬＢＡ９が、昇順に設定される。また、複製ユーザ情報にアクセスするための当該１０ブロック分の論理アドレスＬＢＡ１０〜ＬＢＡ１９が、昇順に設定される。当該論理アドレスＬＢＡ１０〜ＬＢＡ１９が設定されている領域を「論理ミラー領域」と称することとする。当該論理ミラー領域に属する論理アドレスＬＢＡ１０〜ＬＢＡ１９を特に、ミラー論理アドレスと称する。
【０１４０】
各論理アドレスＬＢＡ０〜ＬＢＡ９は、各ミラー論理アドレスＬＢＡ１０〜ＬＢＡ１９と一対一の対応関係が有る。たとえば、論理アドレスＬＢＡ０は、ミラー論理アドレスＬＢＡ１０と１対１の関係を有し、論理アドレスＬＢＡ１は、ミラー論理アドレスＬＢＡ１１と１対１の関係を有し、論理アドレスＬＢＡ２は、ミラー論理アドレスＬＢＡ１２と１対１の関係を有する。つまり、当該論理アドレスとミラー論理アドレスとの１対１の関係は、論理アドレスの昇順に従って成立する（図１２の論理アドレスとミラー論理アドレスとの対応表参照）。
【０１４１】
上記から分かるように、論理ミラー領域の先頭位置は、ユーザ情報のデータ量により決定される。なお、図１１（Ａ）において、残りの論理アドレスＬＢＡ２０〜ＬＢＡ３１は、不使用の論理アドレスである。
【０１４２】
他方、図１１（Ｂ）では、各第１ブロック４２は、正常ブロックと初期欠陥ブロックとで構成されている。正常ブロック内には、便宜上、対応する論理アドレスが記載されている。また、初期欠陥ブロック（ＰＢＡ３，ＰＢＡ５，ＰＢＡ７，ＰＢＡ１５，ＰＢＡ２０，ＰＢＡ２１，ＰＢＡ２７）内には、便宜上、「Ｉｎｉｔｉａｌ  Ｂａｄ」が記載されている。上記第一の論物変換処理の結果、図１１（Ｂ）に示される、第１物理アドレスと論理アドレスとの対応関係が成立する。各第１物理アドレスには、初期欠陥ブロックをとばして、論理アドレスが昇順に対応している。
【０１４３】
図１１（Ｂ）において、１０ブロック分のユーザ情報は、初期欠陥ブロックをとばして、第１物理アドレスＰＢＡ０〜ＰＢＡ１２で特定される正常ブロックに格納される。また、１０ブロック分の複製ユーザ情報は、初期欠陥ブロックをとばして、第１物理アドレスＰＢＡ１３〜ＰＢＡ２５で特定される正常ブロックに格納される。当該複製ユーザ情報が格納されるブロック領域を、「物理ミラー領域」と称することとする。
【０１４４】
上記から分かるように、昇順に設定された第１物理アドレスＰＢＡ０〜ＰＢＡ３１において、物理ミラー領域の先頭位置は、ユーザ情報のデータ量および、ユーザ情報の最初のデータが格納される第１ブロック４２からユーザ情報の最後のデータが格納される第１ブロック４２までに発生している初期欠陥ブロック数（図１１（Ｂ）では３個）により決定される。なお、図１１の例では、第１物理アドレスＰＢＡ２６〜ＰＢＡ３１で特定される第１ブロック４２は、未使用ブロックである。また、ユーザ情報を記憶する、複数の第１ブロック４２のうちの複数の第１ブロックを、「ユーザ情報ブロック」と称する。また、複製ユーザ情報を記憶する、複数の第１ブロック４２のうちの複数の第１ブロックを、「複製ユーザ情報ブロック」と称する。
【０１４５】
なお、ユーザ情報ブロックに格納されるデータと、複製ユーザ情報ブロックに格納されるデータとの間には、所謂ミラー関係が成立する。たとえば、物理アドレスＰＢＡ０のユーザ情報ブロックに格納されるデータは、物理アドレスＰＢＡ１３の複製ユーザ情報ブロックに格納されるデータと同じ内容のものである。物理アドレスＰＢＡ１のユーザ情報ブロックに格納されるデータは、物理アドレスＰＢＡ１４の複製ユーザ情報ブロックに格納されるデータと同じ内容のものである。物理アドレスＰＢＡ２のユーザ情報ブロックに格納されるデータは、物理アドレスＰＢＡ１６の複製ユーザ情報ブロックに格納されるデータと同じ内容のものである。物理アドレスＰＢＡ４のユーザ情報ブロックに格納されるデータは、物理アドレスＰＢＡ１７の複製ユーザ情報ブロックに格納されるデータと同じ内容のものである。以下については、上記より対応関係が推測できる。図１３では、同じデータを共有し合っている、ユーザ情報ブロックと複製ユーザ情報ブロックとの関係を、第１物理アドレスを用いて表記している。
【０１４６】
図１１の例に従い、図１０に示す第１管理領域５２Ｉの第２ブロック５２ｂａには、初期欠陥ブロックの第１物理アドレスＰＢＡ３，ＰＢＡ５，ＰＢＡ７，ＰＢＡ１５，ＰＢＡ２０，ＰＢＡ２１，ＰＢＡ２７が、昇順に記憶される。
【０１４７】
さて、上記コントローラメモリ５２への情報の転送後、コンピュータ２がアクセス要求を生成して、メモリカード３に送信したとする。ここで、コンピュータ２から送信されるアクセス要求には、先述のように、論理アドレスＬＢＡが含まれる。メモリカード３がアクセス要求（論理アドレスＬＢＡ）を受信すると、演算装置５０が上記第一の論物変換処理により、第１物理アドレスＰＢＡを演算する。
【０１４８】
メモリ４内の所定のユーザ情報ブロック４２内の情報に、読み出しアクセスを複数回行ったとする。その結果、当該所定のユーザ情報ブロック４２においてビット誤りが発生し、当該ビット誤り数が増大する。当該ビット誤り数が、予め設定されているしきい値を超えたとき、当該所定のユーザ情報ブロック４２を暫定後発欠陥ブロックとして取り扱う。ここで、当該しきい値として、たとえば、「（メモリコントローラ５の誤り訂正能力）−１」の値を採用することができる。
【０１４９】
当該暫定後発欠陥ブロック発生後の論物変換処理を、図１４のフローチャートを用いて説明する。具体的に、入力された所定の論理アドレスに対応する所定のミラー論理アドレスと、第２ブロック５２ｂａに格納される情報とに基づいて、所定の論理アドレスに対応する第１物理アドレスを求める演算装置５０の動作を、図１４を用いて説明する。
【０１５０】
ここで、演算装置５０は、ユーザ情報ブロック４２にアクセスするために入力される論理アドレスＬＢＡ０〜ＬＢＡ９と一対一の対応関係（図１２）が有り、複製ユーザ情報ブロックにアクセスするためのミラー論理アドレスＬＢＡ１０〜ＬＢＡ１９を、情報として有している。
【０１５１】
コンピュータ２は、メモリカード３に、論理アドレスＬＢＡ４を含むアクセス要求（たとえば読出し要求）を送信したとする。この場合には、演算装置５０は、当該論理アドレスＬＢＡ４とコントローラメモリ５２内の第１管理領域５２Ｉの情報（第２ブロック５２ｂａに格納されている情報）とを用いた上記第一の論物変換処理により、論理アドレスＬＢＡ４に対応する第１物理アドレスＰＢＡ６を算出する（ステップＳ１０１）。
【０１５２】
次に、演算装置５０は、ステップＳ１０１で求めた第１物理アドレスＰＢＡ６で特定される第１ブロックが、たとえばリードディスターブ現象に起因した暫定後発欠陥ブロックであるか否かを判断する（ステップＳ１０２）。
【０１５３】
演算装置５０は、ステップＳ１０１で求めた第１物理アドレスＰＢＡ６で特定されるユーザ情報ブロック４２のビット誤り数を測定する。そして、当該測定結果と、予め設定されているしきい値を超えたときに、演算装置５０は、第１物理アドレスＰＢＡ６で特定されるユーザ情報ブロック４２を、暫定後発欠陥ブロックであると判断する（ステップＳ１０２で「有」）。
【０１５４】
本実施の形態の説明では、図１５に示すように、第１物理アドレスＰＢＡ６で特定されるユーザ情報ブロック４２において、暫定後発欠陥ブロックが発生したとする（図１５では、暫定後発欠陥が発生したブロックには、便宜上、「暫定Ｂａｄ」を表記している）。したがって、ここでの説明では、ステップＳ１０２で「有」で、演算装置５０はステップＳ１０３の処理へと移行する。
【０１５５】
なお、ここでの説明と異なるが、第１物理アドレスで特定されるユーザ情報ブロック４２のビット誤りの測定数が、予め設定されているしきい値以下であるとする。この場合には、演算装置５０は、当該第１物理アドレスで特定されるユーザ情報ブロック４２を、暫定後発欠陥ブロックではないと判断する（ステップＳ１０２で「無」）。したがって、この場合には、演算装置５０は、ステップＳ１０１で算出した第１物理アドレスを、入力された論理アドレスに対応する第１物理アドレスとして決定する。
【０１５６】
さて、ステップＳ１０２で暫定後発欠陥ブロックであると判断したとき、演算装置５０は、図１６に示すように、第３ブロック５２ｂｃに、ステップＳ１０１で求めた第１物理アドレスＰＢＡ６を記録する（ステップＳ１０３）。なお、次回以降のアクセスにおいて、演算装置５０は図１６を参照し、ステップＳ１０１で求めた第１物理アドレスが第３ブロック５２ｂｃに格納されているかを判断する。そして、格納されていなければ、演算装置５０は、ステップＳ１０１で求めた第１物理アドレスに対してアクセスを行う。他方、格納されていれば、演算装置５０は、ステップＳ１０３を実施せず、後述するステップＳ１０４，Ｓ１０５を実行する。
【０１５７】
さて、ステップＳ１０３後、演算装置５０は、予め設定されている図１２に示す対応関係に基づいて、論理アドレスＬＢＡ４に対応するミラー論理アドレスＬＢＡ１４を決定する（ステップＳ１０４）。
【０１５８】
次に、演算装置５０は、ステップＳ１０４で決定したミラー論理アドレスＬＢＡ１４とコントローラメモリ５２内の第１管理領域５２Ｉの情報（第２ブロック５２ｂａに格納されている情報）とを用いた上記第一の論物変換処理（ただし、論理アドレスをミラー論理アドレスと読み替える必要あり）により、ミラー論理アドレスＬＢＡ１４（換言すれば、入力された論理アドレスＬＢＡ４）に対応する第１物理アドレスを算出する（ステップＳ１０５）。
【０１５９】
上記第一の論物変換処理を適用すると、第１物理アドレスは「ＰＢＡ１８」である（図１５参照）。ここで、図１３に示すように、第１物理アドレスＰＢＡ１８の複製ユーザ情報ブロック４２には、第１物理アドレスＰＢＡ６のユーザ情報ブロック４２に格納されていたユーザ情報の複製データが格納されている。
【０１６０】
メモリコントローラ５は、上記で決定された第１物理アドレスＰＢＡ１８の複製ユーザ情報ブロック４２に対してアクセスを行う。
【０１６１】
以上のように、本実施の形態では、演算装置５０は、入力された所定の論理アドレスＬＢＡ０〜ＬＢＡ９に対応する所定のミラー論理アドレスＬＢＡ１０〜ＬＢＡ１９と、第２ブロック５２ｂａに格納される情報とに基づいて、所定の論理アドレスＬＢＡ０〜ＬＢＡ９に対応する第１物理アドレスＰＢＡ１３〜ＰＢＡ１９を求める。
【０１６２】
このように、ミラー領域を設け、“リードディスターブ”現象により暫定後発欠陥ブロックが発生した場合には、論物変換処理を実施し、ミラー領域へのアクセスを可能としている。したがって、“リードディスターブ”現象により暫定後発欠陥ブロックが発生したとしても、データ読み出し処理に影響を及ぼすことの無いメモリシステムおよび、コンピュータシステムを提供することができる。
【０１６３】
また、メモリにおいて後発欠陥が発生したとしても、多くのブロックに渡って論物変換の対応関係を変更する必要がないメモリシステム（メモリカード３）および、コンピュータシステム１を提供することができる。
【０１６４】
また、本実施の形態では、第２ブロック５２ｂａには、互いに重複しない第２物理アドレスＩ＿ＲＡＤ０〜Ｉ＿ＲＡＤ７が個々に割り当てられており、第２ブロック５２ｂａに記憶される初期欠陥ブロックの第１物理アドレスＰＢＡ３，ＰＢＡ５，ＰＢＡ７，ＰＢＡ１５，ＰＢＡ２０，ＰＢＡ２１，ＰＢＡ２７は、第１物理アドレスの順に従って、第２物理アドレスＩ＿ＲＡＤ０〜Ｉ＿ＲＡＤ７の順に、第２ブロック５２ｂａに格納される。
【０１６５】
したがって、第１物理アドレスを求めるために必要となる、第２ブロック５２ｂａの数を減らすことが可能となる。
【０１６６】
また、本実施の形態では、演算装置５０は、上記第一の論物変換処理により、論理アドレスに対応する第１物理アドレスを求める。
【０１６７】
したがって、初期欠陥ブロック以外の第１ブロック４２の物理アドレスを記憶する必要がない。あるいは、全てのブロックに関する特性（欠陥の有無）と転送先の物理アドレスとを記憶する必要がない。したがって、第２ブロック５２ｂａの数を減らすことが可能となる。
【０１６８】
また、本実施の形態では、演算装置５０は、ステップＳ１０１で求めた第１物理アドレスで特定される第１ブロック４２が暫定後発欠陥ブロックであると判断したとき（ステップＳ１０２）、ステップＳ１０３〜Ｓ１０５に記載の処理を行う。
【０１６９】
したがって、ステップＳ１０１で求めた第１物理アドレスにアクセスすることを防止でき、更なる論物変換処理を行うか否かの判断もできる。また、メモリにおいて後発欠陥が発生したとしても、多くのブロックに渡って論物変換の対応関係を変更する必要がないシステムを、簡易な方法で実現できる。
【０１７０】
また、本実施の形態では、複数の第１ブロック４２のうちの暫定後発欠陥ブロックの第１物理アドレスを個々に記憶するために設けられる複数の第３ブロック５２ｂｃを、さらに備えており、演算装置５０は、第３ブロック５２ｂｃに、ステップＳ１０１で求めた第１物理アドレスを記録する。
【０１７１】
したがって、更新された第３ブロック５２ｂｃの情報を元に、以後の論物変換処理を動的に行うことができる。
【０１７２】
また、本実施の形態では、第２ブロック、第３ブロックおよび第４ブロックなどは、不揮発性メモリ（たとえば、ＳＲＡＭ、レジスタやフリップフロップ回路など）から成るコントローラメモリ５２に保持される。したがって、演算装置５０は、高速で第２ブロック、第３ブロックや第４ブロックにアクセスすることができる。よって、論物変換処理の高速化が可能となる。
【０１７３】
＜実施の形態２＞
本実施の形態では、実施の形態１で暫定後発欠陥ブロックとなった第１ブロック（ユーザ情報ブロック）４２の修復処理（リフレッシュ処理）について、説明する。図１７は、本実施の形態に係るコンピュータシステム１の動作を示すフローチャートである。
【０１７４】
実施の形態１で述べたメモリカード３における電源ＯＮ状態継続中において、メモリカード３が、コンピュータ２との関係でメモリカード３がアイドル期間を確保することができる所定のコマンドを、コンピュータ２から受信したとする（ステップＳ２０１）。メモリカード３が当該所定のコマンドを受信すると、メモリコントローラ５（たとえば、演算装置５０）は、暫定後発欠陥ブロックに対して修復処理を実施する（ステップＳ２０２）。
【０１７５】
具体的に、メモリコントローラ５（たとえば、演算装置５０）は、ステップＳ１０２で暫定後発欠陥ブロックであると判断したユーザ情報ブロック４２を、当該ユーザ情報ブロックに対応する複製ユーザ情報ブロック内の情報を用いて、修復する。ここで、ユーザ情報ブロックと複製ユーザ情報ブロックとの対応関係は、図１３に示すとおりである。したがって、たとえば第１物理アドレスＰＢＡ６のユーザ情報ブロック４２の修復処理を行う場合には、演算装置５０は、第１物理アドレスＰＢＡ１８の複製ユーザ情報ブロック４２内の情報を、当該ユーザ情報ブロック４２にコピーする。
【０１７６】
暫定後発欠陥ブロックであったユーザ情報ブロック４２（ＰＢＡ６）に対する修復処理が、正常に終了したとする（ステップＳ２０３で「Ｙ」）。この場合には、演算装置５０は、第３ブロック５２ｂｃに格納されていた、当該修復完了後のブロックの第１物理アドレス情報である「ＰＢＡ６」を、当該第３ブロック５２ｂｃから削除する（ステップＳ２０４）。
【０１７７】
これに対して、暫定後発欠陥ブロックであったユーザ情報ブロック４２（ＰＢＡ６）に対する修復処理が、正常に終了しなかったとする（つまり、演算装置５０が修復不可能と判断したとする。ステップＳ２０３で「Ｎ」）。この場合には、演算装置５０は、第３ブロック５２ｂｃに格納されていた、当該修復処理対象であり修復不可能となった第１ブロックの第１物理アドレス情報である「ＰＢＡ６」を、第３ブロック５２ｂｃからメモリ４（より具体的に、第２予備管理領域４１Ｂ）内に転送する（ステップＳ２０５）。ここで、当該ＰＢＡ６の情報は、未だ第１アドレスが格納されていない先頭第２予備ブロック４３Ｂに、恒久的後発欠陥ブロックに関する情報として記憶される。また、前記と異なるフローとして次のフローがより一般的であるとも考えられる。
【０１７８】
つまり、上記同様修復処理が正常に終了しなかったとする（ステップＳ２０３で「Ｎ」）。この場合には、演算装置５０は、第３ブロック５２ｂｃに格納されていた、当該修復処理対象であり修復不可能となった第１ブロックの第１物理アドレス情報である「ＰＢＡ６」を、恒久的後発欠陥ブロックの物理アドレス情報を管理する第４ブロック５２ｂｂに格納する。また、当該格納処理に前後してまたは同時に、演算装置５０は、第１物理アドレス情報である「ＰＢＡ６」を、第３ブロック５２ｂｃからメモリ４（より具体的に、第２予備管理領域４１Ｂ）内に転送する。そして、演算装置５０は、第３ブロック５２ｂｃから、第１物理アドレス情報である「ＰＢＡ６」を削除する。ここで、当該ＰＢＡ６の情報は、未だ第１アドレスが格納されていない、先頭第４ブロック５２ｂｂおよび先頭第２予備ブロック４３Ｂに、恒久的後発欠陥ブロックに関する情報として記憶される。
【０１７９】
以上のように、本実施の形態では、演算装置５０は、暫定後発欠陥ブロックであると判断した第１ブロック４２を、当該第１ブロック４２に対応する複製ユーザ情報ブロック内の情報を用いて、修復する（ステップＳ２０２）。
【０１８０】
したがって、暫定後発欠陥ブロックのデータ修復が可能となり、当該修復後の第１ブロック４２へのアクセスを再開できる。
【０１８１】
また、本実施の形態では、暫定後発欠陥ブロックの修復が不可能の場合には、演算装置５０は、当該修復不可能となった暫定後発欠陥ブロックのアドレス情報を、第３ブロック５２ｂｃから第１ブロック４２の一部で構成された第２予備管理領域４１Ｂ管理領域に、恒久的後発欠陥ブロックに関する情報として転送する（ステップＳ２０５）。
【０１８２】
したがって、修復不可能と判断された第１ブロック４２の第１物理アドレス情報を、管理領域にバックアップとして、また恒久的後発欠陥ブロックであることを示す情報として保存することができる。
【０１８３】
＜実施の形態３＞
実施の形態１では、（物理および論理）ミラー領域が一つである場合について説明した。つまり、ユーザ情報の複製は一つだけ用意されている場合である。これに対して、本実施の形態３では、（物理および論理）ミラー領域が複数ある場合について説明する。つまり、ユーザ情報の複製が、複数用意されている場合である。本実施の形態では、説明簡単化のため、（物理および論理）ミラー領域が二つである場合について説明する。
【０１８４】
図１８（Ａ）は、論理空間を模式的に例示した図である。また、図１８（Ｂ）は、後発欠陥ブロック発生前（つまり、初期欠陥ブロックのみ発生）の物理空間を模式的に例示した図である。
【０１８５】
図１８（Ｂ）では、メモリ４のユーザ情報記憶領域４０は、１６個の第１ブロック４２により構成されている。各第１ブロック４２には、第１物理アドレスＰＢＡ０〜ＰＢＡ１５が昇順に設定されている。図１８（Ａ）では、当該第１ブロック４２の数（＝１６）と同数の論理アドレスＬＢＡ０〜ＰＢＡ１５が、昇順に設定されている。
【０１８６】
メモリ４のユーザ情報記憶領域４０には、ユーザ情報および複製ユーザ情報が格納されており、図１８の例では、当該ユーザ情報のデータ量は、第１ブロック４２の３ブロック分である。複製ユーザ情報は、ユーザ情報の複製であるので、当該複製ユーザ情報のデータ量も、第１ブロック４２の３ブロック分である。なお、本実施の形態では、当該３ブロック分の複製ユーザ情報は、２組存在している。
【０１８７】
したがって、図１８（Ａ）において、ユーザ情報にアクセスするための当該３ブロック分の論理アドレスＬＢＡ０〜ＬＢＡ２が、昇順に設定される。また、第一の複製ユーザ情報にアクセスするための当該３ブロック分の論理アドレスＬＢＡ３〜ＬＢＡ５が、昇順に設定される。また、第二の複製ユーザ情報にアクセスするための当該３ブロック分の論理アドレスＬＢＡ６〜ＬＢＡ８が、昇順に設定される。
【０１８８】
論理アドレスＬＢＡ３〜ＬＢＡ５が設定されている領域を「第１論理ミラー領域」と称することとする。また、論理アドレスＬＢＡ６〜ＬＢＡ８が設定されている領域を「第２論理ミラー領域」と称することとする。また、第１論理ミラー領域に属する論理アドレスＬＢＡ３〜ＬＢＡ５を特に、第１ミラー論理アドレスと称する。また、第２論理ミラー領域に属する論理アドレスＬＢＡ６〜ＬＢＡ８を特に、第２ミラー論理アドレスと称する。
【０１８９】
論理アドレスＬＢＡ０〜ＬＢＡ２は、第１ミラー論理アドレスＬＢＡ３〜ＬＢＡ５と一対一の対応関係が有る（図１９参照）。また、論理アドレスＬＢＡ０〜ＬＢＡ２は、第２ミラー論理アドレスＬＢＡ６〜ＬＢＡ８と一対一の対応関係が有る（図１９参照）。当該図１９に示す対応関係は、演算装置５０において情報として設定されている。
【０１９０】
なお、図１８（Ａ）において、残りの論理アドレスＬＢＡ９〜ＬＢＡ１５は、不使用の論理アドレスである。
【０１９１】
他方、図１８（Ｂ）では、実施の形態１（図１１（Ｂ））でも説明したように、各第１ブロック４２は、正常ブロックと初期欠陥ブロックとで構成されている。上記第一の論物変換処理の結果、図１８（Ｂ）に示される、第１物理アドレスと論理アドレスとの対応関係が成立する。各第１物理アドレスには、初期欠陥ブロックをとばして、論理アドレスが昇順に対応している。
【０１９２】
図１８（Ｂ）において、３ブロック分のユーザ情報は、初期欠陥ブロックをとばして、第１物理アドレスＰＢＡ０〜ＰＢＡ３で特定される正常ブロックに格納される。また、３ブロック分の第一の複製ユーザ情報は、初期欠陥ブロックをとばして、第１物理アドレスＰＢＡ４〜ＰＢＡ８で特定される正常ブロックに格納される。また、３ブロック分の第二の複製ユーザ情報は、第１物理アドレスＰＢＡ９〜ＰＢＡ１１で特定される正常ブロックに格納される。第一の複製ユーザ情報が格納されるブロック領域を、「第１物理ミラー領域」と称することとする。また、第二の複製ユーザ情報が格納されるブロック領域を、「第２物理ミラー領域」と称することとする。
【０１９３】
なお、図１８の例では、第１物理アドレスＰＢＡ１２〜ＰＢＡ１５で特定される第１ブロック４２は、未使用ブロックである。また、複数の第１ブロック４２のうちのユーザ情報を記憶する複数の第１ブロックを、「ユーザ情報ブロック」と称する。また、複数の第１ブロック４２のうちの第一の複製ユーザ情報を記憶する複数の第１ブロックを、「第１複製ユーザ情報ブロック」と称する。また、複数の第１ブロック４２のうちの第二の複製ユーザ情報を記憶する複数の第１ブロックを、「第２複製ユーザ情報ブロック」と称する。
【０１９４】
ユーザ情報ブロック４２に格納されるデータと、第１複製ユーザ情報ブロック４２に格納されるデータとの間には、所謂ミラー関係が成立する（図２０参照）。また、ユーザ情報ブロック４２に格納されるデータと、第２複製ユーザ情報ブロック４２に格納されるデータとの間には、所謂ミラー関係が成立する（図２０参照）。たとえば、物理アドレスＰＢＡ０のユーザ情報ブロック４２に格納されるデータは、物理アドレスＰＢＡ４，ＰＢＡ９の第１，２複製ユーザ情報ブロック４２に格納されるデータと同じ内容のものである。また、物理アドレスＰＢＡ３のユーザ情報ブロック４２に格納されるデータは、物理アドレスＰＢＡ８，ＰＢＡ１１の第１，２複製ユーザ情報ブロック４２に格納されるデータと同じ内容のものである。
【０１９５】
上記構成において、メモリカード３に、論理アドレスＬＢＡ１を含むアクセス要求が入力され、演算装置５０で、上記第一の論物変換処理を行った結果、第１物理アドレスとして「ＰＢＡ２」が指定されたとする。その後、実施の形態１でも説明したように、第１物理アドレスＰＢＡ２で特定されるユーザ情報ブロック４２において、暫定後発欠陥が発生したとする（図２１参照）。この場合には、実施の形態１で説明した動作（図１４参照）の結果、当該暫定後発欠陥発生後に論理アドレスＬＢＡ１が入力されたときには、メモリコントローラ５は、第１物理アドレスＰＢＡ５で特定される第１複製ユーザ情報ブロック４２にアクセスを行う。ここでの説明において、図１４のステップＳ１０４では、演算装置５０は、図１９を参照して、論理アドレスＬＢＡ１に対応するミラー論理アドレスとして、「ＬＢＡ４」を決定する。
【０１９６】
さて、演算装置５０は、実施の形態１と同様に、上記で求めた第１物理アドレスＰＢＡ５で特定される第１複製ユーザ情報ブロック４２が、暫定後発欠陥ブロックであるか否かを判断する。メモリカード３に、論理アドレスＬＢＡ１を含むアクセス要求が入力され続けた結果、第１物理アドレスＰＢＡ５で特定される第１複製ユーザ情報ブロック４２においても、暫定後発欠陥が発生したとする（図２１参照）。この場合には、演算装置５０が、当該第１複製ユーザ情報ブロック４２が暫定後発欠陥ブロックであると判断し、次の処理を行う。
【０１９７】
演算装置５０は、「ＰＢＡ５」のアドレス情報を、コントローラメモリ５２内の他の第２管理領域を構成するブロック（図示せず）に格納する（当該他の第２管理領域への格納の理由は、ステップＳ１０３で説明した第２管理領域５２Ｉへの第１物理アドレス格納の理由と同じである）。そして、演算装置５０は、図１９を参照して、論理アドレスＬＢＡ１に対応する他のミラー論理アドレスとして、「ＬＢＡ７」を決定する。
【０１９８】
その後、図１４のステップＳ１０５で説明したように、当該暫定後発欠陥発生後に論理アドレスＬＢＡ１が入力されたときには、演算装置５０は、上記第一の論物変換処理を実施する。ここで、当該第一の論物変換処理においては、論理アドレスを他のミラー論理アドレスと読み替える必要ある。したがって、当該第一の論物変換処理とは、上記で決定した他のミラー論理アドレスＬＢＡ７とコントローラメモリ５２内の第１管理領域５２Ｉの情報（第２ブロック５２ｂａに格納されている情報）とを用いた処理である。
【０１９９】
上記第一の論物変換処理により、他のミラー論理アドレスＬＢＡ７（換言すれば、入力された論理アドレスＬＢＡ１）に対応する第１物理アドレスＰＢＡ１０を算出する。その後、メモリコントローラ５は、第１物理アドレスＰＢＡ１０で特定される第２複製ユーザ情報ブロック４２にアクセスを行う（図２１参照）。
【０２００】
なお、本実施の形態においても、演算装置５０は、実施の形態２で説明したリフレッシュ処理を行う。たとえば、演算装置５０は、第１物理アドレスＰＢＡ１０で特定される第２複製ユーザ情報ブロック４２内の情報を用いて、暫定後発欠陥ブロックであると判断したユーザ情報ブロック４２（ＰＢＡ２）および第１複製ユーザ情報ブロック（ＰＢＡ５）を、修復する。
【０２０１】
当該修復の結果、修復が成功しなかったブロック４２に対しては、以後、演算装置５０は、実施の形態２で説明したように、当該ブロック４２を恒久的後発欠陥ブロックとして取り扱い、そのための処理を行う（図１７のステップＳ２０５参照）。つまり、修復不可能となった第１ブロックの第１物理アドレス情報を、第２管理領域（他の第２管理領域）からメモリ４の第２予備管理領域（他の第２予備管理領域）内に転送する。また、修復に成功した場合には、実施の形態２でも説明したように、演算装置５０は、コントローラメモリ５２の第２管理領域および他の第２管理領域から、修復された暫定後発欠陥ブロックの第１物理アドレス情報を削除する。
【０２０２】
以上により、本実施の形態では、複数のミラー領域が用意されている。したがって、メモリシステムの更なる信頼性向上を図ることができる。
【０２０３】
なお、上記では、（物理および論理）ミラー領域が二つである場合に言及した。しかし、（物理および論理）ミラー領域が三つ以上である場合についても、上記説明を適用することができる。下記において具体例を述べつつ、ミラー領域が三つ以上の構成の場合における動作を、簡単に説明する。
【０２０４】
たとえば、論理空間における論理ミラー領域以外のアドレス領域（図１８の例では、ＬＢＡ０〜ＬＢＡ２が属する領域）を、「論理オリジナル領域」と称することとする。また、物理空間における物理ミラー領域以外のアドレス領域（図１８の例では、ＰＢＡ０〜ＰＢＡ３が属する領域）を、「物理オリジナル領域」と称することとする。また、ユーザ情報のデータ容量は、第１ブロック４２のＮｕ個分であるとする。
【０２０５】
また、論理ミラー領域として、第１論理ミラー領域、第２論理ミラー領域、・・・、第Ｎｍ論理ミラー領域と、Ｎｍ個の論理ミラー領域が存在するとする。さらに、論理アドレス空間において、論理オリジナル領域、第１論理ミラー領域、第２論理ミラー領域、・・・第Ｎｍ論理ミラー領域と、当該順に論理アドレスの切れ目無く設けられているとする。また、論理オリジナル領域におけるｎ（＝１〜Ｎｕ）番目の論理アドレスは、第α（＝１〜Ｎｍ）ミラー領域におけるｎ番目の論理アドレスと、一対一の関係があるとする。なお、上記同様、当該一対一の関係は、演算装置５０に予め設定されている。ここで、第２論理ミラー領域に属する論理アドレス、第３論理ミラー領域に属する論理アドレス、・・・、第Ｎｍ論理ミラー領域に属する論理アドレスが各々、他の論理ミラーアドレスであると把握できる。
【０２０６】
物理ミラー領域として、第１物理ミラー領域、第２物理ミラー領域、・・・、第Ｎｍ物理ミラー領域と、Ｎｍ個の物理ミラー領域が存在するとする。ここで、各物理ミラー領域には、物理オリジナル領域に格納されているユーザ情報（データ量は、上記Ｎｕブロック分である）の複製が、各々に格納されている。また、複数の第１ブロックにおいて、物理オリジナル領域、第１物理ミラー領域、第２物理ミラー領域、・・・第Ｎｍ物理ミラー領域と、第１物理アドレス（初期欠陥ブロックのアドレスは除く）切れ目無く設けられているとする。なお、第β（＝１〜Ｎｍ）物理ミラー領域に格納されているユーザ情報のうち、ｎ（＝１〜Ｎｕ）ブロック番目のデータは、物理オリジナル領域に格納されているユーザ情報のうち、ｎ（＝１〜Ｎｕ）ブロック番目のデータの複製である。ここで、第２物理ミラー領域を構成するブロック、第３物理ミラー領域を構成するブロック、・・・、第Ｎｍ物理ミラー領域を構成するブロックが各々、他の複製ユーザ情報ブロックであると把握できる。
【０２０７】
上記前提において、メモリカード３に、論理オリジナル領域におけるＮｕ番目の論理アドレスが入力されたとき、演算装置５０は第一の論物変換処理を実施し、物理オリジナル領域における第１物理アドレスＡを算出する。
【０２０８】
その後、第１物理アドレスＡの第１ブロック４２に暫定後発欠陥が発生したことを演算装置５０が判断したとき、演算装置５０は、コントローラメモリ５２における第２−１管理領域に「Ａ」を記録する。そして、演算装置５０は、論理オリジナル領域におけるＮｕ番目の論理アドレスと一対一の関係にある、第１論理ミラー領域におけるＮｕ番目の論理アドレスを決定する。そして、当該決定した論理アドレスを用いて、上記第一の論物変換処理を実施し、第１物理ミラー領域における第１物理アドレスＢを算出する。ここで、当該第１物理アドレスＢの第１ブロック４２には、第１物理アドレスＡの第１ブロック４２に格納されていたデータの複製が格納されている。なお、第２−１管理領域には「Ａ」が格納されている。したがって、以後メモリカード３に論理オリジナル領域におけるＮｕ番目の論理アドレスが入力されたとき、演算装置５０は第２−１管理領域を参照し、「Ａ」の記録の確認の後、上記第１論理ミラー領域におけるＮｕ番目の論理アドレスの決定および上記第１物理アドレスＢの算出を行う。
【０２０９】
その後、第１物理アドレスＢの第１ブロック４２に暫定後発欠陥が発生したことを演算装置５０が判断したとき、演算装置５０は、コントローラメモリ５２における第２−２管理領域に「Ｂ」を記録する。そして、演算装置５０は、論理オリジナル領域におけるＮｕ番目の論理アドレスと一対一の関係にある、第２論理ミラー領域におけるＮｕ番目の論理アドレスを決定する。そして、当該決定した論理アドレスを用いて、上記第一の論物変換処理を実施し、第２物理ミラー領域における第１物理アドレスＣを算出する。ここで、当該第１物理アドレスＣの第１ブロック４２には、第１物理アドレスＡの第１ブロック４２に格納されていたデータの複製が格納されている。なお、第２−１管理領域には「Ａ」が格納されており、第２−２管理領域には「Ｂ」が格納されている。したがって、以後メモリカード３に論理オリジナル領域におけるＮｕ番目の論理アドレスが入力されたとき、演算装置５０は第２−１，２−２管理領域を参照し、「Ａ」、「Ｂ」の記録の確認の後、上記第２論理ミラー領域におけるＮｕ番目の論理アドレスの決定および上記第１物理アドレスＣの算出を行う。
【０２１０】
その後、第１物理アドレスＣの第１ブロック４２に暫定後発欠陥が発生したことを演算装置５０が判断したとき、演算装置５０は、コントローラメモリ５２における第２−３管理領域に「Ｃ」を記録する。そして、演算装置５０は、論理オリジナル領域におけるＮｕ番目の論理アドレスと一対一の関係にある、第３論理ミラー領域におけるＮｕ番目の論理アドレスを決定する。そして、当該決定した論理アドレスを用いて、上記第一の論物変換処理を実施し、第３物理ミラー領域における第１物理アドレスＤを算出する。ここで、当該第１物理アドレスＤの第１ブロック４２には、第１物理アドレスＡの第１ブロック４２に格納されていたデータの複製が格納されている。なお、第２−１管理領域には「Ａ」が格納されており、第２−２管理領域には「Ｂ」が格納されており、第２−３管理領域には「Ｃ」が格納されている。したがって、以後メモリカード３に論理オリジナル領域におけるＮｕ番目の論理アドレスが入力されたとき、演算装置５０は第２−１，２−２，２−３管理領域を参照し、「Ａ」、「Ｂ」、「Ｃ」の記録の確認の後、上記第３論理ミラー領域におけるＮｕ番目の論理アドレスの決定および上記第１物理アドレスＤの算出を行う。
【０２１１】
その後、繰り返し、新たに算出された第１物理アドレスの第１ブロック４２に暫定後発欠陥が発生し、第Ｎｍ−１物理ミラー領域における第１物理アドレスＮＮの第１ブロック４２に暫定後発欠陥が発生したとする。このとき、演算装置５０は当該発生を判断し、コントローラメモリ５２における第２−Γ管理領域に「ＮＮ」を記録する。そして、演算装置５０は、論理オリジナル領域におけるＮｕ番目の論理アドレスと一対一の関係にある、第Ｎｍ論理ミラー領域におけるＮｕ番目の論理アドレスを決定する。そして、当該決定した論理アドレスを用いて、上記第一の論物変換処理を実施し、第Ｎｍ物理ミラー領域における第１物理アドレスΘを算出する。ここで、当該第１物理アドレスΘの第１ブロック４２には、第１物理アドレスＡの第１ブロック４２に格納されていたデータの複製が格納されている。なお、第２−１管理領域には「Ａ」が格納されており、第２−２管理領域には「Ｂ」が格納されており、第２−３管理領域には「Ｃ」が格納されており、・・・、第２−Γ管理領域には「ＮＮ」が格納されている。したがって、以後メモリカード３に論理オリジナル領域におけるＮｕ番目の論理アドレスが入力されたとき、演算装置５０は第２−１，２−２，２−３，・・・，２−Γ管理領域を参照し、「Ａ」、「Ｂ」、「Ｃ」、・・・「ＮＮ」の記録の確認の後、上記第Ｎｍ論理ミラー領域におけるＮｕ番目の論理アドレスの決定および上記第１物理アドレスＮＮの算出を行う。
【０２１２】
＜実施の形態４＞
実施の形態２では、恒久的後発欠陥ブロックと判断された第１ブロック４２の第１物理アドレス情報を、コントローラメモリ５２内の第４ブロックおよびメモリ４の第２予備管理領域４１Ｂに格納する場合に言及した。
【０２１３】
本実施の形態では、暫定後発欠陥ブロックおよび恒久的後発欠陥ブロックが発生した場合における、論物変換処理の動作について説明する。当該恒久的後発欠陥ブロックは、たとえば、データ書き込み処理などを伴う上述したリフレッシュ処理（修復処理）などの際に発生しうる。
【０２１４】
本実施の形態では、図１１（Ａ）に示した論理アドレスＬＢＡ２０〜ＬＢＡ３１は、代替論理アドレスとして用いられる。ここで、メモリコントローラ５（演算装置５０）は、代替論理アドレスＬＢＡ２０〜ＬＢＡ３１のうちの最初のアドレス（先頭代替論理アドレス）として、「ＬＢＡ２０」が設定されている。
【０２１５】
また、実施の形態１では、図１１（Ｂ）において、第１物理アドレスＰＢＡ２６〜ＰＢＡ３１の第１ブロック４２は、未使用ブロックであった。しかし、本実施の形態では、図２２に示すように、第１物理アドレスＰＢＡ２６〜ＰＢＡ３１の第１ブロック４２は、代替ブロックとして機能する。
【０２１６】
次に、本実施の形態の動作について説明する。
【０２１７】
演算装置５０における論物変換処理前に、本実施の形態においても、演算装置５０は、メモリ４の冗長情報４４を、コントローラメモリ５２へ参照情報５５として転送する。ここで、図２３に示すように、第１管理領域５２Ｉには、図１０に示す第１管理領域５２Ｉと同じ情報が記憶される。これに対して、図２３に示すように、本実施の形態では、第２管理領域５２ＦＡの第４ブロック５２ｂｂには、第１物理アドレス情報として、「ＰＢＡ１２」および「ＰＢＡ１８」が記憶されている。
【０２１８】
上記でも説明したように、第４ブロック５２ｂｂの第４物理アドレスが昇順するに連れて（ＦＡ＿ＲＡＤ０→ＦＡ＿ＲＡＤ１→ＦＡ＿ＦＲＡＤ２→ＦＡ＿ＲＡＤ３）、各第４ブロック５２ｂｂには、メモリ４における恒久的後発欠陥ブロックが発生した順に、当該恒久的後発欠陥ブロックの（第１）物理アドレスが格納される。したがって、図２３の例では、第１物理アドレスＰＢＡ１２の第１ブロック４２が初めに恒久的後発欠陥ブロックとなり、その後、第１物理アドレスＰＢＡ１８の第１ブロック４２が恒久的後発欠陥ブロックとなったと理解できる。
【０２１９】
また、本実施の形態では、第３管理領域５２ＴＡの第３ブロック５２ｂｃには、暫定後発欠陥ブロックの第１物理アドレス情報「ＰＢＡ６」が記憶されている。
【０２２０】
上記前提の下において本実施の形態では、演算装置５０は図２４に示すフローを実施する。
【０２２１】
メモリカード３が、論理アドレスＬＢＡ４を含むアクセス要求（たとえば書き込み要求など）を受信したとする。この場合に、ステップＳ１０１でも説明したように、演算装置５０は、上記第一の論物変換処理を実施する（図２４のステップＳ４０１）。当該ステップＳ４０１により、演算装置５０は、論理アドレスＬＢＡ４に対応する第１物理アドレスとして「ＰＢＡ６」を決定する。
【０２２２】
次に、演算装置５０は、第３管理領域５２ＴＡを参照し、第３ブロック内に第１物理アドレス情報として「ＰＢＡ６」が記憶されているか否かを判断する（ステップＳ４０２）。上記前提条件では、第１物理アドレスＰＢＡ６の第１ブロック４２は、暫定後発欠陥ブロックである（図２２および図２３の第３管理領域５２ＴＡ参照）。したがって、ステップＳ４０２で「Ｙ」となり、演算装置５０はステップＳ４０３の処理を開始する。
【０２２３】
なお、上記前提とは異なり、第１物理アドレスＰＢＡ６の第１ブロック４２が暫定後発欠陥ブロックで無いとする。この場合には（ステップＳ４０２で「Ｎ」）、演算装置５０は、論理アドレスＬＢＡ４に対応する第１物理アドレスとして「ＰＢＡ６」を決定する。そして、第１物理アドレスＰＢＡ６の第１ブロック４２に対して、アクセス要求に従ったアクセスを実施する。
【０２２４】
ステップＳ４０３では、ステップＳ１０４で説明したように、演算装置５０は、図１２に示す表を参照し、論理アドレスＬＢＡ４に対応するミラー論理アドレスＬＢＡ１４を決定する。さらに、ステップＳ４０３では、ステップＳ１０５で説明したように、演算装置５０は、決定したミラー論理アドレスＬＢＡ１４とコントローラメモリ５２内の第１管理領域５２Ｉの情報（第２ブロック５２ｂａに格納されている情報）とを用いた上記第一の論物変換処理（ただし、論理アドレスをミラー論理アドレスと読み替える必要あり）により、ミラー論理アドレスＬＢＡ１４（換言すれば、入力された論理アドレスＬＢＡ４）に対応する第１物理アドレスを算出する。
【０２２５】
上記第一の論物変換処理を適用すると、第１物理アドレスは「ＰＢＡ１８」である（図２２参照）。ここで、第１物理アドレスＰＢＡ１８の複製ユーザ情報ブロック４２が正常ブロックである場合には、当該複製ユーザ情報ブロック４２には、第１物理アドレスＰＢＡ６のユーザ情報ブロック４２に格納されていたユーザ情報の複製データが格納されている。
【０２２６】
次に、演算装置５０は、第２管理領域５２ＦＡを参照する。そして、演算装置５０は、ステップＳ４０３で求めた第１物理アドレス「ＰＢＡ１８」が、第４ブロック５２ｂｂに格納されている情報と一致するか否かを判断する（ステップＳ４０４）。
【０２２７】
ここで、ステップＳ４０４の判断処理は、恒久的後発欠陥ブロック発生数が少ない場合には、第４ブロック５２ｂｂ全部に対して実施しても良い。これに対して、恒久的後発欠陥ブロック数が多い場合には、例えば電源起動時などに第２管理領域５２ＦＡをアドレス昇順に並び替えた、別テーブルを持ち、当該別テーブルにおける２分岐探索を実施しても良い。
【０２２８】
上記前提条件では、図２３に示すように第２管理領域５２ＦＡにおいて、２番目の物理アドレスＦＡ＿ＲＡＤ１の第４ブロック５３ｂｂに、「ＰＢＡ１８」が格納されている。したがって、演算装置５０は、第１物理アドレスＰＢＡ１８の複製ユーザ情報ブロック４２が恒久的後発欠陥ブロックであると判断する（図２２参照）。そして、ステップＳ４０４で「Ｙ」でステップＳ４０５へと移行する。
【０２２９】
なお、上記前提とは異なり、第１物理アドレスＰＢＡ１８の複製ユーザ情報ブロック４２が恒久的後発欠陥ブロックで無いとする（つまり、第４ブロック５２ｂｂには「ＰＢＡ１８」の情報が格納されていないとする）。この場合には（ステップＳ４０４で「Ｎ」）、演算装置５０は、論理アドレスＬＢＡ４に対応する第１物理アドレスとして「ＰＢＡ１８」を決定する。そして、第１物理アドレスＰＢＡ１８の第１ブロック４２に対して、アクセス要求に従ったアクセスを実施する。
【０２３０】
さて、ステップＳ４０４の判断で一致していると判断したとき（ステップＳ４０４で「Ｙ」）、演算装置５０は、「代替論理アドレス＝先頭代替論理アドレス＋代替論理オフセット  ・・・式Ａ」により、代替論理アドレスを算出する（ステップＳ４０５）。
【０２３１】
ここで、コンピュータ２およびメモリカード３には、先頭代替論理アドレスとして「ＬＢＡ２０」が予め設定されている。また、代替論理オフセットは、ステップＳ４０３で求めた第１物理アドレスが格納されている第４ブロック５２ｂｂの第２管理領域５２ＦＡにおける物理アドレス（第４物理アドレス）から、一義的定まる（当該第４アドレスの末尾の数字より一義的に定まる）。
【０２３２】
たとえば、先頭の第４ブロック５２ｂｂに、ステップＳ４０３で求めた第１物理アドレスが格納されているとする。この場合は、当該先頭の第４ブロック５２ｂｂの第４物理アドレスは「ＦＡ＿ＲＡＤ０」であるので、代替論理オフセットは「０」と決定される。また、２番目の第４ブロック５２ｂｂに、ステップＳ４０３で求めた第１物理アドレスが格納されているとする。この場合は、当該２番目の第４ブロック５２ｂｂの第４物理アドレスは「ＦＡ＿ＲＡＤ１」であるので、代替論理オフセットは「１」と決定される。同様に、３番目の第４ブロック５２ｂｂに、ステップＳ４０３で求めた第１物理アドレスが格納されているとする。この場合は、当該３番目の第４ブロック５２ｂｂの第４物理アドレスは「ＦＡ＿ＲＡＤ２」であるので、代替論理オフセットは「２」と決定される。
【０２３３】
さて、上記例では、第１物理アドレスＰＢＡ１８である第１ブロック４２は、２番目に恒久的後発欠陥ブロックとなっている。したがって、図２３に示すように、第２管理領域５２ＦＡにおける第４物理アドレスＦＡ＿ＲＡＤ１に、ステップＳ４０３で求めた「ＰＢＡ１８」が格納される。よって、代替論理オフセットは、「１」として決定される。
【０２３４】
したがって、式Ａにより、ＬＢＡ２０＋１となり、演算装置５０は、代替論理アドレスとして、ＬＢＡ２１を得る（「２１」は、先頭代替論理アドレスの数字「２０」と代替論理オフセットの値「１」との和である）。
【０２３５】
次に、演算装置５０は、上記で求めた代替論理アドレスＬＢＡ２１とコントローラメモリ５２内の第１管理領域５２Ｉの情報（第２ブロック５２ｂａに格納されている情報）とを用いた上記第一の論物変換処理（ただし、論理アドレスを代替論理アドレスと読み替える必要あり）により、代替論理アドレスＬＢＡ２１に対応する代替物理アドレスを算出する（ステップＳ４０５）。上記第一の論物変換処理を適用すると、代替物理アドレスは「ＰＢＡ２８」である。
【０２３６】
そして、演算装置５０は、上記で算出した代替物理アドレスＰＢＡ２８を、入力された論理アドレスＬＢＡ４に対応する第１物理アドレスとして決定する（ステップＳ４０５；図２２参照）。
【０２３７】
以上のように、本実施の形態では、恒久的後発欠陥ブロックのアドレス情報を記憶する第４ブロック５２ｂｂを備えており、演算装置５０は、ステップＳ４０３で求めた第１物理アドレスが、第４ブロック５２ｂｂに格納されている情報と一致するか否かを判断する（ステップＳ４０４）。
【０２３８】
したがって、ステップＳ４０３で求めた第１物理アドレスにアクセスする際に、当該アクセスした第１ブロック４２に恒久的後発欠陥が発生しているか否かの判断ができ、更なる論物変換処理を行うか否かの判断もできる。
【０２３９】
また、本実施の形態では、アクセスした第１ブロック４２に恒久的後発欠陥が発生していると判断したときには、演算装置５０は、ステップＳ４０１で求めた第１物理アドレスを格納している第４ブロック５２ｂｂの第４物理アドレスと、予め用意されている先頭代替論理アドレスとに基づいて、代替論理アドレスを求める（ステップＳ４０５）。そして、当該代替論理アドレスと、第２ブロック５２ｂａに格納される情報とに基づいて、所定の論理アドレスに対応する第１物理アドレスを求める（ステップＳ４０５）。
【０２４０】
したがって、複製ユーザ情報ブロック４２が恒久的後発欠陥ブロックになった場合においても、簡易な方法で、入力された所定の論理アドレスに対応する代替先のブロック４２を決定できる。
【０２４１】
また、恒久的後発欠陥ブロックの第１物理アドレスは、恒久的後発欠陥が発生した順に従って、第４物理アドレスＦＡ＿ＲＡＤ０〜ＦＡ＿ＲＡＤ３の順で、第４ブロックに５２ｂｂ格納される。
【０２４２】
したがって、第１物理アドレスを求めるために必要となる、第４ブロック５２ｂｂの数を減らすことが可能となる。
【図面の簡単な説明】
【０２４３】
【図１】本発明に係るコンピュータシステムを示す図である。
【図２】メモリカードの構成を示すブロック図である。
【図３】メモリの内部構造を示す概略図である。
【図４】メモリにおけるブロックの構造を示す図である。
【図５】ユーザ情報記憶領域を例示する図である。
【図６】予備記憶領域を例示する図である。
【図７】冗長情報がコントローラメモリに参照情報として記憶される状態を例示する図である。
【図８】論理アドレスと物理アドレスとの対応を例示する図である。
【図９】メモリの内部構造を示す概略図である。
【図１０】参照情報として、第１管理領域および第２管理領域に記憶される情報の構造を例示する図である。
【図１１】実施の形態１に係る論物変換処理動作を説明するための図である。
【図１２】論理アドレスとミラー論理アドレスとの一対一関係を示す図である。
【図１３】オリジナルデータが格納されている第１ブロックの第１物理アドレスと、当該オリジナルデータの複製データが格納されている第１ブロックの第１物理アドレスとの関係を示す図である。
【図１４】実施の形態１に係る論物変換処理動作を説明するためのフローチャートである。
【図１５】論理アドレスと物理アドレスとの対応および論物変換の様子を示す図である。
【図１６】参照情報として、第３管理領域に記憶される情報の構造を例示する図である。
【図１７】実施の形態２に係る動作を説明するためのフローチャートである。
【図１８】実施の形態３に係る論物変換処理動作を説明するための図である。
【図１９】論理アドレスと各ミラー論理アドレスとの一対一関係を示す図である。
【図２０】オリジナルデータが格納されている第１ブロックの第１物理アドレスと、当該オリジナルデータの複製データが格納されている第１ブロックの第１物理アドレスとの関係を示す図である。
【図２１】論理アドレスと物理アドレスとの対応および論物変換の様子を示す図である。
【図２２】実施の形態４に係る論物変換処理動作を説明するための図である。
【図２３】参照情報として、第１，２，３管理領域に記憶される情報の構造を例示する図である。
【図２４】実施の形態４に係る論物変換処理動作を説明するためのフローチャートである。
【符号の説明】
【０２４４】
１  コンピュータシステム
２  コンピュータ
３  メモリカード
４  メモリ
４０  ユーザ情報記憶領域
４１  予備記憶領域
４１Ａ  （メモリにおける）第１管理領域
４１Ｂ  （メモリにおける）第２管理領域
４３Ａ  第１予備ブロック
４３Ｂ  第２予備ブロック
４２  第１ブロック
４３  予備ブロック
４４  冗長情報
５０  演算装置
５２  コントローラメモリ
５２Ｉ  第１管理領域
５２ＦＡ  第２管理領域
５２ＴＡ  第３管理領域
５２ｂａ  第２ブロック
５２ｂｂ  第４ブロック
５２ｂｃ  第３ブロック
５５  参照情報
【図１】
2010152472.tif 000003
【図２】
2010152472.tif 000004
【図３】
2010152472.tif 000005
【図４】
2010152472.tif 000006
【図５】
2010152472.tif 000007
【図６】
2010152472.tif 000008
【図７】
2010152472.tif 000009
【図８】
2010152472.tif 000010
【図９】
2010152472.tif 000011
【図１０】
2010152472.tif 000012
【図１１】
2010152472.tif 000013
【図１２】
2010152472.tif 000014
【図１３】
2010152472.tif 000015
【図１４】
2010152472.tif 000016
【図１５】
2010152472.tif 000017
【図１６】
2010152472.tif 000018
【図１７】
2010152472.tif 000019
【図１８】
2010152472.tif 000020
【図１９】
2010152472.tif 000021
【図２０】
2010152472.tif 000022
【図２１】
2010152472.tif 000023
【図２２】
2010152472.tif 000024
【図２３】
2010152472.tif 000025
【図２４】
2010152472.tif 000026