(57)【要約】【課題】使用領域を低減させつつ、リードディスターブを抑制させるメモリシステムを提供すること。【解決手段】メモリセルが直列接続されたストリングを備え、異なる前記ストリングに属する前記メモリセルの集合であるページＰＧ単位でデータの書き込み及び読み出しを行い、前記ストリングの集合であるブロックＢＬＫ単位でデータを消去するメモリ６と、前記メモリ６を制御するコントローラ７を具備し、前記コントローラ７は、前記ブロックの集合であるゾーンＺｏｎｅ毎に検査対象ページＰＧに関するテーブル２５を保持可能な保持部１４と、読み出し対象ページを含む前記ゾーンについての前記検査対象ページにつき誤読み出しの発生率を計算し、予め定められた閾値を該発生率が超える場合、該検査対象ページのデータを、いずれか別の前記ブロックに書込むよう、前記メモリ６に命令する制御部１２とを備える【選択図】図６
2011107851.tif 000002
【特許請求の範囲】
【請求項１】
データを保持可能な複数のメモリセルが直列接続されたＮＡＮＤストリングを複数備え、異なる前記ＮＡＮＤストリングに属する複数の前記メモリセルの集合であるページ単位でデータの書き込み及び読み出しを行い、複数のＮＡＮＤストリングの集合であるブロック単位でデータを消去する半導体メモリと、
前記半導体メモリを制御するコントローラと
を具備し、前記コントローラは、前記ブロックの集合であるゾーン毎に検査対象ページに関する情報が記録された検査対象テーブルを保持可能な保持部と、
前記半導体メモリからの前記データの読み出し時において、前記保持部の前記検査対象テーブルを参照して、読み出し対象ページを含む前記ゾーンについての前記検査対象ページにつき誤読み出しの発生率を計算し、予め定められた閾値を該発生率が超える場合、該検査対象ページのデータを、いずれか別の前記ブロックに書込むよう、前記半導体メモリに命令する制御部と
を備えることを特徴とするメモリシステム。
【請求項２】
半導体メモリと、前記半導体メモリを制御するコントローラとを備えたメモリシステムであって、
前記半導体メモリは、データを保持可能な複数のメモリセルが直列接続されたＮＡＮＤストリングを複数備え、異なる前記ＮＡＮＤストリングに属する複数の前記メモリセルの集合であるページ単位でデータの書き込み及び読み出しを行い、複数のＮＡＮＤストリングの集合であるブロック単位でデータ消去し、
前記コントローラは、前記ブロックの集合であるゾーン毎に検査対象ページに関する情報が記録された検査対象テーブル、及び該メモリシステムへの電源投入回数を保持可能な保持部と、
前記電源が投入されたことを検知する検知部と、
前記電源が投入されたことを前記検知部が検知する度に、前記電源投入回数をカウントすると共に、前記電源投入回数に応じて前記検査対象テーブルを生成し、前記半導体メモリからの前記データの読み出し時において、前記検査対象テーブルを参照して、読み出し対象ページを含む前記ゾーンについての前記検査対象ページにつき誤読み出しの発生率を計算し、予め定められた閾値を該発生率が超える場合、該検査対象ページのデータを、いずれか別の前記ブロックに書込むよう、前記半導体メモリに命令する制御部と
を備えることを特徴とするメモリシステム。
【請求項３】
前記半導体メモリは、前記電源投入回数を保持可能なシステム領域を含み、
前記制御部は、前記電源が投入される度に、前記システム領域から前記電源投入回数を前記保持部に読み出して、該電源投入回数をカウントアップした後、カウントアップされた前記電源投入回数を前記システム領域に書き込む
ことを特徴とする請求項２記載のメモリシステム。
【請求項４】
前記制御部は、前記発生率の計算の後、前記読み出し対象ページを含む前記ゾーンについての前記検査対象ページを、異なるブロックにおけるいずれかのページに更新した後、前記読み出し対象ページからデータを読み出す
ことを特徴とする請求項１または２記載のメモリシステム。
【請求項５】
前記検査対象テーブルに記録された前記情報は、前記検査対象ページのページアドレスと、該ページを含むブロックのブロックアドレスであり、
前記制御部は、前記検査対象テーブルにおける前記ブロックアドレスを“１”ずつインクリメントすることにより、前記検査対象ページを更新する
ことを特徴とする請求項１または２記載のメモリシステム。
【請求項６】
前記検査対象テーブルにおける前記ブロックアドレスが、当該ゾーンにおける最終ブロックアドレスであった場合、
前記制御部は、前記ブロックアドレスを当該ゾーンにおける先頭ブロックアドレスに変更すると共に、前記ページアドレスを“１”インクリメントすることにより、前記検査対象ページを更新する
ことを特徴とする請求項５記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリとメモリコントローラとからなるメモリシステムに関する。
【背景技術】
【０００２】
不揮発性メモリとそれを制御するメモリコントローラを備えたメモリシステムの一例として、ＳＤメモリカードが知られている。このＳＤメモリカードに搭載される不揮発性メモリには、例えば、ＮＡＮＤ型フラッシュメモリが用いられている（特許文献１参照）。
【０００３】
従来、このようなメモリシステムにおいて、誤りビット数およびデータ読み出し回数が一定の閾値を超えた場合、リフレッシュ動作を実行することより、リードディスターブ対策を行うことが知られている。例えば、前記ＮＡＮＤ型フラッシュメモリの消去単位となる複数のブロック毎に、記憶されたデータの読み出し回数をＲＡＭに記憶することで、リードディスターブ対策を行っていた。
【０００４】
これにより、メモリセルアレイの微細化とともにメモリが大容量化し、データの容量も増えるにつれて、上述したリードディスターブ対策のためＲＡＭの大容量化が必要となってきた。このため、メモリの回路規模は大きくなりコスト高となってしまうといった問題があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−４２９１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、使用領域を低減させつつ、リードディスターブ対策も実現するメモリシステムを提供するものである。
【課題を解決するための手段】
【０００７】
この発明の一態様に係るメモリシステムは、データを保持可能な複数のメモリセルが直列接続されたＮＡＮＤストリングを複数備え、異なる前記ＮＡＮＤストリングに属する複数の前記メモリセルの集合であるページ単位でデータの書き込み及び読み出しを行い、複数のＮＡＮＤストリングの集合であるブロック単位でデータを消去する半導体メモリと、前記半導体メモリを制御するコントローラとを具備し、前記コントローラは、前記ブロックの集合であるゾーン毎に検査対象ページに関する情報が記録された検査対象テーブルを保持可能な保持部と、前記半導体メモリからの前記データの読み出し時において、前記保持部の前記検査対象テーブルを参照して、読み出し対象ページを含む前記ゾーンについての前記検査対象ページにつき誤読み出しの発生率を計算し、予め定められた閾値を該発生率が超える場合、該検査対象ページのデータを、いずれか別の前記ブロックに書込むよう、前記半導体メモリに命令する制御部とを備える。
【発明の効果】
【０００８】
本発明によれば、使用領域を低減させつつ、リードディスターブ対策を実現するメモリシステムを提供できる。
【図面の簡単な説明】
【０００９】
【図１】この発明の第１の実施形態に係るメモリシステムのブロック図。
【図２】この発明の第１の実施形態に係るレジスタの構成図。
【図３】この発明の第１の実施形態に係る検査対象アドレステーブルの概念図。
【図４】この発明の第１の実施形態に係るメモリ空間の構成図。
【図５】この発明の第１の実施形態に係るホストから出力されるコマンドの構成図。
【図６】この発明の第１の実施形態に係るデータの読み出し要求があった際のメモリコントローラ２の動作を示すフローチャート。
【図７】この発明の第１の実施形態に係る検査対象アドレステーブルのインクリメントを示す概念図。
【図８】この発明の第１の実施形態に係る検査対象アドレステーブルのインクリメントを示す概念図。
【図９】この発明の第１の実施形態に係るデータの書き込み要求があった際のメモリコントローラ２の動作を示すフローチャート。
【図１０】この発明の第２の実施形態に係るＲＡＭのブロック図。
【図１１】この発明の第２の実施形態に係る検査対象アドレステーブルのインクリメントを示す概念図。
【発明を実施するための形態】
【００１０】
以下、この発明の実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【００１１】
以下、本発明の実施形態に係るメモリシステムの一例としてメモリカードを用いて説明を行う。ここで、ホスト装置としてはパーソナルコンピュータ、携帯電話などであり、上記メモリシステムと互換性のある機器であれば種類を問わない。
【００１２】
[第１の実施形態]  
図１は、本発明の第１の実施形態に係るメモリシステムとしてのメモリカード２およびホスト装置１の主要部を概略的に示すブロック図である。各ブロックは、ハードウェア、コンピュータソフトウェア、のいずれかまたは両者の組み合わせとして実現することができる。
【００１３】
図１において、ホスト装置（以下、ホストと称する）１は、挿入されるメモリカード２に対してアクセスを行うためのＣＰＵ等３のハードウェアおよびアプリケーション、オペレーティングシステム等のソフトウェアを備えている。ＣＰＵ３は、ユーザからのメモリカード２へのデータの書き込みやメモリカード２からのデータの読み出し指示に従い、書き込みおよび読み出しをファイルシステム４に指示する。
【００１４】
ファイルシステム４は、管理対象の記憶媒体、ここではメモリカード２に記録されているファイル（データ）を管理するための仕組みであり、メモリカード２の記憶領域内に管理情報を記録し、この管理情報を用いてファイルを管理する。ファイルシステム４は、メモリカード２におけるファイルやフォルダなどのディレクトリ情報の作成方法、ファイルやフォルダなどの移動方法や削除方法、データの記録方式、管理情報が記録されている領域の場所や利用方法などを定める。ファイルシステム４は、この実施形態ではＦＡＴファイルシステムが用いられる。
【００１５】
さらにホスト１に設けられるＳＤインタフェース５を介して、ホスト１とメモリカード２との間でデータのやりとりを行う。ホスト１は、メモリカード２との通信に必要な様々な取り決めを規定し、メモリカード２と相互に認識可能な各種のコマンドを発行する。また、ホスト１のＳＤインタフェース５は、メモリカード２のＳＤインタフェース１１と接続可能なハードウェア上の構成（ピンの配置、数等）となっている。
【００１６】
メモリカード２は、オン状態のホスト１に接続されたとき、およびオフ状態のホスト１に挿入された状態でホスト１がオンされたときに電源供給を受けて初期化動作を行った後、ホスト１からのコマンドに応じて書込み・読出し・消去の処理が行われる。このメモリカード２は、ＮＡＮＤ型フラッシュメモリ６とＮＡＮＤ型フラッシュメモリ６を制御するためのコントローラ７とを有する。
【００１７】
ＮＡＮＤ型フラッシュメモリ６は、データを不揮発に記憶し、複数のメモリセルからなるページと呼ばれる単位でデータの書き込みおよび読み出しを行う。ページには、各ページに固有の物理アドレスが割り当てられている。また、メモリ６は、複数のページからなる物理ブロックと呼ばれる単位でデータの消去を行う。なお、物理ブロック単位で物理アドレスが割り当てられていることもある。
【００１８】
コントローラ７は、フラッシュメモリ６によるデータの記憶状態を管理する。記憶状態の管理とは、どの物理アドレスのページ（または物理ブロック）が、ホスト１により割り当てられたどの論理アドレスのデータを保持しているかの関係、およびどの物理アドレスのページ（または物理ブロック）が消去状態（何も書き込まれていない、または無効なデータを保持している状態）であるかを管理することをいう。
【００１９】
コントローラ７は、ＳＤインタフェース１１、ＭＰＵ（micro processing unit）１２、ＲＯＭ（read only memory）１３、ＲＡＭ（random access memory）１４、ＮＡＮＤインタフェース１５、ＥＣＣ回路１６、及びレジスタ１７を含んでいる。
【００２０】
また、ホスト１からメモリカードに２に電源供給がなされ、ホスト１は、メモリカード２がオン状態とされたことを検知する機能を有する。コントローラ７内には更に、レジスタ１７が備えられる。
【００２１】
図２に、図１のレジスタ１７の具体的な構成を例示する。レジスタ１７は、カードステータスレジスタ、ＣＩＤ、ＲＣＡ、ＤＳＲ、ＣＳＤ、ＳＣＲ、ＯＣＲ等各種レジスタを有する。カードステータスレジスタは、通常動作において使用され、例えばエラー情報が記憶される。ＣＩＤ、ＲＣＡ、ＤＳＲ、ＣＳＤ、ＳＣＲ、ＯＣＲは、主にメモリカード２の初期化時に使用される。ＣＩＤ（card identification number）には、メモリカード２の個体番号が記憶される。ＲＣＡ（relative card address）には、相対カードアドレスが記憶される。ＤＳＲ（driver stage register）には、メモリカード２のバス駆動力等が記憶される。ＣＳＤ（card specific data）には、メモリカード２の特性パラメータ値が記憶される。ＳＣＲ（SD configuration data register）には、メモリカード２のデータ配置が記憶される。ＯＣＲ（operation condition resister）には、メモリカード２の動作範囲電圧に制限のある場合、動作電圧が記憶される。
【００２２】
ＭＰＵ１２は、メモリカード２全体の動作を司る。ＭＰＵ１２は、例えば、メモリカード２が電源供給を受けた際に、ＲＯＭ１３内に格納されているファームウェア（制御プログラム）をＲＡＭ１４上に読み出して所定の処理を実行する。また、ＭＰＵ１２は、制御プログラムに従って、システムデータ領域２１（後述）から検査対象アドレステーブル２５のデータ（後述）をＲＡＭ１４上に読み出し、必要に応じて該検査対象アドレステーブル２５のデータを管理する。更にＭＰＵ１２は、ホスト１から書き込みコマンド、読み出しコマンド、消去コマンドを受けてフラッシュメモリ６に対する所定の処理を実行する。具体的には、ＭＰＵ１２はホスト１から読み出しコマンド（ＣＭＤ１７、ＣＭＤ１８）を受け取ると、読み出したいアドレスに対応するメモリセル（後述）からデータを読み出す。
【００２３】
特に本実施形態において、ＭＰＵ１２はメモリカード２がホスト１から電源供給を受けると、システムデータ領域２１から検査対象アドレステーブル２５用のデータをＲＡＭ１４へと出力させる。その後、ＭＰＵ１２は、ホスト１から受け取ったアドレスに従ってＲＡＭ１４上の上記検査対象アドレステーブル２５を参照する。そしてＭＰＵ１２は検査対象アドレステーブル２５に基づき、該当するメモリセルが保持するデータについてＥＣＣ回路１６で検査（誤り訂正）を行うよう指示する。
【００２４】
ＲＯＭ１３は、ＭＰＵ１２により制御される制御プログラムなどを格納する。
【００２５】
ＲＡＭ１４は、ＭＰＵ１２の作業エリアとして使用され、制御プログラムや各種のテーブルを記憶する。このようなテーブルとして、ファイルシステム４によってデータに割り当てられた論理アドレスを、該データを実際に記憶しているページの物理アドレスに変換するテーブル（論理アドレス・物理アドレス変換テーブル）が含まれる。またＲＡＭ１４は検査対象アドレステーブル２５を保持可能とする。つまり上述したようにメモリカード２がホスト１から電源供給を受けると、ＲＡＭ１４はＭＰＵ１２によりシステムデータ領域２１が保持する検査対象アドレステーブル２５のデータを取り込む。
【００２６】
次に図３用いてこの検査対象アドレステーブル２５について説明する。図３に検査対象アドレステーブル２５を示す。
【００２７】
図３に示すように、検査対象アドレステーブル２５には、ゾーンＺｏｎｅ毎に、検査対象となるブロックＢＬＫのブロックアドレス（論理アドレス）及びページＰＧのページアドレス（論理アドレス）が記録されている。図３の例では、各ゾーンＺｏｎｅの論理アドレスとして、‘０ｘ０００’、‘０ｘ００１’、…‘ＦＦＦＦＦ’が格納される（１６ビット表記）。更にブロックＢＬＫ及びページＰＧの列の論理アドレスとして、‘０ｘ００’が格納される。つまり、図３に示すように、検査対象アドレステーブル２５は初期状態として、全てのＺｏｎｅにおいて、先頭ブロックアドレスのブロックＢＬＫにおける、先頭ページアドレスに対応するページが、検査対象とされている。より具体的には、一行目に着目すると、ＥＣＣ回路１６による検査対象とされるメモリセルは、１番目のＺｏｎｅでは、先頭アドレスのブロックＢＬＫにおける先頭アドレスを示すメモリセル（ページ）とされる。以下２行目についても同様である。そして、この検査対象とされるページ、及びブロックＢＬＫのアドレスは、ＭＰＵ１２により必要に応じてインクリメントされる。図３に示すようにＺｏｎｅの最終論理アドレスは‘ＦＦＦＦＦ’であるが、本実施形態に係るフラッシュメモリ６が保持するＺｏｎｅの数は、例えば３０である。
【００２８】
図１に戻ってメモリシステムの構成について説明する。ＥＣＣ回路１６は、データのエラー訂正を行うためのもので、読み出したページが保持するデータにつき、誤読み出しの発生率の計算も行う。
【００２９】
また図示するようにフラッシュメモリ６内にはデータを記憶する記憶領域２０及び各種制御回路（ロウデコーダ２６、センスアンプ２７(カラムデコーダ２７)、電圧発生回路２８、Ｉ／Ｏバッファ２９、ページバッファ２０など）を備える。前記記憶領域２０には、保存されるデータの種類に応じて、システムデータ領域２１、機密データ領域２２、保護データ領域２３、及びユーザデータ領域２４に分けられる。
【００３０】
システムデータ領域２１は、コントローラ７が、その動作に必要なデータを保存するためにフラッシュメモリ６内で確保しておく領域であり、主にメモリカード２に関する管理情報を格納し、メモリカード２のセキュリティ情報やメディアＩＤなどのカード情報を格納する。本実施形態では、検査対象アドレステーブル２５用のデータ（後述）や回数データ３１（後述）がこのシステムデータ領域２１に格納される。
【００３１】
機密データ領域２２は、暗号化に用いる鍵情報や認証時に使用する機密データを保存しており、ホスト１はアクセスできない。
【００３２】
保護データ領域２３は、重要なデータ、セキュアなデータを格納する。ホスト１は、保護データ領域２３にアクセス可能であるが、ホスト１とメモリカード２との間での相互認証によりホスト１の正当性が証明された後に限られる。
【００３３】
ユーザデータ領域２４は、ホスト１が自由にアクセスおよび使用することが可能で、例えばＡＶコンテンツファイルや画像データ等のユーザデータを格納する。以下の説明で、フラッシュメモリ６は、このユーザデータ領域２４を指すものとする。なお、コントローラ７は、ユーザデータ領域２４の一部を確保し、自身の動作に必要な制御データ（論理アドレス・物理アドレス変換テーブル、後述の最終割り当て論理ブロックアドレス等）を保存する。保護データ領域２３とユーザデータ領域２４はホスト１から別のボリュームとして論理フォーマットされてファイル管理される。
【００３４】
ロウデコーダ２６は、データの書き込み動作時、読み出し動作時、及び消去時において、図示せぬ制御部から与えられたロウアドレスに基づいて記憶領域２０のロウ方向を選択する。
【００３５】
カラムデコーダ２７は、図示せぬ制御部から与えられるカラムアドレスに従って、記憶領域２０のカラム方向を選択する。
【００３６】
電圧発生回路２８は、データの書き込み動作、消去動作、及び読み出し動作に必要な電圧を発生し、ロウデコーダ２６に供給する。
【００３７】
Ｉ／Ｏバッファ２９は、コントローラ７から供給された書き込みデータ、アドレス、及びコマンドを、一時的に保持する。そして、アドレス、及びコマンドをそれぞれ図示せぬ制御部に出力する。そして、書き込みデータをページバッファ３０へと出力する。またページバッファ３０から受け取った読み出しデータをコントローラ７へ出力する。
【００３８】
ページバッファ３０は、Ｉ／Ｏバッファ２９から受け取った書き込みデータを一時的に保持する。そして、その書き込みデータを記憶領域２０へ出力する。また、記憶領域２０から受け取った読み出しデータを、Ｉ／Ｏバッファ２９を介してメモリコントローラ７へ出力する。
【００３９】
次に、図４を用いて、フラッシュメモリ６のメモリ空間およびメモリの物理的な構成について説明する。図４に示すように、フラッシュメモリ６は、通常のメモリ領域とページバッファ（図示せぬ）とを有する。  
メモリ領域は、複数のＺｏｎｅを含んでいる。そして各Ｚｏｎｅは、例えば５１２個のブロックＢＬＫを含んでいる。各物理ブロックＢＬＫは、例えば１２８ページＰＧから構成される。
【００４０】
各メモリセルは、いわゆるスタックゲート構造型のＭＯＳＦＥＴ（metal oxide semiconductor field effect transistor）からなる。スタックゲート構造のＭＯＳトランジスタは、トンネル絶縁膜、浮遊ゲート電極などの電荷蓄積層、電極間絶縁膜、制御ゲート電極、及びソース／ドレイン拡散層を含む。各メモリセルトランジスタは、電荷蓄積層に蓄えられる電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じた情報を記憶する。メモリセルトランジスタは、２つ以上の閾値電圧の異なる状態を取り得、いわゆる多値記憶を可能な構成を有する。そして、フラッシュメモリ６のセンスアンプ、電圧発生回路等を含む制御回路は、メモリセルトランジスタに多ビットのデータを書き込み、多ビットのデータを読み出すことが可能な構成を有している。
【００４１】
同一ページに属する各メモリセルトランジスタの制御ゲート電極は、同じワード線と接続される。また同じ列に属し且つ直列接続されたメモリセルトランジスタの両端には選択ゲートトランジスタが設けられ、ＮＡＮＤストリングを構成する。一方の選択ゲートトランジスタは、ビット線、他方の選択ゲートトランジスタはソース線と接続される。データの書き込みおよび読み出しは複数のメモリセルトランジスタの集合毎に行われ、このメモリセルトランジスタの集合からなる記憶領域が１つのページに対応する。つまり、互いに異なるＮＡＮＤストリングに含まれ、且つ同一のワード線に接続されたメモリセルトランジスタの集合が、１つのページとなる。
【００４２】
図４の例の場合、各ページＰＧは、２１１２バイト（５１２バイト分のデータ記憶部×４＋１０バイト分の冗長部×４＋２４バイト分の管理データ記憶部）を有しており、上述の通り各ブロックＢＬＫは例えば１２８ページＰＧからなる。そして、各Ｚｏｎｅは、上述の通り例えば５１２ブロックＢＬＫからなる。
【００４３】
データの読み出し及び書き込みは、上記メモリセルトランジスタの集合であるページ単位で行われる。またデータの消去は、上記ページの集合であるブロックＢＬＫ単位で行われる。そしてこのブロックＢＬＫの集合が１つのゾーンＺｏｎｅとなる。
【００４４】
読み出しデータ及び書き込みデータは、ページバッファ（図示せず）を介して行われる。すなわち、書き込み時には、コントローラ７から転送された書き込みデータがページバッファに一時的に保持され、これがビット線に転送される。またビット線に読み出された読み出しデータは、ページバッファでセンス・増幅され、一時的に保持される。その後、ページバッファ内のデータがコントローラに転送される。ページバッファが保持可能なデータサイズは、例えば、ページＰＧのサイズと同じく２１１２バイト（２０４８バイト＋６４バイト）である。データ書き込みなどの際、ページバッファは、メモリ６に対するデータ入出力処理を、自身の記憶容量に相当する１ページ分の単位で実行する。データの消去は物理ブロックＢＬＫ単位で行われる。
【００４５】
また、フラッシュメモリ６は、１つのメモリセルトランジスタに１ビットのデータを書き込むことができるモードと、多ビットのデータ、すなわち２n（ｎは自然数）値のデータを書き込むモードとを有する。フラッシュメモリ６が１つのメモリセルトランジスタに１ビットのデータを書き込むモードを２値モードと称し、多ビットのデータを書き込むモードを多値モードと称する。
【００４６】
＜コマンドの構成について＞  
次に、ホスト１からメモリカード２へと転送されるコマンドの詳細な構成について図５を用いて説明する。図５はホスト１から転送されるコマンドの構成を示した図である。図５に示すように、コマンドは、先頭のコマンド部（図中、ＣＭＤと表記、１バイト）、引数（４バイト）、そしてＣＲＣ（７ビット）と最終ビット（１ビット）とから構成される。コマンド部は１バイト（8 bit）のうち、先頭の２ｂｉｔは固定ビット‘０１’で使用される。そして、残りの６ｂｉｔでホスト１がメモリカード２に要求する実際のコマンドが記載される。例えば、後述する読み出し要求を示すＣＭＤ１７（51h）、ＣＭＤ１８（52h）、ＣＭＤ２４（58h）である。なお、数字の末尾の“ｈ”は、その前の数字が１６進数であることを示す。
【００４７】
そして、ホスト１から出力されたコマンドがＣＭＤ２４であった場合、引数にはその書き込みたいアドレス及びそのデータ（図中、Data address）がフラッシュメモリ６に格納される。
【００４８】
また、例えばホスト１から出力されたコマンドがＣＭＤ１７であった場合、引数にはその読み出したいアドレスが格納される（図中、Data address）。上記コマンドがホスト１からメモリカード２へと出力され、これに対し、メモリカード２側からホスト１側へと必要であればデータの出力を行う。このホスト１からコマンドが出力されてから、そのコマンドに応答してメモリカード２がホスト１にデータを出力するタイミングまでの期間において、下記動作がメモリカード２内で実行される。
【００４９】
＜メモリカード２の動作＞  
次に、ホスト１から読み出し要求があった際の、上記メモリカード２の動作全体について図６を用いて説明する。図６に、ホスト１から例えばＣＭＤ１７が送信され、これに対しメモリカード２がデータをホスト１側へ出力するまでの期間に該メモリカード２が実行するフローチャートを示す。
【００５０】
まず、ＭＰＵ１２がホスト１から読み出し要求、すなわちＣＭＤ１７またはＣＭＤ１８を受け取ると（ステップＳ０、ＹＥＳ）、ＭＰＵ１２はホスト１から受け取った読み出したいデータのアドレスを確認する（Ｓ１）。
【００５１】
そして、ＭＰＵ１２はそのアドレスに基づき、ＲＡＭ１４の検査対象アドレステーブル２５を参照し、ホスト１から受け取った上記アドレスを含むｉ番目（０≦ｉ≦２９、ｉ：実数）のＺｏｎｅｉを検索する（Ｓ２）。
【００５２】
そしてＭＰＵ１２は、ステップＳ２で検索したＺｏｎｅｉに対応するブロックＢＬＫｎ（０≦ｎ≦５１１、ｎ：実数）、及び該ブロックＢＬＫｎに対応するページＰＧｌ（０≦ｌ≦１２７、ｌ：実数）からデータを読み出し、該データに対しＥＣＣ訂正を実行させる（Ｓ３）。
【００５３】
そして、ＭＰＵ１２は、ステップＳ３においてページＰＧｌに対するＥＣＣ回路１６による誤り訂正の結果得られる誤読み出しの発生率を、予め定められたある閾値と比較する。そして発生率が閾値以上であった場合（Ｓ４、ＹＥＳ）、ＭＰＵ１２はそのページＰＧｌに対応するブロックＢＬＫｎにリフレッシュ動作を実行する（Ｓ５）。つまり、ブロックＢＬＫｎを、Ｚｏｎｅｉにおける別の空きブロックＢＬＫｎにコピーし、そのコピー元のブロックＢＬＫｎを新たな空きブロックＢＬＫとして登録し、そのコピー先のブロックＢＬＫｎに対応する論理アドレスをＲＡＭ１４上の論理アドレス・物理アドレス変換テーブルに書込む（Ｓ６）。
【００５４】
そして、ＭＰＵ１２は、その検査対象アドレスとなったブロックＢＬＫｎが５１２番目の論理アドレスであった場合（Ｓ７、ＹＥＳ）、該ブロックＢＬＫｎの論理アドレスを１ビットだけインクリメントし先頭アドレスに戻す（Ｓ８）と同時に、ページＰＧｌの論理アドレスを１ビットだけインクリメントさせる（Ｓ９）。そして、検査対象アドレスとなったブロックＢＬＫｎが５１２番目の論理アドレスでない場合（Ｓ７、ＮＯ）、ブロックＢＬＫｎの論理アドレスを１ビットだけインクリメントする（Ｓ１０）。つまり、ブロックＢＬＫｎからブロックＢＬＫ（ｎ＋１）とする。
【００５５】
なお、ステップＳ４において、ページＰＧｌに対するＥＣＣ回路１６による誤り訂正の結果、誤読み出しの発生率が閾値以上でなかった場合（Ｓ４、ＮＯ）、リフレッシュ動作をせずにステップＳ７へ進む。
【００５６】
そしてＭＰＵ１２は、ホスト１から受け取ったアドレスに対応するメモリセルのデータをホスト１へと出力すべく、該アドレスに対応するメモリセルに対しＥＣＣ訂正を実行する（Ｓ１１）。ステップＳ１１でＥＣＣ回路１６による誤り訂正の結果、誤読み出しの発生率が閾値以上であった場合（Ｓ１２、ＹＥＳ）、ＭＰＵ１２はそのメモリセルにシフトリードを実行する（Ｓ１３）。ここでシフトリードとは、メモリセルからデータを正常に読み出せない場合に、該メモリセルの閾値を変更して、該メモリセルが保持する正しいデータを読めるようにする動作である。その後、シフトリードを実行した後、ＭＰＵ１２は正しく読めるようになったメモリセルのデータをホスト１へと出力する（Ｓ１４）。また、ステップＳ１２において、ＥＣＣ回路１６による誤り訂正の結果、誤読み出しの発生率が閾値よりも低かった場合（Ｓ１２、ＮＯ）、シフトリードを実行せず、そのデータをホスト１に出力する（Ｓ１４）。
【００５７】
＜検査対象アドレステーブル２５に対するインクリメント動作について（その１）＞  
次に上記ステップＳ８において、ＲＡＭ１４内の検査対象アドレステーブル２５のブロックＢＬＫｎの論理アドレスをインクリメントする動作について図７（ａ）及び（ｂ）を用いて説明する。
【００５８】
図７（ａ）は、ホスト１からの読み出し要求がある前の検査対象アドレステーブル２５によって指定される検査対象ページを示す。図示するように検査対象ページは、ブロックＢＬＫｎのページＰＧｌである。ここで、特にＺｏｎｅについて指定はしないが、仮にＺｏｎｅｉとする。
【００５９】
そして図７（ｂ）は、その後、読み出し要求がホスト１からあった後の検査対象アドレステーブル２５によって指定される検査対象ページを示す。図示するように検査対象ページは、ブロックＢＬＫ（ｎ＋１）のページＰＧｌに変更されている。
【００６０】
つまり、ホスト１からＣＭＤ１７又はＣＭＤ１８を受け取ると、ＭＰＵ１２は、ホスト１がその読み出したいアドレスを含むＺｏｎｅを検索し、その該当するＺｏｎｅのブロックＢＬＫｎの論理アドレスだけを１ビットだけインクリメントする。すなわち、当該Ｚｏｎｅにおける検査対象ページが更新される。よって次にホスト１から当該Ｚｏｎｅｉに対して読み出し要求があった際、ブロックＢＬＫ（ｎ＋１）のページＰＧｌが検査対象とされる。
【００６１】
次に、上記ステップＳ７乃至Ｓ９において、ＲＡＭ１４内の検査対象アドレステーブル２５のブロックＢＬＫｎの論理アドレス、またはブロックＢＬＫｎ及びページＰＧｌの両方の論理アドレスをそれぞれインクリメントする動作について図８（ａ）及び図８（ｂ）を用いて説明する。
【００６２】
図８（ａ）はホスト１からの読み出し要求がある前の検査対象アドレステーブル２５によって指定される検査対象ページを示す。図示するように検査対象ページは、ブロックＢＬＫ５１１のページＰＧｌである。上記同様、特にＺｏｎｅについて指定はしないが、仮にＺｏｎｅｉとする。
【００６３】
そして図８（ｂ）は、その後、読み出し要求がホスト１からあった後の検査対象アドレステーブル２５によって指定される検査対象ページを示す。図示するように検査対象ページは、先頭アドレスへと戻りブロックＢＬＫ０のページＰＧ（ｌ＋１）に変更されている。
【００６４】
つまり、上述したようにホスト１からＣＭＤ１７又はＣＭＤ１８を受け取ると、ＭＰＵ１２は、ホスト１がその読み出したいアドレスを含むＺｏｎｅを検索し、その該当するＺｏｎｅの論理ブロックアドレスが最終アドレスであると（ここでは５１２番目のアドレス）、検査対象ブロックを、ブロックＢＬＫ５１１からブロックＢＬＫ０に戻す。そして、次にホスト１から当該Ｚｏｎｅｉに読み出し要求があった際、図８（ｂ）に示すブロックＢＬＫ０のページＰＧ(ｌ＋１)が検査対象ページとなる。
【００６５】
＜書き込み動作について＞  
次に、ホスト１からメモリカード２へとデータの書き込み要求（ＣＭＤ２４）があった場合のＲＡＭ１４に格納された検査対象アドレステーブル２５のデータに対する該メモリカード２の動作について図９を用いて説明する。図９は、メモリカード２の動作を示すフローチャートである。なお、ホスト１から書き込み要求があった際、ホスト１が指定したアドレスにデータを書き込む動作については省略する。
【００６６】
図９に示すように、ホスト１からメモリカード２に対してデータの書き込み要求があると（ステップＳ２０、ＹＥＳ）、ＭＰＵ１２はＲＡＭ１４に格納されている検査対象アドレステーブル２５のデータを、システムデータ領域２１に書き戻す（Ｓ２１）。つまり、システムデータ領域２１に上記検査対象アドレステーブル２５のデータを上書きする。また、ＭＰＵ１２は、ホスト１から書き込み要求が無ければ、ＲＡＭ１４の検査対象アドレステーブル２５のデータをシステムデータ領域２１に格納はしない。
【００６７】
＜本実施形態に係る効果＞  
本実施形態に係るメモリコントローラであると、ＲＡＭ１４の消費容量を低減しつつ、リードディスターブを抑制することが出来る。以下、従来のメモリコントローラと比較しつつ説明する。
【００６８】
従来のメモリコントローラであると、リードディスターブ防止のため、ＭＰＵ１２はブロックＢＬＫ毎に読み出し回数を管理していた。つまり、ある一定の読み出し回数を超えたら、それに該当するブロックＢＬＫは以後使用しないものとする。このようにして、誤読み出しを防止していた。このため、例えばリードカウンタを用いて、１つのＺｏｎｅを構成する各々の５１２個のブロックＢＬＫに行ったデータの読み出しの回数を管理していた。つまり、ＲＡＭ１４はブロックＢＬＫ毎に、読み出し回数を保持するだけの容量が必要とされた。そして、このＺｏｎｅは、メモリ６内に例えば３０個形成されるとすると、１つのＺｏｎｅ当たり、５１２ブロック×１６（ｂｉｔ）＝１０２４ｂｙｔｅであることから、約３０Ｍｂｙｔｅに容量を必要とした。このような問題に加え、近年、メモリセルの微細化とそれに伴う容量の増加により、上記管理方法ではＲＡＭ１４の容量に限界があった。
【００６９】
この点、本実施形態に係るメモリコントローラであると、上記問題を解決することが出来る。つまり、ＲＡＭ１４で使用される容量を低減しつつ、リードディスターブを抑制させることができる。
【００７０】
前述説明したように、本実施形態に係るメモリコントローラであると、ＲＡＭ１４が管理または保持するデータは、ブロックＢＬＫ毎の読み出し回数ではなく、検査対象アドレステーブル２５のデータである。すなわち、Ｚｏｎｅ毎に、現在どのブロックＢＬＫのどのページＰＧが検査対象とされているかを示す２バイトのアドレスさえ保持できればよい。つまり、各ブロックＢＬＫ、及び各ページＰＧはそれぞれ１バイトで表現されることから、１つのＺｏｎｅ当たり、２バイトで表現される。これにより、フラッシュメモリ６内に例えば３０個のＺｏｎｅが形成されていたとすると、全体で２バイト×３０Ｚｏｎｅ＝６０バイトの容量で済む。そして、この検査対象とされるブロックＢＬＫ及びそのブロックＢＬＫにおけるページＰＧの論理アドレス値は、ホスト１からの読み出し要求の度に更新されていく。つまり、全てのＺｏｎｅのブロックＢＬＫ及びページＰＧに対し万遍なくＥＣＣ訂正を実行することができるため、ＲＡＭ１４のメモリ使用容量を低減させ、またデータ読み出し時におけるリードディスターブを抑制させることが出来る。
【００７１】
[第２の実施形態]  
次に本発明の第２の実施形態に係るメモリシステムについて説明する。上記第１の実施形態では、ホスト１から、例えばＣＭＤ１７やＣＭＤ１８などの読み出しコマンドがある度に、検査対象アドレステーブル２５のブロックＢＬＫの論理アドレス、またはそのブロックＢＬＫとそれに対応するページＰＧとの両方の論理アドレスを１ビットインクリメントしていた。そして、ホスト１から書き込み要求があった場合、その検査対象アドレステーブル２５の値をシステムデータ領域２１に格納していた。
【００７２】
これに対し、本実施形態は、メモリカード２がオン状態とされる度に、検査対象アドレステーブル２５のブロックＢＬＫとそれに対応するページＰＧの論理アドレスをそれぞれ１ビットずつインクリメントするものである。本実施形態に係るメモリコントローラ２は、特に書き込み要求がなく、読み出し要求の多いホスト１を想定している。具体的な例で言えば、ゲーム機器がホスト１に当たる。以下、上記第１の実施形態と重複する構成については説明を省略する。
【００７３】
図１０を用いて第２の実施形態で説明したＲＡＭ１４の内部構成について説明する。図１０は本実施形態に係るメモリカード２が備えるＲＡＭ１４の内部構成を示し、該ＲＡＭ１４が検査対象アドレステーブル２５と回数データ３１とを備えた様子である。
【００７４】
図示するように本実施形態に係るＲＡＭ１４は検査対象アドレステーブル２５用のデータの他、回数データ３１を保持可能とする。この回数データ３１は、ＳＤインタフェース１１により外部から電源供給があった回数である。ＭＰＵ１２は、メモリカード２への電源投入を検知することが出来る。これは、例えばＳＤインタフェース１１におけるコマンドＡＣＭＤ４１の受信によって可能である。そして、ＭＰＵ１２は電源投入を検知すると、システムデータ領域２１から回数データ３１を読み出し、ＲＡＭ１４に格納する。そしてＭＰＵ１２、回数データ３１の値をカウントアップする。そして、ＭＰＵ１２は、この回数データ３１の値に応じて、検査対象アドレステーブル２５を生成する。つまり、本実施形態に係る検査対象アドレステーブル２５は、システムデータ領域２１から読み出されて格納されるのではなく、電源投入の度に、ＭＰＵ１２によって、上記回数データ３１の値に基づいて生成される。なお、メモリカード２に電源が供給されなくなると同時に、ＲＡＭ１４に格納された検査対象アドレステーブル２５のデータは初期化される。
【００７５】
また検査対象アドレステーブル２５は上記第１の実施形態で説明した要素を備える。つまり、検査対象アドレステーブル２５は例えば３０個のＺｏｎｅの各々につき、いずれかのブロックＢＬＫにおけるいずれのページＰＧが検査対象となるかを示す情報を備える。
【００７６】
＜検査対象アドレステーブル２５に対するインクリメント動作について（その２）＞  
次に、上記ＲＡＭ１４が保持する検査対象アドレステーブル２５の各ＺｏｎｅにおけるブロックＢＬＫ及びページＰＧのインクリメント動作について図１１（ａ）〜図１１（ｇ）を用いて説明する。ここでは、ＳＤインタフェース１１により外部から電源供給があり、メモリカード２がオン状態とされ、その後メモリ６が保持するデータの読み出し要求があった場合を想定する。なお、上記第１の実施形態と同様に、ＣＭＤ１７またはＣＭＤ１８がホスト１により出力されると、ＭＰＵ１２は検査対象アドレステーブル２５を参照して、ＥＣＣ回路１６に該当ページＰＧの誤り訂正を実行させる。すなわち、読み出したいデータに対しステップＳ１１〜ステップＳ１４までの動作を実行する。
【００７７】
＜図１１（ａ）＞  
まず、図１１（ａ）を用いて説明する。まずメモリカード２に電源が供給された際、ＭＰＵ１２は、検査対象アドレステーブル２５の各ＺｏｎｅにおけるブロックＢＬＫ及びページＰＧはそれぞれ先頭アドレスとする（図中０ｘ００：“０ｘ”は、以降の数字が１６進数であることを示す）。換言すれば、電源投入を受けてＭＰＵ１２は、全ての値が初期値‘０ｘ００’とされた検査対象アドレステーブル２５を生成する。これを初期状態とする。
【００７８】
＜図１１（ｂ）＞  
次に、図１１（ｂ）に示すように、ＳＤインタフェース１１によりメモリカード２がオン状態となったことを検知すると、ＭＰＵ１２はシステムデータ２１が保持する回数データ３１のデータをＲＡＭ１４上に展開し、該回数データ３１のカウント値を＋１インクリメントする。なお、メモリカード２に電源が入る前は回数データ３１の値はゼロであったとする。するとＭＰＵ１２は、外部から電源投入を検知して、回数データ３１の値を‘１’とする。そして、ＭＰＵ１２は、検査対象アドレステーブル２５における、各ＺｏｎｅのブロックＢＬＫの論理アドレスを、それまでの先頭アドレスから１ビットだけインクリメントする（図中、０ｘ０１）。つまり、ＭＰＵ１２は、電源投入時には、回数データ３１に等しい数だけ、検査対象アドレステーブル２５のブロックアドレスを、インクリメントする。
【００７９】
＜図１１（ｃ）＞  
そして、ホスト１からメモリカード２にデータの読み出し要求があったとする。すなわち、ホスト１からＣＭＤ１７（ＳＤインタフェースにおける読み出し要求）が転送されてきたとする。ここで、読み出したいアドレスを「Address A」とする。ここではこのアドレスは、先頭アドレスから３番目のＺｏｎｅに含まれているものとする。このため、上記説明したようにＭＰＵ１２は３番目のアドレスであるＺｏｎｅにおける、２番目のアドレスのブロックＢＬＫ（０ｘ０１）、及びそのブロックＢＬＫ（０ｘ０１）における先頭アドレスのページＰＧ（０ｘ００）を検査対象アドレスとしてＥＣＣ回路１６に誤り訂正を実行させる。その後、図１１（ｃ）に示すように該当するＺｏｎｅのブロックＢＬＫの論理アドレスを１ビットだけインクリメントする（図中、０ｘ０２）。
【００８０】
＜図１１（ｄ）＞  
図１１（ｄ）に示すようにホスト１からメモリカード２に対して再度ＣＭＤ１７が転送されてきたとする。ここで、読み出したいアドレスを「Address B」とする。この場合においてもこのアドレスは、先頭アドレスから３番目のＺｏｎｅに含まれているものとする。このため、ＭＰＵ１２は、図１１（ｃ）と同様に３番目のＺｏｎｅにおけるブロックＢＬＫの論理アドレスを１ビットだけインクリメントさせる（図中、０ｘ０３）。
【００８１】
＜図１１（ｅ）＞  
更に、図１１（ｅ）に示すようにホスト１からメモリカード２に対してＣＭＤ１７が転送されてきたとする。ここで、読み出したいアドレスを「Address C」とする。ここでは、このアドレスは先頭アドレスから４番目のＺｏｎｅに含まれているものとする。このため、ＭＰＵ１２は、ＥＣＣ回路１６による誤り訂正後、図１１（ｃ）、（ｄ）と同様に４番目のＺｏｎｅにおけるブロックＢＬＫの論理アドレスを１ビットだけインクリメントさせる（図中、０ｘ０２）。
【００８２】
＜図１１（ｆ）＞  
そして、図示するようにメモリカード２に供給されていた電源がオフ状態とされると、ＲＡＭ１４上に構築されていた検査対象アドレステーブル２５のデータが初期化される。すなわち、検査対象アドレステーブル２５が保持するブロックＢＬＫの論理アドレス及びページＰＧの論理アドレスのデータが初期化され、それぞれ先頭アドレスに戻る（図中０ｘ００と表記）。つまり、図１１（ａ）に示す初期状態とされる。
【００８３】
＜図１１（ｇ）＞  
そして、再度メモリカード２がオン状態とされたことをＳＤインタフェース１１が検知すると、ＭＰＵ１２はシステムデータ領域２１に格納された、回数データ３１の値を、ＲＡＭ１４に読み出す。ここでシステムデータ領域２１に格納された回数データ３１の値は‘１’とされることから、ＲＡＭ１４に読み出されることで、このカウント値が＋１インクリメントされ、‘２’とされる。これにより、ＲＡＭ１４に展開される検査対象アドレステーブル２５は図１１（ｇ）のようになる。つまり、回数データ３１の値は‘２’であるから検査対象アドレステーブル２５におけるブロックアドレスは、‘２’だけインクリメントされる。その結果、全てのＺｏｎｅにつき、検査対象ブロックのブロックアドレス値が‘０ｘ０２’とされる。言い換えれば、電源投入を受けてＭＰＵ１２は、全ての値が初期値‘０ｘ００’とされた検査対象アドレステーブル２５を再度生成する。そして、回数データ３１を参照することによって、初期値を‘０ｘ０２’に更新する。
【００８４】
この後、ホスト１からＣＭＤ１７の要求があると、上記説明した図１１（ｃ）〜図１１（ｅ）のように該当するブロックＢＬＫ、またはブロックＢＬＫ、及びそのブロックＢＬＫにおけるページＰＧのアドレスがそれぞれ１ビットずつインクリメントされる。
【００８５】
以上の図１１（ａ）乃至図１１（ｇ）に示したように、あるブロックＢＬＫの論理アドレスが「００ｘ０」から「０ｘｆｆ」にまで達し、再度「００ｘ０」に戻るタイミングで、そのブロックＢＬＫにおけるページＰＧの論理アドレスが＋１ビットインクリメントされる。
【００８６】
＜本実施形態に係る効果＞  
本実施形態に係るメモリコントローラであっても、上記第１の実施形態と同様の効果を奏することが出来る。つまり、上記第１の実施形態では、ホスト１から書き込み要求のコマンド（ＣＭＤ２４）が出力されるタイミングでＲＡＭ１４が格納する検査対象アドレステーブル２５のデータがシステムデータ領域２１に格納されていた。これにより、メモリ６のメモリセル全体に対して満遍なくＥＣＣ訂正を実行することができた。
【００８７】
しかし、本実施形態のようにシステムデータ領域２１に回数データ３１を保持させることで、ホスト１から出力されるコマンドに書き込み要求が殆どなく、ＲＡＭ１４が格納する検査対象アドレステーブル２５が電源のオフと共に初期化される場合であっても、メモリ６のメモリセル全体に対して満遍なくＥＣＣ訂正を実行することができる。これは、ＲＡＭ１４に回数データ３１を保持させ、そのカウント値に応じて初期化された検査対象アドレステーブル２５のデータを生成することが出来るからである。
【００８８】
例え、電源がオフとされたとしても、回数データ３１に電源がオンした回数を持たせ、この値に応じて検査対象アドレステーブル２５のデータを生成することにより、初期化される前に近いデータを検査対象アドレステーブル２５に与えられることが出来る。これにより、例え書き込み要求のないホスト１にメモリカード２を挿入し、データの入出力をした時でさえ、ＲＡＭ１４が使用するデータの容量を低減させつつ、リードディスターブを抑制させることが出来る。
【００８９】
なお、上記第１、第２の実施形態に係るメモリコントローラでは、検査対象アドレステーブルのインクリメント方法を、論理アドレスに従ってインクリメントさせたが、物理アドレスに従ってインクリメントさせてもよい。つまり、各Ｚｏｎｅにおいて、ＥＣＣ回路１６によるＥＣＣ訂正がすべてのメモリセルに対し満遍なく実行されれば、ブロックＢＬＫ、及びそのブロックＢＬＫにおけるページＰＧがどのようにインクリメントされてもよい。
【００９０】
また、上記実施形態ではメモリシステム２の例として、ＳＤインタフェースを有するメモリカード、例えばＳＤメモリカードを例に挙げて説明した。しかし、ＳＤメモリカードに限らず、ＮＡＮＤ型フラッシュメモリと、それを制御するコントローラとを備えたシステムであれば、広く上記実施形態を適用出来る。また、メモリシステムが備える半導体メモリは、ＮＡＮＤ型フラッシュメモリ以外の、例えばＮＯＲ型フラッシュメモリ等の他のフラッシュメモリであっても良いし、または書き換え回数が動作信頼性に影響するメモリであれば、その他の半導体メモリであっても良い。
【００９１】
また、上記実施形態では検査対象ブロック及びページのアドレスをインクリメントする場合について説明したが、デクリメントする場合であっても良い。またその幅は１ビットでは無く２ビット以上であっても良い。
【００９２】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【符号の説明】
【００９３】
１…ホスト、２…メモリカード、３…ソフトウェア、４…ファイルシステム、５、１１…ＳＤインタフェース、６…メモリ、７…コントローラ、１２…ＭＰＵ、１３…ＲＯＭ、１４…ＲＡＭ、１５…ＮＡＮＤインタフェース、２１…システムデータ領域、２２…機密データ領域、２３…保護データ領域、２４…ユーザデータ領域、２５…検査対象アドレステーブル、３１…回数データ
【図１】
2011107851.tif 000003
【図２】
2011107851.tif 000004
【図３】
2011107851.tif 000005
【図４】
2011107851.tif 000006
【図５】
2011107851.tif 000007
【図６】
2011107851.tif 000008
【図７】
2011107851.tif 000009
【図８】
2011107851.tif 000010
【図９】
2011107851.tif 000011
【図１０】
2011107851.tif 000012
【図１１】
2011107851.tif 000013