(57)【要約】【課題】保護の必要なデータだけを必要に応じて容易に保護することが可能なメモリカード装置を実現する。【解決手段】ライト制御部３０３は、保護属性設定モードにおいては、ホスト装置からのライトデータと当該ライトデータに保護属性を設定するための保護属性情報とを一緒にフラッシュメモリ１１５に書き込む。一方、保護属性設定モードが解除されている場合には、ホスト装置からのライトデータだけをフラッシュメモリ１１５に書き込み、保護属性情報は書き込まない。リード制御部３０４は、データ保護モードにおいては、保護属性が設定されていないデータがホスト装置１０からリード要求された場合にはそのリード要求されたデータをフラッシュメモリ１１５からホスト装置１０に読み出し、保護属性が設定されているデータがホスト装置１０からのリード要求された場合にはそのリード要求されたデータとは異なる値のデータをホスト装置１０に読み出す。【選択図】      図１
2005267163.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置に取り外し自在に接続可能なメモリカード装置において、
不揮発性半導体メモリと、
前記ホスト装置からの要求に応じて第１のライトモードおよび第２のライトモードの一方のライトモードに設定され、前記第１のライトモードにおいては前記ホスト装置からのライトデータと当該ライトデータに保護属性を設定するための保護属性情報とを前記不揮発性半導体メモリに書き込み、前記第２のライトモードにおいては前記ホスト装置からのライトデータを前記不揮発性半導体メモリに書き込む書き込み制御手段と、
前記ホスト装置からの要求に応じて、前記メモリカード装置をデータ保護モードに設定する保護モード設定手段と、
前記メモリカード装置が前記データ保護モードに設定されている場合、前記ホスト装置からリード要求されたデータが保護属性が設定されたデータであるか否かを判別し、保護属性が設定されたデータであれば前記リード要求されたデータとは異なる値のデータを前記ホスト装置に読み出し、保護属性が設定されていないデータであれば前記リード要求されたデータを前記ホスト装置に読み出す読み出し制御手段とを具備することを特徴とするメモリカード装置。
【請求項２】
前記不揮発性半導体メモリは、データ領域および冗長領域を各々が含む複数のページを含むデータ記憶領域を含んでおり、
前記書き込み制御手段は、前記ホスト装置からのライトデータを前記ホスト装置からのライト要求で指定されたページのデータ領域に書き込むとともに、前記保護属性情報を前記ライト要求で指定されたページの冗長領域に書き込むように構成されていることを特徴とする請求項１記載のメモリカード装置。
【請求項３】
前記保護モード設定手段は、前記ホスト装置から書き込み要求されたテキストデータに含まれている第１の特定文字列に応答して、前記メモリカード装置を前記データ保護モードに設定する手段と、前記ホスト装置から書き込み要求されたテキストデータに含まれている第２の特定文字列に応答して、前記データ保護モードを解除する手段とを含むことを特徴とする請求項１記載のメモリカード装置。
【請求項４】
前記保護モード設定手段は、前記ホスト装置からのパスワード設定要求に応じてパスワードを前記メモリカード装置に保存することにより、前記メモリカード装置を前記データ保護モードに設定する手段と、前記ホスト装置からのデータ保護モード解除要求に含まれるパスワードと前記保存されているパスワードとを比較し、一致した場合に前記データ保護モードを解除する手段とを含むことを特徴とする請求項１記載のメモリカード装置。
【請求項５】
前記読み出し制御手段は、前記ホスト装置からのリード要求で指定されたデータが格納されているページの冗長領域を参照することによって、前記ホスト装置からリード要求されたデータが保護属性が設定されたデータであるか否かを判別することを特徴とする請求項２記載のメモリカード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はホスト装置に取り外し自在に接続可能なメモリカード装置に関する。
【背景技術】
【０００２】
近年、デジタルカメラの普及に伴い、小型で大容量の様々なメモリカードが開発されている。デジタルカメラにおいては、撮影によって得られた写真のデータファイルはメモリカードに保存される。一般に、写真は撮った本人以外に、第三者に渡すことがある。その際、様々な写真のデータファイルが保存されているメモリカードを一時的に第三者に貸し出すことがある。
【０００３】
しかし、メモリカードに保存されている写真のデータファイルの中には、他人には見せたくないものもあり、そのような写真のデータファイルを保護する必要がある。
【０００４】
一方、メモリカードに保存された写真のデータファイルは、通常、パーソナルコンピュータやＰＤＡなどにコピーして使用されることも多い。この際には、メモリカードから任意の写真のデータファイルを読み出すことが出来るようにする事が必要である。
【０００５】
ところで、従来より、セキュリティー機能を持つメモリカードが開発されている。セキュリティー機能を持つメモリカードとしては、ホスト装置からの不正アクセスを防止する機能を持つメモリカードが知られている（例えば、特許文献１参照。）。このメモリカードは、不正アクセスを防止するために、不正機器を排除するためのリボケーション機能を有している。
【特許文献１】特開２０００−３５７１２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、従来のセキュリティー機能は、メモリカードに保存されている全てのファイルを保護するというものであり、必要なファイル（写真）のみを保護することについては考慮されていない。また従来のセキュリティー機能は、機密性の高い保護機能を持っているが、特定の機器やオペレーティングシステム（ＯＳ）に依存したり、特定のアプリケーションのみが対応していた。上記の説明のようにファイル（写真）を第三者に渡すためにメモリカードを一時的に貸し出す場合は、機密性はさほど重要ではない。機密性よりも簡単に使用できることの方が重要である。
【０００７】
本発明は上述の事情を考慮してなされたものであり、記録されたデータ全てではなく、保護の必要なデータだけを必要に応じて容易に保護することが可能なメモリカード装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の課題を解決するため、本発明は、ホスト装置に取り外し自在に接続可能なメモリカード装置において、不揮発性半導体メモリと、前記ホスト装置からの要求に応じて第１のライトモードおよび第２のライトモードの一方のライトモードに設定され、前記第１のライトモードにおいては前記ホスト装置からのライトデータと当該ライトデータが保護対象のデータであることを示す保護属性情報とを前記不揮発性半導体メモリに書き込み、前記第２のライトモードにおいては前記ホスト装置からのライトデータを前記不揮発性半導体メモリに書き込む書き込み制御手段と、前記ホスト装置からの要求に応じて、前記メモリカード装置をデータ保護モードに設定する保護モード設定手段と、前記メモリカード装置が前記データ保護モードに設定されている場合、前記ホスト装置からリード要求されたデータが保護属性が設定されたデータであるか否かを判別し、保護属性が設定されたデータであれば前記リード要求されたデータとは異なる値のデータを前記ホスト装置に読み出し、保護属性が設定されていないデータであれば前記リード要求されたデータを前記ホスト装置に読み出す読み出し制御手段とを具備することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、保護の必要なデータだけを必要に応じて容易に保護することが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して、本発明の実施形態を説明する。  
図１は本発明の第一実施形態に係るメモリカード装置の構成を示すブロック図である。このメモリカード１０１は、ホスト装置１０に取り外し自在に接続可能なメモリカード装置であり、例えば、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカードとして実現されている。ＳＤメモリカード１０１は、デジタルカメラ、パーソナルコンピュータ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、携帯電話のようなホスト装置１０に設けられたメモリカード装着スロット（ＳＤカードスロット）に着脱自在に装着して使用されるリムーバブル記憶装置である。ホスト装置１０とＳＤメモリカード１０１との間の通信は、ホスト装置１０からのコマンドによって制御される。
【００１１】
ホスト装置１０とＳＤメモリカード１０１との間を接続するバス（ＳＤバス）２０は、６本の通信線（データＤＡＴ０−３，コマンドＣＭＤ，クロックＣＬＫ）と、３本の電源供給線（ＶＤＤ，ＧＮＤ，ＧＮＤ）を含む。これに対応して、ＳＤメモリカード１０１には、図示のように、４本のデータピン［ＤＡＴ０−３］１０９，１１０，１０２，１０３、コマンドピン［ＣＭＤ］１０４、クロック信号ピン［ＣＬＫ］１０７、電源ピン［ＶＤＤ］１０６、２つのグランドピン［ＧＮＤ］１０５，１０８が設けられている。６本の通信線（データＤＡＴ０−３，コマンドＣＭＤ，クロックＣＬＫ）の機能は次の通りである。
【００１２】
・ＤＡＴ０−３：  各データ線はホスト装置１０とＳＤメモリカード１０１との間のデータ転送に使用される双方向信号線である。ホスト装置１０およびＳＤメモリカード１０１はそれぞれプッシュプルモードで動作する。
【００１３】
・ＣＭＤ：  コマンド信号線は双方向信号線である。ホスト装置１０からＳＤメモリカード１０１へのコマンドの転送、およびＳＤメモリカード１０１からホスト装置１０へのレスポンスの転送に使用される。
【００１４】
・ＣＬＫ：  クロック信号線はホスト装置１０からＳＤメモリカード１０１へクロック信号ＣＬＫを送信するための信号線である。ホスト装置１０からＳＤメモリカード１０１へのコマンドの転送、およびホスト装置１０とＳＤメモリカード１０１との間のデータ転送などは、ホスト装置１０からＳＤメモリカード１０１へ供給されるクロック信号ＣＬＫに同期して実行される。
【００１５】
ＳＤメモリカード１０１には、ホストインターフェース部１１１、コントローラ１１２、データバッファ１１３、メモリインターフェース部１１４およびフラッシュメモリ１１６が設けられている。フラッシュメモリ１１６は電気的に消去および書き込み可能な不揮発性半導体メモリであり、例えば、１以上のＮＡＮＤ型フラッシュＥＥＰＲＯＭチップから構成されている。
【００１６】
ホストインターフェース部１１１は、ホスト装置１０との通信を実行する。このホストインターフェース部１１１により、ホスト装置１０とＳＤメモリカード１０１との間のデータの受け渡しが行われる。また、ホスト装置１０から発行されるコマンドもこのホストインターフェース部１１１を通じてコントローラ１１２に伝達される。
【００１７】
コントローラ１１４は、ホスト装置１０からのコマンドに応じてＳＤメモリカード１０１の動作を制御する。このコントローラ１１４は、セキュリティー機能を実現するために、保護属性設定管理部３０１、パスワード管理部３０２、ライト制御部３０３、およびリード制御部３０４を備えている。
【００１８】
保護属性設定管理部３０１は、ホスト装置１０からの要求に応じて、ＳＤメモリカード１０１を保護属性設定モードに設定する。保護属性設定モードは、データ書き込み時に、保護属性情報付きのライトデータをフラッシュメモリ１１５に書き込むためのライトモードである。
【００１９】
パスワード管理部３０２は、ホスト装置１０からの要求に応じて、ＳＤメモリカード１０１にパスワードを保存することにより、ＳＤメモリカード１０１をデータ保護モードに設定する。データ保護モードは、データ読み出し時に、フラッシュメモリ１１５に記憶されている保護属性情報付きのデータ（保護属性が設定されたデータ）を保護するためのモードである。
【００２０】
ライト制御部３０３は、ホスト装置１０からのライトコマンドに応じて、フラッシュメモリ１１５へのライトデータの書き込みを制御するユニットであり、第１のライトモードと第２のライトモードを有している。このライト制御部３０３は、ＳＤメモリカード１０１が保護属性設定モードに設定されている場合には第１のライトモードに設定され、保護属性設定モードが解除されている場合には第２のライトモードに設定される。第１のライトモードにおいては、ライト制御部３０３は、ホスト装置１０からのライトデータと当該ライトデータに保護属性を設定するための保護属性情報とをフラッシュメモリ１１５に書き込む。保護属性情報は、フラッシュメモリ１１５に書き込まれた当該データが保護対象のデータであることを示す。一方、第２のライトモードにおいては、ライト制御部３０３は、ホスト装置１０からのライトデータだけをフラッシュメモリ１１５に書き込み、保護属性情報は書き込まない。このため、第２のライトモードにおいては、ライトデータには保護属性は設定されない。
【００２１】
リード制御部３０４は、ホスト装置１０からのリードコマンドに応じて、フラッシュメモリ１１５からのデータの読み出しを制御するユニットである。ＳＤメモリカード１０１がデータ保護モードに設定されている期間中においては、リード制御部３０４は、ホスト装置１０からのリードコマンドでリード要求されたデータが保護属性情報を伴うデータ（保護属性が設定されたデータ）であるかどうかを判別する。そして、保護属性情報を伴わないデータ（保護属性が設定されていないデータ）がホスト装置１０からのリードコマンドでリード要求された場合にはそのリード要求されたデータをフラッシュメモリ１１５から読み出してホスト装置１０に転送し、保護属性情報を伴うデータ（保護属性が設定されたデータ）がホスト装置１０からのリードコマンドでリード要求された場合にはそのリード要求されたデータとは異なる値のデータをホスト装置１０に読み出す。これにより、保護属性が設定されていないデータについては正常にホスト装置１０に送られるが、保護属性が設定されたデータについては偽の値を有するデータがホスト装置１０に送られることになる。このように、ホスト装置１０からリード／ライト要求されるデータ単位でその保護を行うことができる。
【００２２】
ホスト装置１０は、モード指定部２０１と、カードアクセス部２０２を備えている。モード指定部２０１は、ユーザの操作に応じて、ファイル保護モードおよびファイル非保護モードの一方を指定する。ファイル保護モードが指定された場合、カードアクセス部２０２は、ＳＤメモリカード１０１へのファイルの書き込みを開始する前に、保護属性設定モードへの移行を要求するコマンドをＳＤメモリカード１０１に発行する。そのファイルを構成する全てのデータ書き込みが終了した時、またはそのファイルのファイル管理情報をＳＤメモリカード１０１へ書き込む場合は、カードアクセス部２０２は、保護属性設定モードの解除を要求するコマンドをＳＤメモリカード１０１に発行する。一方、ファイル非保護モードが指定された場合には、カードアクセス部２０２は、保護属性設定モードへの移行を要求するコマンドを発行することなく、通常通り、ＳＤメモリカード１０１へのファイルの書き込みを実行する。
【００２３】
図２には、フラッシュメモリ１１５の記憶領域の構造が示されている。フラッシュメモリ１１５の記憶領域は、ユーザデータを記憶するための通常領域と、管理用データを記憶するためのシステム領域とに分けられている。通常領域およびシステム領域のどちらも、複数の消去ブロックから構成されている。各消去ブロックのサイズは、例えば、８ＫＢ、１６ＫＢ、あるいは３２ＫＢである。各消去ブロックは、複数のページから構成されている。１ページは、通常、５２８（５１２＋１６）バイトで構成されている。５１２バイトはデータ記憶用領域として用いられ、１６バイトはエラー訂正コード等を格納するための冗長領域として用いられる。本実施形態では、冗長領域は保護属性情報の書き込みにも利用される。すなわち、ホスト装置１０からのライトコマンドで指定されたページにライトデータを書き込む場合、ライトデータはライトコマンドで指定されたページのデータ記憶用領域に書き込まれ、保護属性情報はライトコマンドで指定されたページの冗長領域に書き込まれる。フラッシュメモリ１１５に対するアクセスはページ単位で行うことが出来るので、保護属性情報を冗長領域に書き込むことにより、リード時においては、リード要求されたページのデータが保護属性情報を伴うデータであるかどうかを効率よく判別することが出来る。
【００２４】
次に、本実施形態のセキュリティー機能を実現するために用いられるコマンドを説明する。ＳＤメモリカード１０１は、ホスト装置１０からの以下のコマンドに応じてセキュリティー機能を実現する。
【００２５】
１．保護属性設定コマンド（以下ＣＭＤ−ＰＲＯＴ−ＳＥＴと記述）
２．保護属性解除コマンド（以下ＣＭＤ−ＰＲＯＴ−ＲＥＳＥＴと記述）
３．パスワード設定コマンド（以下ＣＭＤ−ＰＳＷＤ−ＳＥＴと記述）
４．パスワード解除コマンド（以下ＣＭＤ−ＰＳＷＤ−ＲＥＳＥＴと記述）
５．パスワード消去コマンド（以下ＣＭＤ−ＰＳＷＤ−ＣＬＥＡＲと記述）
ＣＭＤ−ＰＲＯＴ−ＳＥＴコマンドは、ＳＤメモリカード１０１を上述の保護属性設定モードに設定するためのコマンドである。また、ＣＭＤ−ＰＲＯＴ−ＲＥＳＥＴコマンドは、保護属性設定モードの解除をＳＤメモリカード１０１に指示するためのコマンドである。これらＣＭＤ−ＰＲＯＴ−ＳＥＴコマンドとＣＭＤ−ＰＲＯＴ−ＲＥＳＥＴコマンドは、ライトコマンド、リードコマンドと同様のコマンドであり、ホスト装置１０より発行されるＳＤメモリカード１０１への動作を指示するコマンドである。したがって、ホスト装置１０はこの２つのコマンドを発行する機能を有する必要がある。ただし、ＣＭＤ−ＰＲＯＴ−ＳＥＴコマンドとＣＭＤ−ＰＲＯＴ−ＲＥＳＥＴコマンドはファイルのライト時に使用するコマンドであるので、リードのみを行うホスト装置は、このコマンドを有する必要はない。例えば、デジタルカメラのようにＳＤメモリカード１０１に写真のデータファイルを書き込むホスト装置については図１のモード指定部２０１とカードアクセス部２０２とを設けてＣＭＤ−ＰＲＯＴ−ＳＥＴコマンドおよびＣＭＤ−ＰＲＯＴ−ＲＥＳＥＴコマンドを発行できるようにし、一方、ＳＤメモリカード１０１に記憶された写真のデータファイルの表示や編集等のために主に用いられるパーソナルコンピュータやＰＤＡについてはＣＭＤ−ＰＲＯＴ−ＳＥＴコマンドおよびＣＭＤ−ＰＲＯＴ−ＲＥＳＥＴコマンドの発行機能を必ずしもサポートしなくても良い。
【００２６】
ＣＭＤ−ＰＳＷＤ−ＳＥＴコマンドは、ＳＤメモリカード１０１に対してパスワードの設定を指示するコマンドであり、ＳＤメモリカード１０１をデータ保護モードに設定するために使用される。ＣＭＤ−ＰＳＷＤ−ＲＥＳＥＴコマンドは、ＳＤメモリカード１０１に保存されたパスワードを一時的に無効にするためのコマンドであり、ＳＤメモリカード１０１のデータ保護モードを一時的に解除するために使用される。ＣＭＤ−ＰＳＷＤ−ＣＬＥＡＲコマンドは、ＳＤメモリカード１０１に保存されたパスワードを削除するためのコマンドであり、ＳＤメモリカード１０１のデータ保護モードを解除するために使用される。これらＣＭＤ−ＰＳＷＤ−ＳＥＴコマンド、ＣＭＤ−ＰＳＷＤ−ＲＥＳＥＴコマンド、ＣＭＤ−ＰＳＷＤ−ＣＬＥＡＲコマンドはテキストファイルの書き込みによって発行されるコマンドであり、特定の文字列を持ったテキストファイルをＳＤメモリカード１０１に書き込むことにより、ＣＭＤ−ＰＳＷＤ−ＳＥＴコマンド、ＣＭＤ−ＰＳＷＤ−ＲＥＳＥＴコマンド、ＣＭＤ−ＰＳＷＤ−ＣＬＥＡＲコマンドの発行とする。
【００２７】
ＣＭＤ−ＰＳＷＤ−ＳＥＴコマンド、ＣＭＤ−ＰＳＷＤ−ＲＥＳＥＴコマンド、ＣＭＤ−ＰＳＷＤ−ＣＬＥＡＲコマンドそれぞれに対応する特定の文字列は、コマンドごとに異なる。例えば、文字列“ＣＭＤ−ＰＳＷＤ−ＳＥＴ”を含むテキストファイルをＣＭＤ−ＰＳＷＤ−ＳＥＴコマンドとして使用し、文字列“ＣＭＤ−ＰＳＷＤ−ＲＥＳＥＴ”を含むテキストファイルをＣＭＤ−ＰＳＷＤ−ＲＥＳＥＴコマンドとして使用し、文字列“ＣＭＤ−ＰＳＷＤ−ＣＬＥＡＲ”を含むテキストファイルをＣＭＤ−ＰＳＷＤ−ＣＬＥＡＲコマンドとして使用することができる。また、コマンドを示す特定の文字列の後にはパスワードを記述する。例えば、テキストデータの先頭行に特定の文字列を記入し、改行コードとファイル終了コードＥＯＦとの間にパスワードを記入する。
【００２８】
パーソナルコンピュータやＰＤＡ等の汎用のホスト装置は、デジタルカメラなどのホスト装置によってＳＤメモリカード１０１に書き込まれた写真データファイルの表示や編集に用いられることが多い。またパーソナルコンピュータやＰＤＡは、テキストファイルをＳＤメモリカード１０１に書き込む機能を標準装備している。このため、ＣＭＤ−ＰＳＷＤ−ＳＥＴコマンド、ＣＭＤ−ＰＳＷＤ−ＲＥＳＥＴコマンド、ＣＭＤ−ＰＳＷＤ−ＣＬＥＡＲコマンドをテキストファイルの書き込みによって発行されるコマンドとすることにより、特別なコマンド発行機能を設けることなく、バスワードの設定、一時的な無効、削除等の操作を容易に実行することが可能となる。
【００２９】
ホスト装置１０がテキストファイルをライトする場合、ホストインターフェース１１１を通じてそのテキストファイルのデータがデータバッファ１１３に一時保存される。コントローラ１１２のパスワード管理部３０２は、データバッファ１１３内に格納されているテキストデータ中にコマンド用の特定の文字列が含まれているかどうかを調べる。コマンド用の特定の文字列が含まれていた場合、パスワード管理部３０２は、その文字列をコマンドとして解釈する。また、パスワード管理部３０２は、コマンドに続く文字列をパスワードとして解釈する。なお、コマンド用の特定の文字列を含むテキストファイルであっても、そのテキストファイルは、他のファイルと同様に、フラッシュメモリ１１５にファイルとして書き込まれる。ただし、パスワードを構成する文字列については、スペース文字等の特定の文字に変更した後にフラッシュメモリ１１５に書き込む。したがって、コマンドを含むテキストファイルはコマンドとして解釈されつつも、通常のファイルとして扱われフラッシュメモリ１１５に書き込まれる。ただし、パスワードは特定の文字に変更されてフラッシュメモリ１１５に保存されるので、テキストファイルをリードしてもパスワードを知ることは出来ない。このように、テキストファイルによりコマンドを発行するため、パーソナルコンピュータ、ＰＤＡ等が特別な機能を持たなくても簡単にコマンドを発行することができる。
【００３０】
上述したように、デジタルカメラ等、保護する必要があるファイルを書き込むホスト装置は、ＣＭＤ−ＰＲＯＴ−ＳＥＴコマンドとＣＭＤ−ＰＳＷＤ−ＲＥＳＥＴコマンドを発行する機能を有する必要があり、また、ファイルの保護／非保護の２つのモードを持ち、使用者は必要に応じてモード指定部２０１を用いてモードを切り替える。
【００３１】
ファイル保護モード時、ホスト装置１０は、図３に示されているように、ファイルのデータ自体（ファイル管理情報除いたファイルのデータ自体）を書き込む前にＣＭＤ−ＰＲＯＴ−ＳＥＴコマンドをＳＤメモリカード１０１に発行する。データ自体の書き込みが終了した場合、または、ファイル管理情報を書き込む時は、ホスト装置１０は、ＣＭＤ−ＰＲＯＴ−ＲＥＳＥＴコマンドを発行する。
【００３２】
コントローラ１１２の保護属性設定管理部３０１は、ＣＭＤ−ＰＲＯＴ−ＳＥＴコマンドを受信した場合、ＳＤメモリカード１０１を保護属性設定モードに設定する。ＣＭＤ−ＰＲＯＴ−ＳＥＴコマンドの受信以降にホスト装置１０から受け取ったデータは保護属性情報と一緒にフラッシュメモリ１１５に書き込まれる。これにより、フラッシュメモリ１１５に書き込まれたデータには保護属性が設定される。ＣＭＤ−ＰＲＯＴ−ＲＥＳＥＴコマンドを受信した場合、保護属性設定管理部３０１は、保護属性設定モードを解除する。ＣＭＤ−ＰＲＯＴ−ＲＥＳＥＴコマンド受信以降にホスト装置１０から受け取ったデータはそのままフラッシュメモリ１１５に書き込まれ、保護属性情報の書き込みは行われない。またＳＤメモリカード１０１のデフォルトのモードは保護属性設定モードではないので、ＳＤメモリカード１０１の電源投入後からＣＭＤ−ＰＲＯＴ−ＳＥＴコマンドを受信するまでにホスト装置１０から受け取ったデータもそのままフラッシュメモリ１１５に書き込まれ、保護属性情報の書き込みは行われない。
【００３３】
ファイル非保護モード時においては、ホスト装置１０は、ＣＭＤ−ＰＲＯＴ−ＳＥＴコマンドとＣＭＤ−ＰＲＯＴ−ＲＥＳＥＴコマンドを発行せずにファイルの書き込みを行う。
【００３４】
ホスト装置１０がファイル保護モードにある時、ホスト装置１０がファイルをＳＤメモリカード１０１に書き込むと、コントローラ１１２のライト制御部３０３は、ファイルを構成する各データ部をホスト装置１０からのライトコマンドで指定された各ページのデータ記憶領域に書き込むと共に、それら各ページの冗長領域に保護属性情報を書き込む。また、ホスト装置１０がファイル非保護モードの場合は、保護属性情報は一切記録されない。
【００３５】
ここで、図４のフローチャートを参照して、ＣＭＤ−ＰＲＯＴ−ＳＥＴコマンドおよびＣＭＤ−ＰＲＯＴ−ＲＥＳＥＴコマンドに対応するＳＤメモリカード１０１の動作について説明する。
【００３６】
ファイル書き込み要求が発生すると、ホスト装置１０は、先ず、ＣＭＤ−ＰＲＯＴ−ＳＥＴコマンドをＳＤメモリカード１０１に送信する（ステップＳ１０１）。このＣＭＤ−ＰＲＯＴ−ＳＥＴコマンドを受信すると、保護属性設定管理部３０１は、ＳＤメモリカード１０１の現在のモードが保護属性設定モードであることを示すカード保護フラグをセットして、ＳＤメモリカード１０１を保護属性設定モードに設定する。ホスト装置１０は、ファイルを構成するデータをＳＤメモリカード１０１に書き込む処理を開始し、例えば５１２バイトのデータ単位でライトコマンドを順次発行する。ＳＤメモリカード１０１のライト制御部３０３は、ホスト装置１０からのライトコマンドで指定されたページ内のデータ記憶用領域にホスト装置１０からのライトデータを書き込む（ステップＳ１０４）。次いで、ライト制御部３０３は、カード保護フラグがセットされているかどうかを判定し（ステップＳ１０５）、カード保護フラグがセットされていれば、ホスト装置１０からのライトコマンドで指定されたページ内の冗長領域に保護属性設定情報を書き込み、ステップＳ１０４で書き込んだライトデータに対して保護属性を設定する（ステップＳ１０６）。なお、ステップＳ１０４の前にカード保護フラグがセットされているかどうかを判定し、カード保護フラグがセットされているならば、ホスト装置１０からのライトデータに保護属性情報を付加し、それらをライトコマンドで指定されたページに書き込むようにしても良い（この場合も、ライトデータはライトコマンドで指定されたページのデータ記憶用領域に書き込まれ、保護属性情報はそのページの冗長領域に書き込まれる）。
【００３７】
ファイルを構成する全てのデータの書き込みが完了すると、ホスト装置１０は、ファイル管理情報の書き込みを開始する前に、ＣＭＤ−ＰＲＯＴ−ＲＥＳＥＴコマンドをＳＤメモリカード１０１に送信する（ステップＳ１０７）。このＣＭＤ−ＰＲＯＴ−ＲＥＳＥＴコマンドを受信すると、保護属性設定管理部３０１は、カード保護フラグをリセットして、保護属性設定モードを解除する（ステップＳ１０８）。
【００３８】
次に、パスワードの設定／解除動作について説明する。
【００３９】
コントローラ１１２のパスワード管理部３０２は、ＣＭＤ−ＰＳＷＤ−ＳＥＴコマンドのテキストファイルをホスト装置１０から受け取ると、ＳＤメモリカード１０１をデータ保護モードに設定するために、そのテキストファイル内に含まれるパスワードをフラッシュメモリ１１５のシステム領域に記録する。ただし、すでにパスワードが記録されている場合は、新しいパスワードを記録しない（すでに記録されているパスワードをそのまま保存しておく）。
【００４０】
パスワードが設定されている場合（システム領域にパスワードが記録されている場合）、ホスト装置１０からリードコマンドを受信すると、リード制御部３０４は、リードコマンドで指定されたページに対応する冗長領域を調べ、保護属性情報が設定されているか否かを判断する。保護属性情報が設定されている場合、ホスト装置１０によってリード要求されたデータは保護属性情報を伴う保護対象のデータであるので、リード制御部３０４は、リードコマンドで指定されたページのデータ記憶領域に格納されているデータではなく、例えば０や２５５等の特定の値の偽データをデータバッファ１１３に書き込む。これにより、リード要求されたデータとは異なる偽のデータがホストインターフェース１１１を介してホスト装置１０に転送される。保護属性情報を伴わないデータのリードに対しては、正常なデータを転送する。
【００４１】
また、リード制御部３０４は、パスワードが設定されていない場合（システム領域にパスワードが記録されていない場合）、あるいはパスワードが一時的に無効に設定されている場合には、保護属性情報の有無に関わらず、ホスト装置１０からのリードに対して常に正しいデータを転送する。
【００４２】
ファイル管理情報には保護属性情報は設定されていないので、パスワードの設定／非設定に関わらず、ホスト装置は、常に正常なファイル管理情報をリードすることができ、ファイルのアクセスを行うことができる。データ自体のリードに関しては保護属性情報の有無とパスワードの設定／非設定により、リード値が決定される。パスワードが設定されている場合には、保護属性が設定されているデータをリードした時は、本来のデータ値ではなく、特定の値がリードされ、保護属性が設定されていない場合は、正常な値がリードされる。すなわち、パスワードが設定されている場合、ホスト装置１０は保護属性が設定されているデータをリードした場合、本来のデータを読むことができない（保護されているファイルをリードした場合、正常なファイル・データを読むことができない）。
【００４３】
ＣＭＤ−ＰＳＷＤ−ＲＥＳＥＴコマンドのテキストファイルをホスト装置１０から受信すると、パスワード管理部３０２は、そのテキストファイルに含まれているパスワードとシステム領域に保存されているパスワードとを比較し、それらパスワードが一致する場合は、パスワードを一時的に無効化してデータ保護モードを解除する。以降はＳＤメモリカード１０１の電源遮断まで、保護属性情報の有無に関われず、全てのデータが正常にホスト装置１０に読み出される。つまり、ホスト装置１０は、全てのファイルを正常にリードすることことができることになる。ただし、パスワードが保存されている場合はデータ保護モードがデフォルトの動作モードであるので、ＳＤメモリカード１０１の電源遮断があった場合は、それ以降は、保護属性情報の設定されているデータは、特定値に変えてホスト装置に転送される。
【００４４】
ＣＭＤ−ＰＳＷＤ−ＣＬＥＡＲコマンドをホスト装置１０から受信すると、パスワード管理部３０２は、テキストファイルに含まれるパスワードとシステム領域に記録されたパスワードとを比較し、一致する場合、システム領域のパスワードを消去し、以降、全てのデータを正常にホスト装置１０へ転送する。ＳＤメモリカード１０の電源遮断があっても、全データ（保護属性情報が設定されているデータも含む）を正常にホスト装置に転送する。
【００４５】
次に、ＣＭＤ−ＰＳＷＤ−ＳＥＴコマンド、ＣＭＤ−ＰＳＷＤ−ＲＥＳＥＴコマンド、ＣＭＤ−ＰＳＷＤ−ＣＬＥＡＲコマンドそれぞれに対応するＳＤメモリカード１０の具体的な動作について説明する。
【００４６】
図５のフローチャートはＣＭＤ−ＰＳＷＤ−ＳＥＴコマンドに対する動作を示している。ホスト装置１０は、ＳＤメモリカード１０にパスワードを設定する場合、ＣＭＤ−ＰＳＷＤ−ＳＥＴコマンドに対応する文字列とパスワードとを含むテキストファイルをＳＤメモリカード１０１に書き込む（ステップＳ２０１）。コントローラ１１２のパスワード管理部３０２は、データバッファ１１３中のテキストデータを解析してＣＭＤ−ＰＳＷＤ−ＳＥＴコマンドのテキストファイルであることを確認すると、そのテキストファイル内に含まれるパスワードをフラッシュメモリ１１５のシステム領域に記録し、これによってＳＤメモリカード１０１をデータ保護モードに設定する（ステップＳ２０２）。
【００４７】
この後、ホスト装置１０がリードコマンドを送信すると（ステップＳ２０３）、パスワード管理部３０２は、ＳＤメモリカード１０がデータ保護モードであるかデータ非保護モードであるかを判断するために、システム領域にパスワードが保存されているか否か、および保存されているパスワードが有効であるか否かを判断する（ステップＳ２０４，Ｓ２０５）。システム領域にパスワードが保存されていない場合、または保存されているパスワードがＣＭＤ−ＰＳＷＤ−ＲＥＳＥＴコマンドによって一時的に無効化されている場合には、リード制御部３０４は、保護属性の設定の有無に関係なく、ホスト装置１０からのリードコマンドで指定されたデータをフラッシュメモリ１１５から読み出し、これをホスト装置１０に送信する（ステップＳ２０８）。一方、保存されているパスワードが有効であれば、つまりＳＤメモリカード１０がデータ保護モードであれば、リード制御部３０４は、ホスト装置１０からのリードコマンドで指定されたデータに保護属性が設定されているか否かを判断する（ステップＳ２０６）。保護属性が設定されているか否かは、リードコマンドで指定されたページの冗長領域の内容を参照することによって判断される。もしリードコマンドで指定されたデータに保護属性が設定されているならば、リード制御部３０４は、そのデータを特定の値の偽データに置き換え（ステップＳ２０７）、その偽データをホスト装置１０に送信する（ステップＳ２０８）。一方、もしリードコマンドで指定されたデータに保護属性が設定されていないならば、リード制御部３０４は、ホスト装置１０からのリードコマンドで指定されたデータをフラッシュメモリ１１５から読み出し、これをホスト装置１０に送信する（ステップＳ２０８）。
【００４８】
次に、図６のフローチャートを参照して、ＣＭＤ−ＰＳＷＤ−ＲＥＳＥＴコマンドに対する動作を説明する。
【００４９】
ホスト装置１０は、ＳＤメモリカード１０に保存したパスワードを一時的に無効化する場合、ＣＭＤ−ＰＳＷＤ−ＲＥＳＥＴコマンドに対応する文字列とパスワードとを含むテキストファイルをＳＤメモリカード１０１に書き込む（ステップＳ３０１）。コントローラ１１２のパスワード管理部３０２は、データバッファ１１３中のテキストデータを解析してＣＭＤ−ＰＳＷＤ−ＲＥＳＥＴコマンドのテキストファイルであることを確認すると、そのテキストファイルからパスワードを抽出し、システム領域に保存されているパスワードと比較する（ステップＳ３０２）。テキストファイルから抽出したパスワードとシステム領域に保存されているパスワードとが一致したならば、パスワード管理部３０２は、ＳＤメモリカード１０に保存されているパスワードを一時的に無効化して、ＳＤメモリカード１０をデータ非保護モードにする（ステップＳ３０３）。
【００５０】
次に、図７のフローチャートを参照して、ＣＭＤ−ＰＳＷＤ−ＣＬＥＡＲコマンドに対する動作を説明する。
【００５１】
ホスト装置１０は、ＳＤメモリカード１０に保存したパスワードを削除する場合、ＣＭＤ−ＰＳＷＤ−ＣＬＥＡＲコマンドに対応する文字列とパスワードとを含むテキストファイルをＳＤメモリカード１０１に書き込む（ステップＳ４０１）。コントローラ１１２のパスワード管理部３０２は、データバッファ１１３中のテキストデータを解析してＣＭＤ−ＰＳＷＤ−ＣＬＥＡＲコマンドのテキストファイルであることを確認すると、そのテキストファイルからパスワードを抽出し、システム領域に保存されているパスワードと比較する（ステップＳ４０２）。テキストファイルから抽出したパスワードとシステム領域に保存されているパスワードとが一致したならば、パスワード管理部３０２は、ＳＤメモリカード１０に保存されているパスワードを削除する（ステップＳ４０３）。
【００５２】
次に、具体的な利用形態について説明する。
【００５３】
利用者は、ホスト装置（例えばデジタルカメラ等）で、第三者に見せたくないファイルをＳＤメモリカード１０に書き込むとき（第三者に見せたくない写真を撮るとき）、ホスト装置をファイル保護モードに設定し、ファイルを書き込む（写真を撮る）。この場合は、そのファイル（写真）のデータと一緒に保護属性情報が記録される。すなわち、ファイルのデータに保護属性が設定される（保護属性が設定されたファイルに対するファイル管理情報には保護情報が記録されておらず、ホスト装置は、正常なファイル管理情報を得ることができる）。
【００５４】
一方、第三者に見せてもよいファイルを書き込むときは（第三者に見せてもよい写真を撮るとき）、利用者は、ホスト装置をファイル非保護モードに設定して、ファイルを書き込む（写真を撮る）。この場合、保護属性情報は記録されず、ファイルのデータには保護属性が設定されていないことになる。
【００５５】
利用者は、ファイル（写真）を第三者に渡すためにＳＤメモリカード１０を一時的に貸し出す前に、パーソナルコンピュータなどのホスト装置にＳＤメモリカード１０を挿入した状態で、ＣＭＤ−ＰＳＷＤ−ＳＥＴコマンドによりパスワードを設定する。このコマンドは、テキストファイルの書き込みによって発行するコマンドであるため、不特定多数の機器で発行することが可能であり、不特定多数の機器でパスワードの設定が可能となる。
【００５６】
ＳＤメモリカード１０を借用した者は、保護属性が設定されていないファイル（写真）に対しては正常にリードすることができるが、保護属性が設定されえているファイル（写真）は特定値に変更されたデータ値しかリードできないので、本来のファイル（写真）を見ることができない。
【００５７】
利用者は、一時的にファイル（写真）の保護属性を解除して、正常なデータをリードした場合は、ＣＭＤ−ＰＳＷＤ−ＲＥＳＥＴコマンドを発行する。このコマンドは、テキストファイルの書き込みによって発行するコマンドであるため、不特定多数の機器で発行することが可能であり、パスワードを知っていれば、不特定多数の機器で保護されたファイルを正常にリードすることが可能である。このコマンド発行により、以降は、ＳＤメモリカード１０の電源遮断（ホスト装置からのＳＤメモリカード１０の取り出し、またはホスト装置の電源断）を行うまでファイル（写真）を正常にリードできる。
【００５８】
利用者は、恒久的にファイル（写真）の保護属性を解除して、正常なデータをリードした場合は、ＣＭＤ−ＰＳＷＤ−ＣＬＥＡＲコマンドを発行する。このコマンドは、テキストファイルの書き込みによって発行するコマンドであるため、不特定多数の機器で発行することが可能であり、パスワードを知っていれば、不特定多数の機器で保護されたパスワードの解除を行うことができる。このコマンド発行により、パスワードが新たに設定されるまで（ＣＭＤ−ＰＳＷＤ−ＳＥＴコマンドが発行されるまで）ファイル（写真）を正常にリードできる。
【００５９】
なお、以上の実施形態では、ＣＭＤ−ＰＳＷＤ−ＳＥＴコマンド、ＣＭＤ−ＰＳＷＤ−ＲＥＳＥＴコマンド、ＣＭＤ−ＰＳＷＤ−ＣＬＥＡＲコマンドをテキストファイルの書き込みによって発行されるコマンドとして実現した場合を説明したが、専用のコマンドとして実現することもできる。この場合、パスワードはその専用コマンドのコマンド引数としてＳＤメモリカード１０１に与えられる。
【００６０】
また、機密性を更に高めるために、以下のような機能をコントローラ１１２に実装しても良い。
【００６１】
１）システム領域に保存されているパスワードと一致しないパスワードを含むＣＭＤ−ＰＳＷＤ−ＲＥＳＥＴコマンドのテキストファイルを例えば特定回数連続して受信した場合に、保護属性情報と一緒にフラッシュメモリ１１５に記録されている各データを特定の値に変更し、これによって不正攻撃からデータを守る。
【００６２】
２）システム領域に保存されているパスワードと一致しないパスワードを含むＣＭＤ−ＰＳＷＤ−ＣＬＥＡＲコマンドのテキストファイルを例えば特定回数連続して受信した場合に、保護属性情報と一緒にフラッシュメモリ１１５に記録されている各データを特定の値に変更し、これによって不正攻撃からデータを守る。
【００６３】
また、上述の各実施形態はＳＤメモリカードを例示して説明したが、本ジッシケイタイノセキュリティー機能はホスト装置に取り外し自在に接続可能な様々なメモリカードに適用することができる。メモリカードはリムーバブル記憶装置の総称であり、その物理的形状を制限するものではない。
【００６４】
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００６５】
【図１】本発明の一実施形態に係るメモリカードの構成を示すブロック図。
【図２】同実施形態のメモリカードに設けられた不揮発性半導体メモリの記憶領域の構成を示す図。
【図３】同実施形態のメモリカードに保護対象ファイルを書き込む場合のホスト装置の動作を示す図。
【図４】同実施形態で用いられるＣＭＤ−ＰＲＯＴ−ＳＥＴコマンドおよびＣＭＤ−ＰＲＯＴ−ＲＥＳＥＴコマンドにそれぞれ対応するメモリカードの動作を示すフローチャート。
【図５】同実施形態で用いられるＣＭＤ−ＰＳＷＤ−ＳＥＴコマンドに対応するメモリカードの動作を示すフローチャート。
【図６】同実施形態で用いられるＣＭＤ−ＰＳＷＤ−ＲＥＳＥＴコマンドに対応するメモリカードの動作を示すフローチャート。
【図７】同実施形態で用いられるＣＭＤ−ＰＳＷＤ−ＣＬＥＡＲコマンドに対応するメモリカードの動作を示すフローチャート。
【符号の説明】
【００６６】
１０…ホスト装置、１０１…ＳＤメモリカード、１１１…ホストインターフェース、１１２…コントローラ、１１３…データバッファ、１１４…メモリインタフェース、１１５…フラッシュメモリ、２０１…モード指定部、２０２…カードアクセス部、３０１…保護属性設定管理部、３０２…パスワード管理部、３０３…ライト制御部、３０４…リード制御部。
【図１】
2005267163.tif 000003
【図２】
2005267163.tif 000004
【図３】
2005267163.tif 000005
【図４】
2005267163.tif 000006
【図５】
2005267163.tif 000007
【図６】
2005267163.tif 000008
【図７】
2005267163.tif 000009