(57)【特許請求の範囲】
【請求項１】
アドレス及びデータを入力する入力部と，
データ及びＦＡＴを記憶する記憶部と，
前記入力部に入力されたアドレスを表すビット列内の所定のビット数の第１，第２のビット列を入れ替えることで，前記アドレスを変換するアドレス変換部と，
前記アドレス変換部で変換されたアドレスに基づいて，前記記憶部にアクセスするアクセス部と，
前記ＦＡＴのフォーマットを検知する検知部と，
前記検知部による前記ＦＡＴのフォーマットの検知に基づいて，前記所定のビット数を変更する変更部と，
を具備する半導体記憶装置。
【請求項２】
前記検知部は，比較アドレス保存部，比較データ保存部，アドレス確認部，データ確認部から構成され，
前記アドレス確認部は，前記入力部に入力されたアドレスと，前記比較アドレス保存部に記憶されているアドレスとが，一致するか否かを確認し，
前記データ確認部は，前記入力部に入力されたデータと，前記比較データ保存部に記憶されているデータとが，一致するか否かを確認し，
前記アドレス確認部がアドレスの一致を確認し，かつ前記データ確認部がデータの一致を確認した場合に，前記探知部が前記ＦＡＴのフォーマットがなされたと判断することを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記第１のビット列は，前記アドレスを表すビット列の最下位のビットから数えて前記所定のビット数までの範囲であり，
前記第２のビット列は，前記アドレスを表すビット列の最上位のビットから数えて前記所定のビット数の範囲であることを特徴とする請求項１または２に記載の半導体装置。
【請求項４】
前記比較アドレス部に複数のアドレスが記憶され，
前記アドレス確認部は，前記入力部に入力されたアドレスと，前記比較アドレス部に記憶された複数のアドレスを全て比較し，一致するか否かを確認し，
前記データ確認部は，前記比較アドレス確認部によって一致したアドレスに存在するデータと，前記比較データ部に記憶されているデータを全て比較し，全てが一致した場合に，前記探知部が前記ＦＡＴのフォーマットがなされたと判断することを特徴とする
請求項２記載の半導体記憶装置。
【請求項５】
アドレスを入力するステップと，
前記入力されるアドレスを表すビット列内の所定のビット数の第１，第２のビット列を入れ替えることで，前記アドレスを変換するステップと，
前記変換されたアドレスに基づいて，データ及びＦＡＴを記憶する記憶部にアクセスするステップとを具備し，
前記所定のビット数は，前記ＦＡＴのフォーマットの検知に基づいて，変更される
ことを特徴とする半導体記憶装置の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，半導体記憶装置およびその動作方法に関する。
【背景技術】
【０００２】
近年様々な機器がメモリカードに対応してきている。例えば，携帯電話では，カメラ撮影画像，音楽，映像の保存，内蔵メモリのバックアップ等にメモリカードが利用される。また，メモリカードの大容量化が進んでいる。既にＤＶＤ以上の容量である８ＧＢのメモリカードが発売されており，さらに今後も１６ＧＢ，３２ＧＢの大容量化が進められている。大容量のメモリカードに，種々のユーザデータ（例えば，個人撮影の画像データ，著作権保護の音楽データや映像データ，個人情報）が保存される。
【０００３】
メモリカード内の全ユーザデータを消去する場合，一般に，フォーマットが利用される。フォーマットには，フルフォーマットとクイックフォーマットの２つがある。フルフォーマットでは，メモリカード内の全ユーザデータ自体が消去される。一方，クイックフォーマットでは，ユーザデータのファイルシステムを管理する領域（例えば，ＦＡＴ１領域）のデータを消去することで，ユーザデータへのアクセスを不能とする。この結果，ユーザデータ自体が消去されたと同様の効果がもたらされる。
【０００４】
大容量のメモリカードのフルフォーマットには大幅な時間を要することから，クイックフォーマットが用いられることが多く，ユーザもクイックフォーマットを選択することが多い。また，クイックフォーマットしか対応していないホスト機器もある。
【０００５】
クイックフォーマットでは，ユーザデータそのものはメモリカード内に残っていることから，ユーザデータを読み出すことが可能である。例えば，メモリカードのデータを誤って消去してしまった場合に，消去したデータを復元するソフトウエアが販売されている。
【０００６】
なお，記録媒体に記録されたデータ等の無用な流出を防止するため，データを暗号化し，指定されたアドレスをアドレス変換し，変換されたアドレスを用いてデータを記録する技術が開示されている（特許文献１参照）。
【０００７】
しかし，データを暗号化した場合であっても，データをそのまま取り出せれば，暗号を解析することで，データの復号ができる可能性がある。
【特許文献１】特開２００４−１５２４４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記に鑑み，本発明は，フォーマット前に記録されたデータのフォーマット後の読み出しの防止が図られた半導体記憶装置およびその動作方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一態様に係る半導体記憶装置は，アドレス及びデータを入力する入力部と，データ及びＦＡＴを記憶する記憶部と，前記入力部に入力されたアドレスを表すビット列内の所定のビット数の第１，第２のビット列を入れ替えることで，前記アドレスを変換するアドレス変換部と，前記アドレス変換部で変換されたアドレスに基づいて，前記記憶部にアクセスするアクセス部と，前記ＦＡＴのフォーマットを検知する検知部と，前記検知部による前記ＦＡＴのフォーマットの検知に基づいて，前記所定のビット数を変更する変更部と，を具備する。
【００１０】
本発明の一態様に係る半導体記憶装置の動作方法は，アドレスを入力するステップと，前記入力されるアドレスを表すビット列内の所定のビット数の第１，第２のビット列を入れ替えることで，前記アドレスを変換するステップと，前記変換されたアドレスに基づいて，記憶部にアクセスするステップとを具備し，前記所定のビット数は，前記記憶部のフォーマットの検知に基づいて，変更されることを特徴とする。
【発明の効果】
【００１１】
本発明によれば，フォーマット前に記録されたデータのフォーマット後の読み出しの防止が図られた半導体記憶装置およびその動作方法を提供できる。
【発明を実施するための最良の形態】
【００１２】
以下，図面を参照して，本発明の実施の形態を詳細に説明する。
（第１の実施の形態）
図１は，本発明の第１実施形態に係るメモリシステム１００を表すブロック図である。メモリシステム１００は，半導体メモリカード１０１(以下メモリカードと略称する)と，ホスト機器１３０を有する。
【００１３】
メモリカード１０１はインタフェース用信号端子部１０２，ＮＡＮＤメモリ１０３，プロセッサモジュール１０４を有する。
【００１４】
インタフェース用信号端子部１０２は，メモリカード１０１内に配置され，９つの信号端子，即ち，クロック端子ＣＬＫ，コマンド端子ＣＭＤ，データ端子ＤＡＴ０〜ＤＡＴ３，電源端子ＶＤＤ，２つのグランド端子ＧＮＤを有する。コマンド端子ＣＭＤは，コマンドの転送と，このコマンドに対するレスポンスの転送のための端子である。インタフェース用信号端子部１０２は，アドレスを入力する入力部として機能する。
【００１５】
ＮＡＮＤメモリ１０３は，データを記憶する不揮発性のメモリであり，データを記憶する記憶部として機能する。ＮＡＮＤメモリ１０３の記憶領域は，管理データ領域１０５，セキュリティ領域１０６，ユーザ領域１０７に区分される。
【００１６】
管理データ領域１０５は，主にメモリカード１０１に関する情報（例えば，メモリカード１０１のセキュリティ情報やメディアＩＤなどのカード情報）を格納するための領域である。メディアＩＤとはメモリカード１０１を識別するために，メモリカード１０１毎に割り当てられた，例えば，６４ビットのデータである。
【００１７】
セキュリティ領域１０６は，機密データを格納するための領域であり，メモリカード１０１とホスト機器１３０間でのカード識別処理により，ホスト機器１３０の正当性が証明された場合にのみアクセス可能となる。
【００１８】
ユーザ領域１０７は，ユーザデータ（例えば，画像データや音楽データ）を保存するために，ユーザによって利用される領域である。なお，ユーザ領域１０７はセクタ単位でアクセスされる。即ち，セクタとは，ホスト機器１３０がメモリカード１０１にアクセス可能な最小単位である。メモリカード１０１がＳＤメモリカードの場合，１セクタは５１２バイトである。
【００１９】
ユーザ領域１０７は，パーティションテーブル領域１０８，ブートセクタ領域１０９，ＦＡＴ（file allocation table）１領域１１０，ＦＡＴ２領域１１１，ルートディレクトリ領域１１２，ユーザデータ領域１１３に区分される。この区分は，ユーザ領域１０７でデータをファイルとして扱うために，ＦＡＴファイルシステムを利用していることに対応する。
【００２０】
パーティションテーブル領域１０８は，論理ディスクの各パーティションの開始セクタの番号などの情報を格納する。
ブートセクタ領域１０９は，論理ディスクのパラメータである１クラスタを構成するセクタ数，１セクタを構成するバイト数などの情報を格納する。
【００２１】
ＦＡＴ１領域１１０は，データを構成するクラスタの順番（以下クラスタチェーンと呼ぶ）の情報を格納する。
ＦＡＴ２領域１１１には，ＦＡＴ１領域１１０が壊れた場合のバックアップとして，ＦＡＴ１領域１１０と同じデータを格納する。
【００２２】
ルートディレクトリ領域１１２は，ルートディレクトリのディレクトリエントリ情報を格納する。なお，ディレクトリエントリ情報は，ファイルの名称，ファイルの拡張子，ファイルのサイズ，開始クラスタ番号などを含む，例えば，３２バイトのデータである。
ユーザデータ領域１１３は，ユーザデータを格納する。
【００２３】
メモリカード１０１がクイックフォーマットされる場合，通例，ＦＡＴ１領域１１０，ＦＡＴ２領域１１１（場合により，ルートディレクトリ領域１１２も）が初期状態に戻される。例えば，ＦＡＴ１領域１１０，ＦＡＴ２領域１１１の値を初期値とし，ルートディレクトリ領域１１２内のデータすべてが「０」に書き換えられる。即ち，フォーマット時には，ユーザ領域１０７の特定の領域（特定のアドレス）に特定のデータが書き込まれる。後述のように，特定のアドレスへの特定のデータの書き込みを検知することで，メモリカード１０１へのフォーマット処理を検知できる。
【００２４】
プロセッサモジュール１０４は，コントローラ１１４，ＲＯＭ１１５，ＳＲＡＭ１１６，メモリインタフェース１１７，ＩＯインタフェース１１８，データ確認部１１９，アドレス確認部１２０，論理アドレス生成部１２１，論理アドレス保存部１２２，比較アドレス保存部１２３，比較データ保存部１２４から構成される。
【００２５】
コントローラ１１４は，メモリカード１０１の主制御部として機能し，以下を処理する。
・フォーマットの検知（コントローラ１１４は，記憶部のフォーマットを検知する検知部として機能する。なお，この検知には，データ確認部１１９，アドレス確認部１２０，論理アドレス保存部１２２，比較アドレス保存部１２３が利用される）
・アドレス変換の規則の変換（コントローラ１１４は，アドレス変換部での変換の規則を変更する変更部として機能する。なお，論理アドレス保存部１２２に保存される値の変更により，変換の規則が変更される。）
【００２６】
ＲＯＭ（Read Only Memory）１１５は，コントローラ１１４を制御する制御プログラムを格納する。
ＳＲＡＭ（Static Random Access Memory）１１６は，コントローラ１１４によって，ワーク・バッファメモリとして使用される。
メモリインタフェース１１７は，ＮＡＮＤメモリ１０３にデータを書き込み，読み出す。即ち，メモリインタフェース１１７は，記憶部にアクセスするアクセス部として機能する。
ＩＯインタフェース１１８は，インタフェース用信号端子部１０２と接続され，メモリカード１０１とホスト機器１３０とのデータのやり取りを仲介する。
【００２７】
論理アドレス生成部１２１は，リードコマンドもしくはライトコマンド受信時に入力されたアドレスを変換し，データの読み出し／書き込みをする論理アドレス値を生成する。即ち，論理アドレス生成部１２１は，アドレスを変換するアドレス変換部として機能する。この変換に，論理アドレス保存部１２２に保存された値が用いられる。なお，この詳細は後述する。
【００２８】
論理アドレス保存部１２２は，論理アドレスを生成するためのデータ（アドレス変換の規則），例えば，論理アドレス生成部１２１が入れ替えるビット数を保存する。このデータ（アドレス変換の規則）は，フォーマットが検知された場合（アドレス確認部１２０およびデータ確認部１１９の双方で一致が確認された場合）に変更される。なお，この詳細は後述する。
【００２９】
比較アドレス保存部１２３，比較データ保存部１２４，アドレス確認部１２０，データ確認部１１９は，特定のアドレスへの特定のデータの書き込み，即ち，フォーマット処理を検知するために利用できる。
【００３０】
アドレス確認部１２０は，リード／ライトコマンドの引数により設定された，例えば，３２ビットのアドレス値と，比較アドレス保存部１２３に保存しているアドレス値とが，一致するか否かを確認する。
【００３１】
データ確認部１１９は，ライトコマンドにて書き込まれるデータと，比較データ保存部１２４に格納されているデータとが，一致するか否かを確認する。
【００３２】
比較アドレス保存部１２３は，特定のアドレス値（例えば，ＦＡＴ１領域１１０の先頭アドレス）を保存する。このアドレス値は，メモリカード１０１の製造元によって設定される。
【００３３】
比較データ保存部１２４は，特定の連続データ（例えば，ＦＡＴ１領域１１０の１セクタ分の初期値（例えば，５１２バイト分のすべて０の値））を保存する。この連続データは，メモリカード１０１製造元によって設定される。連続データを１セクタとしたのは，メモリカード１０１にアクセス可能な最小単位に対応させたことによる。但し，連続データのデータ量を１セクタより小さくしたり，大きくしたりしても良い。
【００３４】
ホスト機器１３０は，パーソナルコンピュータ等のデジタル機器であり，カードインタフェース１３４，ＣＰＵ１３１，システムメモリ１３２，ディスク記憶装置１３３を有する。カードインタフェース１３４は，メモリカード１０１が装着可能なインタフェースである。ＣＰＵ(Central Processing Unit)１３１は，ホスト機器１３０の制御中枢をなす。システムメモリ１３２は，ＲＡＭ等で構成され，ＣＰＵ１３１によって利用される。
【００３５】
（アドレス変換の詳細）
論理アドレス生成部１２１でのアドレス値生成（アドレス変換）の詳細を説明する。
図２は，論理アドレス生成部１２１でのアドレス変換の例を示す。入力されるアドレスの上位ビット（第１のビット列）と下位ビット（第２のビット列）を入れ替えることで，論理アドレスが生成される。このとき，上位ビットと下位ビットのビット数（入れ替えるビット列）は，論理アドレス保存部１２２に保存される値で規定される。
【００３６】
この例では，論理アドレス生成部１２１にアドレス「０ｘ００００＿０６００」が入力され，入れ替えるビット数を１０としている。入力アドレスの上位１０ビット「００００００００００」と下位１０ビット「１０００００００００」が入れ替えられる。その結果，上位１０ビットが「１０００００００００」で，下位１０ビットが「００００００００００」の論理アドレス「０ｘ８０００＿０４００」が生成される。なお，ここでは，３２ビットのアドレス値を「０ｘ上位１６ビット＿下位１６ビット」と１６進数を用いて表記する。「０ｘ」は，１６進数表記を意味する記号である。「＿」は１６ビットの区切りを表す記号である。
【００３７】
図３は，変換前アドレスと，変換後アドレスの対応関係の一例を表す図である。変換前アドレスは，ユーザがアクセスしようとするアドレス，即ち，メモリカード１０１の外部からの見かけの上のアドレス（外部アドレス）である。変換後アドレスは，ユーザ領域１０７内でアクセスされるアドレス，即ち，メモリカード１０１内部での実際のアドレス（内部アドレス）である。
【００３８】
本図では，ユーザ領域１０７内の４つの連続した領域にデータを書き込む場合を想定している。この場合，これらの領域の先頭アドレス（「０ｘ００００＿００００」，「０ｘ００００＿０２００」，「０ｘ００００＿０４００」，「０ｘ００００＿０６００」）を引数としてライトコマンドが発行される。これらの先頭アドレスが，アドレス変換され，内部アドレスが決定される。ここでは，入れ替えるビット数を１０として，先頭アドレスが「０ｘ００００＿００００」，「０ｘ８０００＿００００」，「０ｘ００００＿０４００」，「０ｘ８０００＿０４００」に変換されている。このように，アドレス変換の結果，本来は連続するデータが分散して配置されている。
【００３９】
（アドレス変換の規則の変更の詳細）
既述のように，フォーマットが検知されると，論理アドレス保存部１２２に保存される値（入れ替えるビット数）が変更される。一例として，フォーマットが検知される毎に，論理アドレス保存部１２２に保存されるビット数の値が次のように順に変更される。
「０」→「１０」→「１１」→「１２」→「１３」→「１４」→「１５」→「１６」→「０」→…
【００４０】
この例では，基本的に，現在保存されている値に１が加算（＋１）されている。
この例では，ビット数の値として，「１」〜「９」が用いられていない。これは，変更後のアドレスをＮＡＮＤメモリ１０３の各セクタの先頭アドレスに対応させたためである。本実施形態では，ＮＡＮＤメモリ１０３のデータの1バイト毎にアドレスが割り振られる一方，データの読み書きの単位が１セクタ（５１２バイト）とする。このとき，アドレスの下位の９ビットは，セクタ同士の識別には用いられない。アドレスの下位から１０ビット目以降がセクタの識別のために用いられる（２１０＝５１２）。
また，値「１６」に１が加算された時は値「０」に変更される。この例でのアドレスが３２ビットであり，入れ替える上下のビットの範囲が重ならないようにしたためである。
【００４１】
図２の例で，入れ替えるビット数が「１１」に変更された場合，アドレス「０ｘ００００＿０６００」が入力されると，上位１１ビット「０００００００００００」と下位１１ビット「１１０００００００００」が入れ替えられる。その結果，上位１１ビットが「１１０００００００００」で，下位１１ビットが「０００００００００００」の論理アドレス「０ｘＣ０００＿００００」が生成される。
【００４２】
（メモリシステム１００の動作）
ホスト機器１３０がメモリカード１０１内のユーザ領域１０７にアクセスする（データを書き込みまたは読み出す）場合の動作手順を説明する。
【００４３】
Ａ．メモリカード１０１からのデータの読み出し
第４図のフローチャートを用いて，本実施形態におけるホスト機器１３０がメモリカード１０１内のユーザ領域１０７からデータを読み出す場合について説明する。
【００４４】
（１）メモリカード１０１の識別処理（ステップＳ１１）
メモリカード１０１とホスト機器１３０間でカード識別処理がなされ，メモリカード１０１がアクセス可能な状態となる。例えば，次の場合に，カード識別処理が開始される。
・電源が投入されたホスト機器１３０のカードインタフェース１３４にメモリカード１０１が挿入された場合
・メモリカード１０１が装着されたホスト機器１３０の電源が投入された場合
【００４５】
（２）読み出し（リード）コマンドの送受信（ステップＳ１２）
ホスト機器１３０は，リードコマンドの引数にアドレス，例えば，「０ｘ００００＿０６００」を設定してメモリカード１０１へ送信し，メモリカード１０１はこのリードコマンドを受信する。メモリカード１０１のユーザ領域１０７のアドレス「０ｘ００００＿０６００」から1セクタ分のデータを読み出すためである。一般に，リードコマンド（および後述のライトコマンド）によって，ＦＡＴ１領域１１０，ＦＡＴ２領域１１１，ルートディレクトリ領域１１２，ユーザデータ領域１１３へのアクセス（データの読み出し）が可能である。
【００４６】
（３）読み出しアドレスの変換（ステップＳ１３）
論理アドレス生成部１２１は，リードコマンドの引数で送られたアドレスをアドレス変換してユーザ領域１０７の論理アドレスを生成する。例えば，送られたアドレスを論理アドレス保存部１２２に保存されているビット数分の上位ビットと下位ビットを入れ替えて論理アドレスを生成する。入れ替えるビット数を「１０」とすると，生成される論理アドレスは「０ｘ８０００＿０４００」となる。
【００４７】
（４）ユーザ領域１０７からのデータの読み出し・送受信（ステップＳ１４，Ｓ１５）
ユーザ領域１０７上の生成した論理アドレスにある１セクタ分のデータが読み取られ，レスポンスデータとしてホスト機器１３０に送信される。ホスト機器１３０はメモリカード１０１からのレスポンスデータを受信する。
【００４８】
Ｂ．メモリカード１０１へのデータの書き込み
第５図のフローチャートを用いて，本実施形態におけるメモリカード１０１内のユーザ領域１０７にデータを書き込む場合について説明する。
【００４９】
（１）メモリカード１０１の識別処理（ステップＳ２１）
メモリカード１０１の識別処理は，読み出し時と同様であるので，説明を省略する。
【００５０】
（２）書き込み（ライト）コマンドの送受信（ステップＳ２２）
ホスト機器１３０は，ライトコマンドの引数にアドレス，例えば，「０ｘ００００＿０６００」を設定してメモリカード１０１に送信し，メモリカード１０１はこのライトコマンドを受信する。メモリカード１０１のユーザ領域１０７の「０ｘ００００＿０６００」のアドレスに1セクタ分のデータを書き込むためである。
【００５１】
（３）メモリカード１０１のフォーマットの検出（ステップＳ２３）
メモリカード１０１のフォーマットを検出する。既述のように，特定のアドレスへの特定のデータの書き込みを検出することで，フォーマットが検出される。
１）アドレス確認部１２０にてライトコマンドの引数で送られてきたアドレスと，比較アドレス保存部１２３に保存しているアドレス値を比較する。アドレスが一致しない場合，フォーマットが検出されないと判断される。
【００５２】
２）アドレス確認部１２０にてライトコマンドの引数で送られてきたアドレスと，比較アドレス保存部１２３のアドレスが一致した場合，データ確認部にてライトコマンドにて送られてくるデータと比較データ保存部１２４に格納されているデータを比較する。データが一致しない場合，フォーマットが検出されないと判断される。すなわち，アドレスとデータの双方が一致した場合，フォーマットが検出されたと判断される。
【００５３】
（４）アドレス変換の規則の変更（ステップＳ２４）
フォーマットが検出された場合，アドレス変換の規則が変更される。即ち，論理アドレス保存部１２２のデータが変更される。例えば，論理アドレス保存部１２２に保存されている値「１０」に１が加算（＋１）されて，「１１」に変更される。
【００５４】
（５）一部のユーザ領域１０７でのデータの移動（ステップＳ２５）
コントローラ１１４は，ユーザ領域１０７上で，比較アドレス保存部１２３に保存されているアドレス値より小さいアドレス値のデータを移動する。初期状態において比較アドレス保存部１２３に保存されているアドレス値より小さいアドレス値には，パーティションテーブル領域１０８及びブートセクタ領域１０９の基本情報データが書き込まれている。このアドレスを変更後のアドレス規則の変換に基づいて移動しないと，この基本情報データが読み出せなくなるからである。変換前のアドレス（外部アドレス）を基準にデータを移動する範囲が決定され，変更された規則に基づいて変換されたアドレスにデータが移動される。この移動範囲は変更前の規則に基づいて変換されたアドレスに従って，データが配置されているからである。
【００５５】
例えば，「０ｘ００００＿００００」から「０ｘ０００５＿ＢＦＦＦ」のアドレスに書き込まれているデータの全て（パーティションテーブル領域１０８，ブートセクタ領域１０９のデータ）を論理アドレス生成部１２１にて新規に生成したアドレス値に保存し直す。但し，管理データ領域１０５，およびセキュリティ領域１０６は，移動しなくても良い。これらの領域は，アクセス自体が制限されることから，アドレス変換をしなくても情報の漏洩が防止可能である。
【００５６】
（６）書き込みアドレスの変換（ステップＳ２６）
論理アドレス保存部１２２に保存されているビット数分の上位ビットと下位ビットを入れ替えて，ユーザ領域１０７の論理アドレスを生成する。
【００５７】
論理アドレス保存部１２２に保存されているビット数が「１０」の場合，生成される論理アドレスは「０ｘ８０００＿０４００」となる。一方，フォーマットの検出により，入れ替えるビット数が「１１」に変更された場合，アドレス「０ｘ００００＿０６００」が入力されると，生成される論理アドレスは「０ｘＣ０００＿００００」となる。このように，フォーマットが検出されて，アドレス変換の規則が変更されることで，リードコマンドを発行してもフォーマット前のデータを連続して読み出すことができなくなる。
【００５８】
（７）ユーザ領域１０７へのデータの書き込み（ステップＳ２７）
ユーザ領域１０７上の生成した論理アドレスに１セクタ分のデータが書き込まれる。
【００５９】
（動作例）
メモリシステム１００の動作例について説明する。ここでは，メモリカード１０１の容量を１ＧＢとし，ホスト機器１３０をパーソナルコンピュータ（以下ＰＣと略称する）とする。
【００６０】
ユーザは１ＭＢの画像データを保存するためにメモリカード１０１をＰＣへ挿入する。このとき，メモリカード１０１は新品で一度もデータが書き込まれておらず，ユーザ領域１０７の全体に初期値が格納されているとする。比較アドレス保存部１２３および比較データ保存部１２４にはそれぞれ，ＦＡＴ１領域１１０の先頭アドレス「０ｘ０００５＿Ｃ０００」，および１セクタ分のＦＡＴ１領域１１０の初期値が保存されているとする。また，論理アドレス保存部１２２は，ビット数「０」が保存されているととする。
【００６１】
Ａ．フォーマット前のデータ書き込み
メモリカード１０１に，ユーザデータ（例えば，１ＭＢの画像データ）を保存することを考える。この場合，ＰＣが，ライトコマンドを順次に発行することで，ＦＡＴ１領域１１０，ＦＡＴ２領域１１１，ルートディレクトリ領域１１２，ユーザデータ領域１１３それぞれにデータが書き込まれる。
【００６２】
（１）ＦＡＴ１領域１１０へのデータの書き込み
ＦＡＴ１領域１１０の先頭アドレス「０ｘ０００１＿Ｅ８００」を引数にしてメモリカード１０１にライトコマンドが発行される。メモリカード１０１はライトコマンドを受信する。
【００６３】
アドレス確認部１２０が，引数として渡されたアドレスと比較アドレス保存部１２３に保存されているアドレス値とを比較する。渡されたアドレスは，比較アドレス保存部１２３のアドレスと一致する。データ確認部１１９が，送られたデータ（書き込むデータ）と比較データ保存部１２４のデータとを比較する。書き込むデータは，比較データ保存部１２４のデータと一致しない。書き込むデータが，保存する画像データのファイル名や画像データサイズの情報を持った３２バイトのディレクトリエントリ情報だからである。以上のように，データが不一致のため，フォーマットは検出されない
【００６４】
論理アドレス生成部１２１が，論理アドレス保存部１２２の値「０」と引数として渡されたアドレスから，クラスタチェーン情報を書き込む論理アドレス値「０ｘ０００１＿Ｅ８００」を生成する。ここでは，論理アドレス保存部１２２に保存されているアドレスが「０」のため，ビット数の入れ替えが起こらず，渡されたアドレス値と同じ値が生成される。１ＧＢのメモリカード１０１のクラスタ１個のサイズは１６ＫＢであり，保存する画像データは１ＭＢであることから，画像データを保存するために必要なクラスタは６４個である。メモリカード１０１のファイルシステムをＦＡＴ１６とすると，ＦＡＴ１領域１１０に１２８バイトのデータが書き込まれる。
【００６５】
（２）ＦＡＴ２領域１１１へのデータの書き込み
ＦＡＴ２領域１１１の先頭アドレス「０ｘ０００３＿Ｄ４００」を引数にしてメモリカード１０１にＰＣからライトコマンドが発行される。メモリカード１０１はライトコマンドを受信する。
【００６６】
アドレス確認部１２０が引数として渡されたアドレスと比較アドレス保存部１２３に保存されているアドレス値を比較する。引数として渡されたアドレスは比較アドレス保存部１２３のアドレスと一致しないため，フォーマットは検出されない。
【００６７】
論理アドレス生成部１２１が，クラスタチェーン情報を書き込む論理アドレス値「０ｘ０００３＿Ｄ４００」を生成する。ＦＡＴ２領域１１１にＦＡＴ２領域１１１と同一のデータが書き込まれる。
【００６８】
（３）ルートディレクトリ領域１１２へのデータの書き込み
ルートディレクトリ領域１１２の先頭アドレス「０ｘ０００５＿Ｃ０００」を引数にしてメモリカード１０１にＰＣからライトコマンドが発行される。メモリカード１０１はライトコマンドを受信する。
【００６９】
アドレス確認部１２０が，引数として渡されたアドレス値と比較アドレス保存部１２３に保存されているアドレス値を比較する。引数として渡されたアドレスは比較アドレス保存部１２３のアドレスと一致しないため，フォーマットは検出されない。
【００７０】
ディレクトリエントリ情報を書き込む論理アドレス値「０ｘ０００５＿Ｃ０００」が生成され，ルートディレクトリ領域１１２に３２バイトのデータが書き込まれる。
【００７１】
（４）ユーザデータ領域１１３へのデータの書き込み
ユーザデータ領域１１３のアドレス「０ｘ０００６＿０６００」を引数にしてメモリカード１０１にライトコマンドが発行される。メモリカード１０１はライトコマンドを受信する。
【００７２】
アドレス確認部１２０にて引数として渡されたアドレスと比較アドレス保存部１２３に保存されているアドレス値を比較する。引数として渡されたアドレスは比較アドレス保存部に保存されているアドレスと一致しないため，フォーマットは検出されない。画像データを書き込む論理アドレス「０ｘ８００６＿０６００」が生成され，ユーザデータ領域１１３に１ＭＢの画像データが書き込まれる。
【００７３】
Ｂ．フォーマットの実行
ここで，１ＭＢの画像データを書き込んだメモリカード１０１に，クイックフォーマットが実行されたとする。このクイックフォーマットでは，ＦＡＴ１領域１１０，ＦＡＴ２領域１１１が初期値に書き換えられるとする。
【００７４】
ＰＣはＦＡＴ１領域１１０のアドレス「０ｘ０００５＿Ｃ０００」を引数にして，メモリカード１０１にライトコマンドを発行する。メモリカード１０１はライトコマンドを受信する。
【００７５】
アドレス確認部１２０が引数として渡されたアドレスと比較アドレス保存部１２３に保存されているアドレスを比較する。渡されたアドレスと保存されているアドレスが一致するため，データ確認部１１９が送られてくるデータと比較データ保存部１２４に保存されているデータを比較する。ＰＣから送られたデータは，ＦＡＴ１領域１１０の初期値であり，保存されたデータと一致する。この結果，フォーマットが検出される。
フォーマットが検出されため，コントローラ１１４が論理アドレス保存部１２２に保存されているデータを「０」から「１０」に変更する。変更された値に基づいてアドレス値「０ｘ０００５＿Ｃ０００」が生成され，このアドレスに５１２Ｂ分の初期値が書き込まれる。
【００７６】
このときコントローラ１１４が比較アドレス保存部１２３に保存されているアドレス値より前のアドレス，本実施形態では「０ｘ００００＿００００」から「０ｘ０００５＿ＢＦＦＦ」までのデータを移動する。ここで，移動後のアドレスは，変更後の規則に基づいて変換されたアドレスである。即ち，論理アドレス保存部１２２に保存されているデータ値「１０」ビットの上位ビット，下位ビットを入れ替えて，アドレスが生成される。
【００７７】
その後，変更後の規則に基づいて変換されたアドレスで，ユーザデータ領域１１３にデータが書き込まれる。
【００７８】
ＦＡＴ１領域１１０の残りの領域，さらにはＦＡＴ２領域１１１についても同様に，ライトコマンドが発行され，変更された値に基づいて生成されたアドレスに初期値が書き込まれる。このように，ＦＡＴ１領域１１０，ＦＡＴ２領域１１１の全体に初期値が書き込まれることで，メモリカード１０１のフォーマットが完了する。
【００７９】
Ｃ．フォーマット後のデータ読み出し
ユーザデータ領域１１３の「０ｘ０００６＿００００」から２セクタ分のデータを読み出す場合を考える。この場合，最初の１セクタ目のアドレス値「０ｘ０００６＿００００」は上位１０ビット，下位１０ビットを入れ替えると「０ｘ０００６＿００００」で同じアドレスとなる。また，２セクタ目のアドレス値「０ｘ０００６＿０２００」を入れ替えると「０ｘ８００６＿００００」となる。この結果，内部のアクセス領域が分断され，ユーザは正しいデータを読み出すことができなくなる。即ち，ユーザデータ領域１１３に直接アクセスしても，意味が分かる形でデータを読み出すことができない。このようにして，情報漏洩が防止される。
【００８０】
メモリカード１０１をフォーマットする場合にクイックフォーマットを実行すると，ユーザデータの管理情報（ＦＡＴ１領域１１０，ＦＡＴ２領域１１１のデータ等）しかクリアされず，ユーザデータ自体はユーザデータ領域１１３内に残される。そのため，第三者等によるユーザデータの抜き出しの可能性がある。
【００８１】
本実施形態では，変換されたアドレスにデータを保存し，かつメモリカード１０１のフォーマットの検知によって，変換の規則が変更される。フォーマット前後でデータ変換の規則が異なることから，フォーマット前のデータへのアクセスが困難となり，データ漏洩の防止（データの秘匿性向上）が図られる。なお，フォーマット後の変換規則から見て，フォーマット前のデータが不連続に配置されることが好ましい。
【００８２】
（第２の実施形態）
第６図は，第２の実施形態に係るメモリシステム２００を表すブロック図である。メモリシステム２００は，メモリカード２０１と，ホスト機器１３０を有する。メモリカード２０１は，インタフェース用信号端子部２０２，ＮＡＮＤメモリ２０３，プロセッサモジュール２０４を有する。
【００８３】
メモリシステム２００は，第１の実施形態のメモリシステム１００と概ね対応する構成を有する。メモリシステム２００は，次の点でメモリシステム１００と異なる。
【００８４】
（１）ＮＡＮＤメモリ２０３のアドレスがセクタ単位で管理される。これに対して，第１の実施形態では，メモリカード１０１へアクセスするためのＮＡＮＤメモリ１０３のアドレスがバイト単位で管理されている。
【００８５】
（２）比較アドレス保存部２２３が，所定範囲のアドレス値（例えば，ＦＡＴ１領域１１０全体のアドレス値）を保存する。これに対して，第１の実施形態に係るメモリカード１０１の比較アドレス保存部１２３は，単一のアドレス値（例えば，ＦＡＴ１領域１１０の先頭アドレス値）を保存する。本実施形態では，アドレス値に幅を持たせることで，フォーマットの検知の確実性の向上が図られる。
【００８６】
（３）プロセッサモジュール２０４内にアドレスビット数保存部２２５が追加されている。
アドレスビット数保存部２２５は，メモリカード２０１へのアクセスに利用されるアドレスのビット数を保存する。ＮＡＮＤメモリ２０３の容量によって，利用されるビット数は異なる。例えば，ＮＡＮＤメモリ２０３の容量が８ＧＢの場合，アドレスビット数保存部２２５にビット数として値「２３」が保存される。なお，この値は，通例，メモリカード２０１出荷時に格納される。
【００８７】
（４）プロセッサモジュール２０４内に比較結果保存部２２６が追加されている。
比較結果保存部２２６は，アドレス確認部２２０，データ確認部２１９での比較結果を１セクタ毎に保存する。１つのライトコマンドで比較アドレス保存部２２３に保存される比較範囲全体の書き込みがなされないことに対応するためである。
【００８８】
図７は，比較結果保存部２２６に保存される比較結果を表す模式図である。比較結果保存部２２６は，比較結果テーブルとして，比較結果を保存する。比較結果テーブルは，比較アドレスの全域について，セクタ毎に比較結果を表わす。アドレスとデータの双方が一致した場合に「一致」，それ以外の場合（アドレスとデータの一方または双方が一致しない場合）に「不一致」と比較結果が表される。比較アドレスの全域で，比較結果が「一致」したとき，フォーマットが検出されたと判断される。それ以外の場合はフォーマットが検出されないと判断される。
【００８９】
（アドレス変換の詳細）
論理アドレス生成部２２１でのアドレス値生成（アドレス変換）の詳細を説明する。
第８図は，第２の実施形態における論理アドレス生成部２２１でのアドレス変換の例を示す。入力されるアドレスの上位ビットと下位ビットを入れ替えることで，論理アドレスが生成される。この例では，論理アドレス生成部２２１にアドレス「０ｘ００００＿２０２０」が入力される。アドレスビット数保存部２２５に「２３」，論理アドレス保存部２２２に「６」が保存されている。
【００９０】
アドレスビット数保存部２２５が保存する値は，入れ替えられるアドレスビットの範囲（最上位のビット（上位ビットの最上位））を表す。この例では，３２ビットのアドレス中の下位２３ビットについてビットを入れ替えることを示す。
論理アドレス保存部２２２に保存される値は，第１の実施形態と同様，上位ビットと下位ビットのビット数（入れ替えるビット数）を示す。
【００９１】
ここでは，論理アドレス生成部２２１は，入力されるアドレス値「０ｘ００００＿２０２０」の２３ビット中の下位６ビット（０〜５ビット目）と，上位６ビット（１７〜２２ビット目）を入れ替えて，論理アドレスを生成している。
【００９２】
（メモリシステム２００の動作）
ホスト機器１３０がメモリカード２０１内のユーザ領域２０７にデータを書き込む場合について説明する。このときの処理の全体的な流れは，第１の実施形態と同様，図５で表される。但し，動作の一部が第１の実施形態と異なる。
【００９３】
（１）メモリカード２０１の識別処理（ステップＳ２１）
第１の実施形態と同様に，メモリカード２０１とホスト機器１３０間でカード識別処理がなされ，メモリカード２０１がアクセス可能な状態となる。本実施形態では，このとき，比較結果保存部２２６に保存される比較結果が初期化される。即ち，比較アドレスの全範囲で比較結果が「不一致」とされる。
【００９４】
（２）書き込み（ライト）コマンドの送受信（ステップＳ２２）
ホスト機器１３０は，ライトコマンドの引数にアドレスを設定してメモリカード２０１に送信し，メモリカード２０１はこのライトコマンドを受信する。
【００９５】
（３）メモリカード２０１のフォーマットの検出（ステップＳ２３）
メモリカード２０１のフォーマットの検出方法について説明する。本実施形態では，ＦＡＴ１領域２１０全体の初期値への書き換えを検出することで，フォーマットを検出する。
図９は，本実施形態でのフォーマットの検出（ステップＳ２３）の手順の一例を表すフロー図である。
１）アドレス，データの一致の判断（ステップＳ３１）
入力される（ライトコマンドの引数である）アドレスおよびデータが，比較アドレス保存部２２３および比較データ保存部２２４に保存されているアドレス，データと比較される。このとき，セクタ単位でアドレスとデータの一致が判断される。即ち，入力されるアドレスと比較アドレス保存部２２３のアドレス範囲の一部が重なる場合，この重複範囲について，セクタ毎に一致不一致が判断される。
【００９６】
２）比較結果テーブルの書換（ステップＳ３２）
ステップＳ３１で，「一致」と判断された場合，比較されたアドレス（セクタ）について，「一致」と比較結果テーブルが書き換えられる。
【００９７】
３）比較アドレス全体での一致の判断（ステップＳ３３）
比較アドレス全体で一致する場合，即ち，比較結果テーブルの全体で比較結果が「一致」する場合，「フォーマット検出」と判断され，それ以外の場合「フォーマット未検出」と判断される。
【００９８】
本実施形態では，比較アドレスに幅を持たせているため，通常の書き込みをフォーマットと誤認識する可能性が低減される。例えば，ホスト機器１３０が大容量のファイルを削除した場合と，クイックフォーマットを実施した場合をより確実に区別できる。
【００９９】
比較結果テーブルを用いているのは，複数の書き込みコマンドによってメモリカード２０１がフォーマットされることを考慮したためである。本実施形態では，複数回の書き込みによりフォーマットされる場合（ステップＳ２２の書き込みコマンドの送受信が複数回に渡る場合），個々の書き込みそれぞれではフォーマットを検出できない可能性が生じている。過去の比較結果を保存しておくことで，このような複数回の書き込みによるフォーマットの検出が容易となる。
【０１００】
例えば，ＦＡＴ１領域２１０の範囲をアドレス値「０ｘ００００＿１８８１」から「０ｘ００００＿１Ｃ４０」までとする。また，比較データ保存部２２４は９５９．５ＫＢの容量を持ち，初期値データ列が格納されているとする。初期値データ列は，例えば，全体で９５９．５ＫＢで，最初の１２バイトが「０ｘＦ８，０ｘＦＦ，０ｘＦＦ，０ｘ０Ｆ，０ｘＦＦ，０ｘＦＦ，０ｘＦＦ，０ｘ０Ｆ，０ｘＦＦ，０ｘＦＦ，０ｘＦＦ，０ｘ０Ｆ」，それ以降がすべて「０」とする。
【０１０１】
ここで，クイックフォーマットのために，ホスト機器１３０からＦＡＴ１領域２１０のアドレス「０ｘ００００＿１８８１」へのライトコマンドが発行された場合を考える。この場合，入力されたアドレス値「０ｘ００００＿１８８１」と比較アドレス保存部２２３に保存されているアドレス「０ｘ００００＿１８８１〜０ｘ００００＿１Ｃ４０」が比較され，アドレス値が一致する（重複する）と判断される。さらに，この重複するアドレスでのデータと，比較データ保存部２２４に保存されているデータと比較し，データが一致すると判断される。この判断結果に応じて，比較結果テーブルの一部（重複するアドレス）が「一致」と書き換えられる。ホスト機器１３０から複数回のライトコマンドが発行され，ＦＡＴ１領域２１０全体が書き換えられたとき（アドレス値「０ｘ００００＿１Ｃ４０」へのライトコマンドが発行されたとき），「フォーマット検出」と判断される。
【０１０２】
（４）アドレス変換の規則の変更（ステップＳ２４）
フォーマットが検出された場合，アドレス変換の規則が変更される。即ち，論理アドレス保存部２２２に保存されているデータが変更される。例えば，論理アドレス保存部２２２に保存される値が，初期値「０」の場合，これに「１」を加えた値「１」が書き込まれる。
【０１０３】
（５）一部のユーザ領域１０７でのデータの移動（ステップＳ２５）
コントローラ２１４は，ユーザ領域１０７上で，比較アドレス保存部２２３に保存されている最大のアドレス値よりも小さいアドレス値のデータを移動する。ここでは，ＦＡＴ１領域２１０の最終セクタを除き，ＦＡＴ１領域２１０の大部分も移動の対象となる。ＦＡＴ１領域２１０への書き込みの大部分（最後の書き込みを除く）が，変更前の規則に基づいて変換されたアドレスに基づくからである。
【０１０４】
（６）書き込みアドレスの変換（ステップＳ２６）
フォーマットが検出されない場合，変更前の規則に基づいてアドレスが変換され，ユーザ領域２０７に書き込まれる。例えば，論理アドレス保存部２２２に保存される値が，初期値「０」の場合，結果として，変換前後でアドレスが同一となる。
【０１０５】
フォーマットが検出された場合，変更後の規則に基づいてアドレスが変換され，ユーザ領域２０７に書き込まれる。例えば，論理アドレス保存部２２２に保存される値が，初期値「０」から「１」に変更されたとする。この場合，アドレス値の上位１ビット及び下位１ビットを入れ替えて生成された論理アドレス値のユーザ領域２０７にデータが書き込まれる。これにより，次にホスト機器１３０よりリードコマンドもしくはライトコマンドを受信した場合，論理アドレスのビット数を１ビット入れ替えてアクセスするようになり，データの秘匿性を高めることができる。
【０１０６】
ホスト機器１３０がメモリカード２０１からデータを読み出すときの処理の全体的な流れは，第１の実施形態と同様，図４で表される。個々の処理内容の詳細は，メモリカード２０１にデータを書き込む場合と実質的に同一であるため，詳細な説明を省略する。
【０１０７】
（第３の実施形態）
図１０は，第３の実施形態に係るメモリシステム３００を表すブロック図である。メモリシステム３００は，メモリカード３０１と，ホスト機器１３０を有する。メモリカード３０１は，インタフェース用信号端子部３０２，ＮＡＮＤメモリ３０３，プロセッサモジュール３０４を有する。
メモリシステム３００は，メモリシステム２００の比較結果保存部２２６に対応する構成を有しない。それ以外の点では，メモリシステム３００はメモリシステム２００と実質的に相違しない。
【０１０８】
（メモリシステム３００の動作）
第１１図のフローチャートを用いて，ホスト機器１３０がメモリカード３０１内のユーザ領域３０７にデータを書き込み場合の動作手順を説明する。
【０１０９】
（１）メモリカード３０１の識別処理および書き込み（ライト）コマンドの送受信（ステップＳ４１，Ｓ４２）
ステップＳ４１，Ｓ４２は，第２の実施形態でのステップＳ２１，Ｓ２２に対応する。
【０１１０】
（２）書き込みアドレスの変換およびユーザ領域３０７へのデータの書き込み（ステップＳ４３，Ｓ４４）
本実施形態では，フォーマットの検出に先だって，データを書き込む。変換前の規則に基づいてアドレスが変換され，データが書き込まれる。
【０１１１】
（３）メモリカード３０１のフォーマットの検出（ステップＳ４５）
ＮＡＮＤメモリ３０３への書き込み動作の完了後に，フォーマットの検出の有無が判断される。このとき，比較アドレス保存部３２３に保存されている比較アドレス範囲の全体について，一致，不一致が判断される。比較アドレス範囲の全体でデータが一致したとき，「フォーマット検出」と判断される。それ以外の場合（アドレス範囲の一部でもデータが一致しない場合），「フォーマット未検出」と判断される。書き込み後にアドレスおよびデータを比較することで，比較結果保存部２２５に対応する構成を用いずに，比較アドレスの範囲全体での一致の有無が確認可能である。
【０１１２】
具体的には，次のようにして，比較アドレス範囲の全体について，一致，不一致が判断される。即ち，データ確認部３１９が，比較アドレス保存部３２３に保存されているアドレスに対応するデータをＮＡＮＤメモリ３０３から読み出す。アドレス確認部３２０が，ＮＡＮＤメモリ３０３から読み出されデータと比較データ保存部３２４に格納されているデータとを比較し，一致するか否かを判断する。
【０１１３】
ここで，データを比較している間，メモリカード３０１からホスト機器１３０にビジー信号を出し，メモリカード３０１へのアクセスを停止させることが好ましい。比較アドレス範囲の全体での一致の判断中に，ユーザ領域３０７が書き換えられることを防止するためである。
【０１１４】
（４）アドレス変換の規則の変更（ステップＳ４６）
フォーマットが検出された場合，アドレス変換の規則を変更する。例えば，論理アドレス保存部３２２に保存されている値に「１」を加える。
【０１１５】
（５）一部のユーザ領域１０７でのデータの移動（ステップＳ４７）
コントローラ３１４は，ユーザ領域３０７上で，比較アドレス保存部３２３に保存されているアドレス値，およびそれよりも小さいアドレス値のデータを変更された規則に基づいて変換されたアドレスに移動する。ここでは，ＦＡＴ１領域３１０全体も移動の対象となる。ＦＡＴ１領域３１０への初期値の書き込みが，変更前の規則に基づいて変換されたアドレスに基づくからである。
【０１１６】
上述のようなフォーマット検出（Ｓ４５）を用いることで，ホスト機器１３０が大容量のファイルを削除した場合と，クイックフォーマットを実施した場合とを区別することが可能となる。即ち，クイックフォーマット時のみアドレス規則を変更することが可能となる。例えば，比較アドレス範囲をＦＡＴ１領域３１０全体とし，ホスト機器１３０がＦＡＴ１領域３１０の最も小さいアドレスからＦＡＴ１領域３１０の半分まで削除した場合を考える。この場合，ＦＡＴ1領域３１０の後半アドレスのデータが比較データ保存部３２４に格納されているデータと一致しないことから，クイックフォーマットでないと判断できる。
【０１１７】
（その他の実施形態）
本発明の実施形態は上記の実施形態に限られず拡張，変更可能であり，拡張，変更した実施形態も本発明の技術的範囲に含まれる。
【０１１８】
（１）上記実施形態では，論理アドレス保存部に保存されている値を基に，アドレス値の上位ビットと下位ビットを入れ替えて論理アドレスを生成している。これに替えて，論理アドレス保存部に特定のアドレス値「０ｘ２００」などを保存し，入力されたアドレスとこの値とを演算（例えば，加算）することで論理アドレスを生成しても良い。
【０１１９】
（２）上記実施形態では，比較アドレス保存部はＦＡＴ１領域の先頭アドレスあるいはＦＡＴ１領域のアドレス範囲（先頭アドレス〜最終アドレス）を保存する。これに替えて，他のアドレス，例えば，ＦＡＴ１領域の他のアドレス，ＦＡＴ２領域のアドレスを保存してもよい。比較アドレスをフォーマットの対象となる領域内に適宜に規定できる，
また，比較アドレス保存部に，複数のアドレス値やアドレス範囲を保存してもよい。
【０１２０】
（３）比較データ保存部に保存されるデータの容量および内容は上記実施形態に限定されない。即ち，第１の実施形態での「１セクタ」，第２の実施形態での「９５９．５ＫＢ」以外の値を保存されるデータの容量として採用できる。また，本実施形態に記載されている以外のデータ内容を採用しても良い。
【０１２１】
（４）上記実施形態では，比較データ保存部に比較用データを保存している。これに替えて，ＮＡＮＤメモリ内に設けられた特別な領域に比較用データを保存してもよい。
【０１２２】
（５）本実施形態ではＮＡＮＤメモリのアドレスを３２ビットとしている。他のビット数をアドレスに用いることが可能である。
【図面の簡単な説明】
【０１２３】
【図１】第１実施形態に係るメモリシステムを表すブロック図である。
【図２】論理アドレス生成部でのアドレス変換の例を示す模式図である。
【図３】変換前アドレスと，変換後アドレスの対応関係の一例を表す図である。
【図４】メモリカードからデータを読み出す手順の一例を表すフロー図である。
【図５】メモリカードにデータを書き込む手順の一例を表すフロー図である。
【図６】第２実施形態に係るメモリシステムを表すブロック図である。
【図７】比較結果テーブルの一例を表す模式図である。
【図８】論理アドレス生成部でのアドレス変換の例を示す模式図である。
【図９】第２実施形態でのフォーマットの検出の手順の一例を表すフロー図である。
【図１０】第３実施形態に係るメモリシステムを表すブロック図である。
【図１１】メモリカードにデータを書き込む手順の一例を表すフロー図である。
【符号の説明】
【０１２４】
１００…メモリシステム，１０１…半導体メモリカード，１０２…インタフェース用信号端子部，１０３…メモリ，１０４…プロセッサモジュール，１０５…管理データ領域，１０６…セキュリティ領域，１０７…ユーザ領域，１０８…パーティションテーブル領域，１０９…ブートセクタ領域，１１０…ＦＡＴ１領域，１１１…ＦＡＴ２領域，１１２…ルートディレクトリ領域，１１３…ユーザデータ領域，１１４…コントローラ，１１５…ＲＯＭ１１５，１１６…ＳＲＡＭ１１６，１１８…ＩＯインタフェース，１１９…データ確認部，１２０…アドレス確認部，１２１…論理アドレス生成部，１２２…論理アドレス保存部，１２３…比較アドレス保存部，１２４…比較データ保存部，１２５…アドレスビット数保存部，１３０…ホスト機器，１３１…ＣＰＵ，１３２…システムメモリ，１３３…ディスク記憶装置，１３４…カードインタフェース
【図１】
0004575410.tif 000002
【図２】
0004575410.tif 000003
【図３】
0004575410.tif 000004
【図４】
0004575410.tif 000005
【図５】
0004575410.tif 000006
【図６】
0004575410.tif 000007
【図７】
0004575410.tif 000008
【図８】
0004575410.tif 000009
【図９】
0004575410.tif 000010
【図１０】
0004575410.tif 000011
【図１１】
0004575410.tif 000012