(57)【要約】【課題】特定のホスト機器ではメモリカード内のデータの書き込み、読み出し、及び消去が許可され、その他のホスト機器ではデータの書き込み及び消去が禁止され、データの読み出しのみが許可されるメモリカード及びホスト機器を提供する。【解決手段】メモリカード個々に付与されたカード識別情報を有する不揮発性メモリ２２と、不揮発性メモリ２２へのデータの書き込み、読み出し、及び消去を制御するメモリコントローラ２１とを備える。メモリコントローラ２１は、カード識別情報に基づいて生成されたパスワードを用いてパスワードの設定を行う。さらに、メモリコントローラ２１は、パスワードの設定を行った後、不揮発性メモリ２２に対してデータの書き込み及び消去を禁止し、かつデータの読み出しを許可する読み出し可能なロック動作を行う。【選択図】図３Ａ
2012212396.tif 000002
【特許請求の範囲】
【請求項１】
メモリカード個々に付与されたカード識別情報を有する不揮発性メモリと、
前記不揮発性メモリへのデータの書き込み、読み出し、及び消去を制御するコントローラとを具備し、
前記コントローラは、前記カード識別情報に基づいて生成されたパスワードを用いてパスワードの設定を行い、
前記コントローラは、前記パスワードの設定を行った後、前記不揮発性メモリに対してデータの書き込み及び消去を禁止し、かつデータの読み出しを許可する読み出し可能なロック動作を行うことを特徴とするメモリカード。
【請求項２】
メモリカード個々に付与されたカード識別情報を有する不揮発性メモリと、
前記不揮発性メモリへのデータの書き込み、読み出し、及び消去を制御するコントローラとを具備し、
前記コントローラは、電源供給が開始されたとき、前記カード識別情報に基づいて生成されたパスワードが設定されているか否かを確認し、
前記コントローラは、前記パスワードが設定されている場合は、前記不揮発性メモリに対するデータの書き込み及び読み出しを禁止し、かつデータの読み出しを許可し、
前記パスワードが設定されていない場合は、前記不揮発性メモリに対するデータの書き込み、読み出し、及び消去を許可することを特徴とするメモリカード。
【請求項３】
前記コントローラは、受信したコマンドが含む引数によって前記読み出し可能なロック動作を行うことを特徴とする請求項１に記載のメモリカード。
【請求項４】
前記コントローラは、受信したコマンドに続いて入力されたデータが含む命令コードによって、前記読み出し可能なロック動作を行うことを特徴とする請求項１に記載のメモリカード。
【請求項５】
メモリカードに対してアクセスするホスト機器において、
前記ホスト機器は、前記メモリカードとの間で信号の授受を行うホストコントローラを具備し、
前記ホストコントローラは、前記メモリカードからカード識別情報を受信し、前記カード識別情報に基づいて前記メモリカードに設定するパスワードを生成することを特徴とするホスト機器。
【請求項６】
前記ホストコントローラは、コマンドを前記メモリカードへ送信することによって、データの書き込み及び消去を禁止し、かつデータの読み出しを許可する、読み出し可能なロック動作を前記メモリカードに実行させることを特徴とする請求項５に記載のホスト機器。
【請求項７】
前記ホストコントローラは、前記コマンドが含む引数によって前記読み出し可能なロック動作を前記メモリカードに実行させることを特徴とする請求項６に記載のホスト機器。
【請求項８】
前記ホストコントローラは、前記コマンドに続いて前記メモリカードへ入力される命令コード及び前記パスワードによって、前記読み出し可能なロック動作を前記メモリカードに実行させることを特徴とする請求項６に記載のホスト機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、メモリカード、及びメモリカードにアクセスするホスト機器に関するものである。
【背景技術】
【０００２】
近年、パーソナルコンピュータ、ＰＤＡ、デジタルカメラ、携帯電話等の様々な携帯用電子機器においては、ＳＤ(Secure Digital)メモリカード等のリムーバブルストレージデバイスが広く用いられている。
【０００３】
ＳＤメモリカードでは、顧客の要求として、特定のＳＤホスト機器でのみメモリカードにデータの書き込み、読み出し、及び消去を可能とし、特定でないその他のＳＤホスト機器にてメモリカードにアクセスする場合には読み出し専用として、データを改ざんできないようにするシステムが求められている。このような要求を従来のＳＤメモリカードの機能を用いて実現しようとする場合、以下のような問題がある。
【０００４】
従来のメモリカードはロック機能を有している。ロック機能の特徴は、パスワードを用いてメモリカード内のデータの書き込み、読み出し、及び消去を禁止する機能である。書き込み、読み出し、及び消去を禁止することを「ロック」と呼び、逆にロックされたメモリカードを再び、書き込み、読み出し、及び消去を可能にすることを「アンロック」と呼ぶ。
【０００５】
この機能を利用した場合、特定のＳＤホスト機器によりＳＤメモリカードにパスワードを設定し、「ロック」する。これにより、「ロック」を解除するパスワードがわからないその他のＳＤホスト機器では、メモリカードの「ロック」を解除することができない。これにより、他のＳＤホスト機器によるＳＤメモリカード内のデータの改ざんを防止するという目的は達成できたことになる。
【０００６】
しかし、従来のＳＤメモリカードにおける「ロック」は、書き込み、消去を禁止するだけでなく、読み出しも禁止された状態になってしまう。このため、その他のＳＤホスト機器によるＳＤメモリカード内のユーザデータの読み出しもできなくなってしまう。したがって、従来の技術では前述した要求を満足することはできない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−２５９３２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特定のホスト機器ではメモリカード内のデータの書き込み、読み出し、及び消去が許可され、その他のホスト機器ではデータの書き込み及び消去が禁止され、データの読み出しのみが許可されるメモリカード及びホスト機器を提供する。
【課題を解決するための手段】
【０００９】
一実施態様のメモリカードは、メモリカード個々に付与されたカード識別情報を有する不揮発性メモリと、前記不揮発性メモリへのデータの書き込み、読み出し、及び消去を制御するコントローラとを備える。前記コントローラは、前記カード識別情報に基づいて生成されたパスワードを用いてパスワードの設定を行う。さらに、前記コントローラは、前記パスワードの設定を行った後、前記不揮発性メモリに対してデータの書き込み及び消去を禁止し、かつデータの読み出しを許可する読み出し可能なロック動作を行うことを特徴とする。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態のメモリシステムの構成を示すブロック図である。
【図２】第１実施形態のホスト機器とメモリカード間のロックコマンド実行時のトランザクションを示す図である。
【図３Ａ】第１実施形態のホスト機器によるメモリカードへのデータ書き込みまたは消去の処理手順を示すフローチャートである。
【図３Ｂ】第１実施形態のホスト機器によるメモリカードへのデータ読み出しの処理手順を示すフローチャートである。
【図３Ｃ】その他のホスト機器によるメモリカードへのデータ書き込みまたは消去の処理手順を示すフローチャートである。
【図３Ｄ】その他のホスト機器によるメモリカードへのデータ読み出しの処理手順を示すフローチャートである。
【図４】第１実施形態のホスト機器におけるパスワード生成の処理を示すフローチャートである。
【図５】第１実施形態のメモリカードにおけるパスワード生成の処理を示すフローチャートである。
【図６】第１実施形態のカード識別情報（ＣＩＤ情報）の詳細を示す図である。
【図７】第１実施形態のホスト機器におけるパスワード設定の処理を示すフローチャートである。
【図８】第１実施形態のメモリカードにおけるパスワード設定の処理を示すフローチャートである。
【図９】第１実施形態のホスト機器におけるデータ書き込みの処理を示すフローチャートである。
【図１０】第１実施形態のメモリカードにおけるデータ書き込みの処理を示すフローチャートである。
【図１１】第１実施形態のホスト機器におけるデータ消去の処理を示すフローチャートである。
【図１２】第１実施形態のメモリカードにおけるデータ消去の処理を示すフローチャートである。
【図１３】第１実施形態のメモリカードにおける自動ロックの処理を示すフローチャートである。
【図１４】第２実施形態のホスト機器におけるパスワード設定の処理を示すフローチャートである。
【図１５】第２実施形態のメモリカードにおけるパスワード設定の処理を示すフローチャートである。
【図１６】第２実施形態におけるロックコマンドのフォーマットを示す図である。
【図１７】第２実施形態にメモリカードにおける自動ロックの処理を示すフローチャートである。
【図１８】第３実施形態で転送されるデータのフォーマットを示す図である。
【図１９】第３実施形態のメモリカードにおける自動ロックの処理を示すフローチャートである。
【図２０】第４実施形態のホスト機器におけるパスワード設定の処理を示すフローチャートである。
【図２１】第４実施形態のメモリカードにおけるパスワード設定の処理を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して実施形態のメモリカード、ホスト機器、及びメモリシステムについて説明する。ここでは、メモリカード、ホスト機器、及びメモリシステムとして、ＳＤメモリカード、ＳＤホスト機器、及びメモリシステムを例に取る。なお、以下の説明において、同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【００１２】
［第１実施形態］
まず、第１実施形態のメモリシステムについて説明する。
【００１３】
［１］システム構成
図１は、第１実施形態のメモリシステムの構成を示すブロック図である。
【００１４】
図示するように、ＳＤホスト機器（以下、ホストと記す）１０とＳＤメモリカード（以下、メモリカードと記す）２０は、ＳＤバス３０を介して接続されている。
【００１５】
メモリカード２０は、メモリコントローラ２１と不揮発性メモリ２２を有する。メモリコントローラ２１は、不揮発性メモリ２２へのデータの書き込み、読み出し、及び消去を制御する。メモリコントローラ２１と不揮発性メモリ２２は、互いにメモリバス２３により接続されている。
【００１６】
不揮発性メモリ２２は、メモリカードのレジスタ情報のうちの一つであるカード識別情報（以下、ＣＩＤ情報と記す）が記憶されたＣＩＤ情報領域２２Ａと、ユーザの書き込んだデータ（ユーザデータ）が記憶されるユーザデータ領域２２Ｂを有する。ＣＩＤ情報は、メモリカードを識別するためにメモリカード個々に付与された情報である。
【００１７】
不揮発性メモリ２２は、例えば、ＮＡＮＤ型フラッシュメモリ、ＮＯＲ型フラッシュメモリ、ＡＮＤ型フラッシュメモリを含む。ＮＡＮＤ型フラッシュメモリは、複数の不揮発性メモリセルトランジスタを備える。不揮発性メモリセルトランジスタは浮遊ゲートと制御ゲートを有する。
【００１８】
ホスト１０は、ホスト１０の動作を制御するホストコントローラ１１を有する。ホストコントローラ１１は、メモリカード２０内のメモリコントローラ２１との間で信号の授受を行う。
【００１９】
ＳＤバス３０は、ホスト１０内のホストコントローラ１１とメモリカード２０内のメモリコントローラ２１を接続して通信を行うためのバスである。また、メモリバス２３は、メモリコントローラ２１と不揮発性メモリ２２を接続して通信を行うためのバスである。
【００２０】
次に、ホスト１０とメモリカード２０との間の通信方式について説明する。通信方式については、“Part 1 Physical Layer Simplified Specification Ver3.01”に記載されている。ホスト１０がメモリカード２０にコマンドを送信し、メモリカード２０は、コマンドを受信したことに対するレスポンスをホスト１０へ返信する。また、メモリカード２０にデータを書き込む場合、ホスト１０は書き込みデータをメモリカード２０へ送信する。また、メモリカード２０からデータを読み出す場合、ホスト１０はメモリカード２０から読み出しデータを受信する。
【００２１】
また、メモリカード２０はロック機能を有する。ロック機能の特徴は、パスワードの設定によってメモリカード２０内のデータの書き込み、読み出し、及び消去を禁止する機能である。書き込み、読み出し、及び消去を禁止することを「ロック」と呼び、逆にロックされたメモリカード２０を再び、書き込み、読み出し、及び消去を可能にすることを「アンロック」と呼ぶ。また、もう一つの特徴として、パスワードが事前に設定されているＳＤメモリカードの場合には、次回の電源供給により自動的に「ロック」状態になる自動ロック機能がある。
【００２２】
次に、ＳＤホスト機器１０とＳＤメモリカード２０においてロックコマンドを実行した時のＳＤバス３０上のトランザクションについて説明する。
【００２３】
図２は、ホスト１０とメモリカード２０間のロックコマンド実行時のトランザクションを示す図である。
【００２４】
メモリカード２０は、ホスト１０からロック動作を命ずるコマンド（ロックコマンド）と引数を受信する（ステップＳ１）。これに対して、メモリカード２０は、レスポンスをホスト１０へ送信する（ステップＳ２）。その後、メモリカード２０は、ホスト１０から動作モードの命令コード、パスワード長、パスワードが含まれたデータを受信する（ステップＳ３）。そのデータによりメモリカード２０は、５つの動作モード（「ロック動作」、「アンロック動作」、「強制イレーズ動作」、「パスワード設定動作」、「パスワードクリア動作」）のいずれが指定されたかを判断し、指定された動作モードを実行する。そして、メモリカード２０は、ＣＲＣ(cyclic redundancy check）ステータス、及びビジー信号をホスト１０へ送信する（ステップＳ４，Ｓ５）。
【００２５】
以下に、上述した５つの動作モードについて説明する。
【００２６】
「ロック動作」は、あらかじめパスワードが設定されたメモリカード２０に対して、パスワード認証によりメモリカードをロック状態にする動作である。また、「アンロック動作」は、メモリカード２０がロック状態にあるとき、パスワード認証によりロック状態を解除してアンロック状態にする動作である。また、「強制イレーズ動作」は、メモリカード２０がロック状態にあるとき、パスワード認証なしで強制的にロック状態を解除する動作である。ただし、その場合、メモリカード２０内のデータはすべて消去される。また、「パスワード設定動作」は、パスワードが未設定のメモリカード２０の場合には新規にパスワードを設定し、パスワードが設定済みの場合には、パスワード認証によりパスワードを変更することができる動作である。また、「パスワードクリア動作」は、メモリカード２０に設定されているパスワードをパスワード認証により解除する動作である（詳細は“Part 1 Physical Layer Simplified Specification Ver3.01”を参照のこと）。
【００２７】
［２］ホスト機器とメモリカードの動作
特定のホスト機器による書き込みまたは消去を図３Ａに示し、特定のホスト機器による読み出しを図３Ｂに、その他のホスト機器による書き込みまたは消去を図３Ｃに、その他のホスト機器による読み出しを図３Ｄにそれぞれ示す。
【００２８】
図３Ａは、第１実施形態のＳＤホスト機器１０によるＳＤメモリカード２０へのデータ書き込みまたは消去の処理手順を示したフローチャートである。図３Ａは、書き込みまたは消去の処理をホストの処理として示したが、メモリカードの処理も同様にこのフローチャートに沿ったものとなる。
【００２９】
まず、ＳＤホスト機器１０は、ＳＤメモリカード２０を起動するためにメモリカードへ電源を供給する（ステップＳ１１）。続いて、イニシャライズ用の一連のコマンドをメモリカード２０へ送信し、メモリカードをイニシャライズする（ステップＳ１２）。その後、メモリカード２０固有のパスワードを生成するための「パスワード生成」の処理を行う（ステップＳ１３）。
【００３０】
次に、ホスト１０は、メモリカード２０がロックされていないかどうかを確認する（ステップＳ１４）。メモリカード２０がロックされていない場合（Yes）は、新たにメモリカード２０にパスワードを設定するための「パスワード設定」の処理を行う（ステップＳ１５）。
【００３１】
続いて、ホスト１０は、パスワード設定が成功したか否かを確認する（ステップＳ１６）。パスワード設定が成功した場合（Yes）は、ホスト１０はメモリカード２０に「データ書き込みまたは消去」の処理を行う（ステップＳ１７）。
【００３２】
次に、ホスト１０は、データ書き込みまたは消去が成功したか否かを確認する（ステップＳ１８）。データ書き込みまたは消去が成功した場合（Yes）は、ホスト１０は「読み出し可能なロック動作」の処理を行う（ステップＳ１９）。ここで、「読み出し可能なロック動作」は、メモリカード２０に対し、データの書き込み及び消去を禁止し、データの読み出しのみを許可する動作である。その後、ホスト１０はメモリカード２０への電源供給を止め（ステップＳ２０）、処理を終了する。
【００３３】
また、ステップＳ１４においてメモリカード２０がロックされていた場合（No）は、ホスト１０は、ホスト１０が生成したパスワードにより、メモリカード２０のロックを解除する「アンロック動作」の処理を試みる（ステップＳ２１）。続いて、ホスト１０は、アンロック動作が成功したか否かを確認する（ステップＳ２２）。アンロック動作が成功した場合（Yes）は、ステップＳ１７に移行し、「データ書き込みまたは消去」の処理を行う。
【００３４】
一方、ステップＳ１６でパスワード設定が成功しなかった場合（No）、ステップＳ１８でデータ書き込みまたは消去が成功しなかった場合（No）、及びステップＳ２２でアンロック動作が成功しなかった場合（No）は、ホスト１０はエラー処理を行う。
【００３５】
なお、メモリカード２０が自動ロック機能を持つ場合には、ステップＳ１９の「読み出し可能なロック動作」の処理は削除してもよい。自動ロック機能については、後で詳述する。メモリカード２０への電源供給を止める前に、メモリカード２０を読み出しが可能なロック状態にする必要がある場合は、このステップＳ１９の「読み出し可能なロック動作」の処理が必要である。
【００３６】
図３Ｂは、第１実施形態のＳＤホスト機器１０によるＳＤメモリカード２０へのデータ読み出しの処理手順を示したフローチャートである。図３Ｂは、読み出しの処理をホストの処理として示したが、メモリカードの処理も同様にこのフローチャートに沿ったものとなる。
【００３７】
まず、ＳＤホスト機器１０は、ＳＤメモリカード２０を起動するためにメモリカードへ電源を供給する（ステップＳ１１）。続いて、イニシャライズ用の一連のコマンドをメモリカード２０へ送信し、メモリカードをイニシャライズする（ステップＳ１２）。その後、メモリカード２０固有のパスワードを生成するための「パスワード生成」の処理を行う（ステップＳ１３）。
【００３８】
次に、ホスト１０は、メモリカード２０がロックされていないかどうかを確認する（ステップＳ１４）。メモリカード２０がロックされていない場合（Yes）は、新たにメモリカード２０にパスワードを設定するための「パスワード設定」の処理を行う（ステップＳ１５）。
【００３９】
続いて、ホスト１０は、パスワード設定が成功したか否かを確認する（ステップＳ１６）。パスワード設定が成功した場合（Yes）は、ホスト１０はメモリカード２０に「データ読み出し」の処理を行う（ステップＳ３１）。
【００４０】
次に、ホスト１０は、データ読み出しが成功したか否かを確認する（ステップＳ３２）。データ読み出しが成功した場合（Yes）は、ホスト１０は「読み出し可能なロック動作」の処理を行う（ステップＳ１９）。ここで、「読み出し可能なロック動作」は、メモリカード２０に対し、データの書き込み及び消去を禁止し、データの読み出しのみを許可する動作である。その後、ホスト１０はメモリカード２０への電源供給を止め（ステップＳ２０）、処理を終了する。
【００４１】
また、ステップＳ１４においてメモリカード２０がロックされていた場合（No）は、ホスト１０は、ホスト１０が生成したパスワードにより、メモリカード２０のロックを解除する「アンロック動作」の処理を試みる（ステップＳ２１）。続いて、ホスト１０は、アンロック動作が成功したか否かを確認する（ステップＳ２２）。アンロック動作が成功した場合（Yes）は、ステップＳ３１に移行し、「データ読み出し」の処理を行う。
【００４２】
一方、ステップＳ１６でパスワード設定が成功しなかった場合（No）、ステップＳ３２でデータ読み出しが成功しなかった場合（No）、及びステップＳ２２でアンロック動作が成功しなかった場合（No）は、ホスト１０はエラー処理を行う。
【００４３】
なお、メモリカード２０が自動ロック機能を持つ場合には、ステップＳ１９の「読み出し可能なロック動作」の処理は削除してもよい。
【００４４】
図３Ｃは、その他のホスト機器によるＳＤメモリカード２０へのデータの書き込みまたは消去の処理手順を示したフローチャートである。図３Ｃは、書き込みまたは消去の処理をホストの処理として示したが、メモリカードの処理も同様にこのフローチャートに沿ったものとなる。
【００４５】
まず、ＳＤホスト機器は、ＳＤメモリカード２０を起動するためにメモリカードへ電源を供給する（ステップＳ１１）。続いて、イニシャライズ用の一連のコマンドをメモリカード２０へ送信し、メモリカードをイニシャライズする（ステップＳ１２）。
【００４６】
次に、ホストは、メモリカード２０がロックされていないかどうかを確認する（ステップＳ１４）。ここでのロックは、「読み出し可能なロック状態」を含まないものとする。メモリカード２０がロックされていない場合（Yes）は、ホストはメモリカード２０に「データ書き込みまたは消去」の処理を行う（ステップＳ１７）。
【００４７】
ホストは、データ書き込みまたは消去が成功したか否かを確認する（ステップＳ１８）。ここで、メモリカード２０が「読み出し可能なロック状態」にある場合は、データ書き込みまたは消去は必ず失敗し（No）、ホストはエラー処理を行う。なお、メモリカード２０が「読み出し可能なロック状態」にない場合、すなわち、通常のロック状態及び「読み出し可能なロック状態」が共に解除されている場合で、データ書き込みまたは消去が成功した場合は、ホストはメモリカード２０への電源供給を止め（ステップＳ２０）、処理を終了する。
【００４８】
また、ステップＳ１４においてメモリカード２０がロックされていた場合（No）は、ホストは、メモリカード２０のロックを解除する「アンロック動作」の処理を試みる（ステップＳ２１）。続いて、ホストは、アンロック動作が成功したか否かを確認する（ステップＳ２２）。ここで、その他のホストではアンロック動作は必ず失敗し、ホストはエラー処理を行う。
【００４９】
上述したように、その他のホストでは、メモリカード２０が「読み出し可能なロック状態」に設定されている場合、書き込みまたは消去を行うことができない。
【００５０】
図３Ｄは、その他のホスト機器によるＳＤメモリカード２０へのデータ読み出しの処理手順を示したフローチャートである。図３Ｄは、読み出しの処理をホストの処理として示したが、メモリカードの処理も同様にこのフローチャートに沿ったものとなる。
【００５１】
まず、ＳＤホスト機器は、ＳＤメモリカード２０を起動するためにメモリカードへ電源を供給する（ステップＳ１１）。続いて、イニシャライズ用の一連のコマンドをメモリカード２０へ送信し、メモリカードをイニシャライズする（ステップＳ１２）。
【００５２】
次に、ホストは、メモリカード２０がロックされていないかどうかを確認する（ステップＳ１４）。ここでのロックは、「読み出し可能なロック状態」を含まないものとする。メモリカード２０がロックされていない場合（Yes）は、ホストはメモリカード２０に「データ読み出し」の処理を行う（ステップＳ３１）。
【００５３】
ホストは、データ読み出しが成功したか否かを確認する（ステップＳ３２）。データ読み出しが成功した場合（Yes）は、ホスト１０はメモリカード２０への電源供給を止め（ステップＳ２０）、処理を終了する。一方、データ読み出しが成功しなかった場合（No）は、ホスト１０はエラー処理を行う。
【００５４】
また、ステップＳ１４においてメモリカード２０がロックされていた場合（No）は、ホストは、メモリカード２０のロックを解除する「アンロック動作」の処理を試みる（ステップＳ２１）。続いて、ホストは、アンロック動作が成功したか否かを確認する（ステップＳ２２）。ここで、その他のホストではアンロック動作は必ず失敗し、ホストはエラー処理を行う。
【００５５】
上述したように、その他のホストでは、メモリカード２０が「読み出し可能なロック状態」に設定されている場合、読み出しを行うことができる。
【００５６】
次に、図３Ａに示したフローチャート内の各サブルーチンの処理について詳細を説明する。
【００５７】
図４及び図５を用いて図３Ａ内の「パスワード生成」（Ｓ１３）の処理について説明する。図４はホスト側の処理手順を示し、図５はメモリカード側の処理手順を示したものである。
【００５８】
図４に示すホスト１０の処理は以下のようになる。まず、ホスト１０は、メモリカード２０からカード識別情報（ＣＩＤ情報）を読み取るためのコマンド（例えば、ＣＭＤ２またはＣＭＤ１０）をメモリカード２０へ送信する（ステップＳ１０１）。ホスト１０は、メモリカード２０からＣＩＤ情報を含んだレスポンスを受信する（ステップＳ１０２）。ホスト１０は、ＣＩＤ情報に基づいて、そのメモリカード固有のパスワードを生成する（ステップＳ１０３）。以上により、ホスト１０はパスワード生成処理を終了する。
【００５９】
ここで、メモリカードが持つＣＩＤ情報について詳述する。
【００６０】
図６は、ＣＩＤ情報の詳細を示す図である。ＣＩＤ情報は、ＳＤメモリカードを識別するためにＳＤメモリカード個々に付与された情報であり、ＳＤメモリカードが有する１２８ビットのデータである。ＣＩＤ情報は、１２８ビット全体でメモリカードごとに固有の値となっている。パスワード生成では、このＣＩＤ情報からそのメモリカードに固有のパスワードを生成する。
【００６１】
また、図５に示すメモリカード２０の処理は以下のようになる。まず、メモリカード２０は、ＣＩＤ情報を読み取るためのコマンド（例えば、ＣＭＤ２またはＣＭＤ１０）をホスト１０から受信する（ステップＳ２０１）。続いて、メモリカード２０は、ＣＩＤ情報を含むレスポンスをホスト１０へ送信する（ステップＳ２０２）。以上により、メモリカード２０はパスワード生成処理を終了する。
【００６２】
次に、図７及び図８を用いて図３Ａ内の「パスワード設定」（Ｓ１５）の処理について説明する。図７はホスト側の処理手順を示し、図８はメモリカード側の処理手順を示したものである。
【００６３】
図７に示すホスト１０の処理は以下のようになる。まず、ホスト１０は、ロックコマンド（例えば、ＣＭＤ４２）をメモリカード２０へ送信する（ステップＳ３０１）。ホスト１０は、メモリカード２０からＣＭＤ４２のレスポンスを受信する（ステップＳ３０２）。
【００６４】
ホスト１０は、レスポンスにエラーがないかどうかを確認する（ステップＳ３０３）。レスポンスにエラーがない場合、ホスト１０はパスワード設定を命ずる命令コード、先に生成したパスワード及びパスワード長を含んだデータをメモリカード２０へ送信する（ステップＳ３０４）。前記データは、ロックコマンドに続いてホスト１０からメモリカード２０へ送信される。
【００６５】
続いて、ホスト１０は、メモリカード２０からＣＲＣステータスを受信する（ステップＳ３０５）。ホスト１０は、ＣＲＣステータスにエラーがないかどうかを確認する（ステップＳ３０６）。ＣＲＣステータスにエラーがない場合、ホスト１０はメモリカード２０におけるビジーを監視する、すなわちホスト１０はメモリカード２０がパスワード設定の処理中であることを示すビジー信号を監視する（ステップＳ３０７）。
【００６６】
さらに、ホスト１０は、メモリカード２０におけるビジーが解除されたか否かを確認する（ステップＳ３０８）。ビジーが解除された場合、ホスト１０はパスワード設定処理を終了する。
【００６７】
また、ステップＳ３０３でレスポンスにエラーがあった場合（No）、ステップＳ３０６でＣＲＣステータスにエラーがあった場合（No）、及びステップＳ３０８でメモリカード２０におけるビジーが所定時間、解除されなかった場合（No）は、ホスト１０はエラー処理を行う。
【００６８】
一方、図８に示すメモリカード２０の処理は以下のようになる。まず、メモリカード２０は、ホスト１０からロックコマンド（例えば、ＣＭＤ４２）を受信する（ステップＳ４０１）。メモリカード２０は、ＣＭＤ４２に対するレスポンスをホスト１０へ送信する（ステップＳ４０２）。
【００６９】
続いて、メモリカード２０は、パスワード設定を命ずる命令コード、パスワード及びパスワード長を含んだデータをホスト１０から受信する（ステップＳ４０３）。前記データは、ロックコマンドに続いてメモリカード２０に入力される。メモリカード２０は、ＣＲＣステータスをホスト１０へ送信する（ステップＳ４０４）。
【００７０】
さらに、先に受信した命令コード、パスワード及びパスワード長を含んだデータに基づいて、メモリカード２０はパスワード設定の処理を実行する（ステップＳ４０５）。続いて、メモリカード２０は、パスワード設定の処理中であることをビジー信号によりＳＤバス３０上でホスト１０へ通知する（ステップＳ４０６）。その後、メモリカード２０はパスワード設定処理を終了する。
【００７１】
次に、図３Ａ内の「データ書き込みまたは消去」（Ｓ１７）の処理のうち、まずデータ書き込みの処理について図９及び図１０を用いて説明する。図９はホスト側の処理手順を示し、図１０はカード側の処理手順を示したものである。
【００７２】
図９に示すホスト１０の処理は以下のようになる。まず、ホスト１０は、データ書き込みを命ずるコマンド（例えば、ＣＭＤ２４またはＣＭＤ２５）をメモリカード２０へ送信する（ステップＳ５０１）。続いて、ホスト１０は、メモリカード２０から前記コマンドのレスポンスを受信する（ステップＳ５０２）。
【００７３】
ホスト１０は、レスポンスにエラーがないかどうかを確認する（ステップＳ５０３）。レスポンスにエラーがない場合、書き込むべきユーザデータをメモリカード２０へ送信する（ステップＳ５０４）。
【００７４】
続いて、ホスト１０は、メモリカード２０からＣＲＣステータスを受信する（ステップＳ５０５）。ホスト１０は、ＣＲＣステータスにエラーがないかどうかを確認する（ステップＳ５０６）。ＣＲＣステータスにエラーがない場合、ホスト１０はメモリカード２０におけるビジーを監視する、すなわちホスト１０はメモリカード２０がデータ書き込みの処理中であることを示すビジー信号を監視する（ステップＳ５０７）。
【００７５】
さらに、ホスト１０は、メモリカード２０におけるビジーが解除されたか否かを確認する（ステップＳ５０８）。ビジーが解除された場合、ホスト１０はデータ書き込み処理を終了する。
【００７６】
また、ステップＳ５０３でレスポンスにエラーがあった場合（No）、ステップＳ５０６でＣＲＣステータスにエラーがあった場合（No）、及びステップＳ５０８でメモリカード２０におけるビジーが所定時間、解除されなかった場合（No）は、ホスト１０はエラー処理を行う。
【００７７】
一方、図１０に示すメモリカード２０の処理は以下のようになる。まず、メモリカード２０は、ホスト１０からデータ書き込みを命ずるコマンド（例えば、ＣＭＤ２４またはＣＭＤ２５）を受信する（ステップＳ６０１）。メモリカード２０は、前記コマンドに対するレスポンスをホスト１０へ送信する（ステップＳ６０２）。
【００７８】
続いて、メモリカード２０は、ホスト１０から書き込むべきユーザデータを受信する（ステップＳ６０３）。メモリカード２０は、ＣＲＣステータスをホスト１０へ送信する（ステップＳ６０４）。
【００７９】
続いて、メモリカード２０は、不揮発性メモリ２２内のユーザデータ領域２２Ｂにユーザデータの書き込みを行う（ステップＳ６０５）。この処理中、メモリカード２０は、書き込みの処理中であることをビジー信号によりホスト１０へ通知する（ステップＳ６０６）。以上により、メモリカード２０は書き込み処理を終了する。
【００８０】
次に、図３Ａ内の「データ書き込みまたは消去」（Ｓ１７）の処理のうち、データ消去の処理について図１１及び図１２を用いて説明する。図１１はホスト側の処理手順を示し、図１２はカード側の処理手順を示したものである。
【００８１】
図１１に示すホスト１０の処理は以下のようになる。データ消去の処理手順はデータ書き込みと類似しているが、ホスト１０からのデータ送信の処理がないため、多少異なる。まず、ホスト１０は、データ消去を命ずるコマンド（例えば、ＣＭＤ３２またはＣＭＤ３３、ＣＭＤ３８）をメモリカード２０へ送信する（ステップＳ７０１）。続いて、ホスト１０は、メモリカード２０から前記コマンドのレスポンスを受信する（ステップＳ７０２）。
【００８２】
ホスト１０は、レスポンスにエラーがないかどうかを確認する（ステップＳ７０３）。レスポンスにエラーがない場合は、ホスト１０はメモリカード２０におけるビジーを監視する、すなわちホスト１０はメモリカード２０がデータ消去の処理中であることを示すビジー信号を監視する（ステップＳ７０４）。
【００８３】
さらに、ホスト１０は、メモリカード２０におけるビジーが解除されたか否かを確認する（ステップＳ７０５）。ビジーが解除された場合、ホスト１０はデータ消去処理を終了する。
【００８４】
また、ステップＳ７０３でレスポンスにエラーがあった場合（No）、及びステップＳ７０５でメモリカード２０におけるビジーが所定時間、解除されなかった場合（No）は、ホスト１０はエラー処理を行う。
【００８５】
一方、図１２に示すメモリカード２０の処理は以下のようになる。まず、メモリカード２０は、ホスト１０からデータ消去を命ずるコマンドを受信する（ステップＳ８０１）。メモリカード２０は、前記コマンドに対するレスポンスをホスト１０へ送信する（ステップＳ８０２）。
【００８６】
続いて、メモリカード２０は、不揮発性メモリ２２内のユーザデータ領域２２Ｂに記憶されたデータを消去する（ステップＳ８０３）。この処理中、メモリカード２０は、消去の処理中であることをビジー信号によりホスト１０へ通知する（ステップＳ８０４）。以上により、メモリカード２０は消去処理を終了する。
【００８７】
次に、図３Ａ内の「アンロック動作」（Ｓ２１）の処理について説明する。
【００８８】
アンロック動作は、ステップＳ１４においてメモリカード２０がロックされていた場合に実行される。アンロック動作の処理は、先に説明した図７と図８を用いて述べる。図７において、ステップＳ３０４で扱うデータ内の命令コードがアンロック動作を命ずるコードとなっている。また、図８において、ステップＳ４０３で扱うデータ内の命令コードがアンロック動作を命ずるコードとなっている。その他の処理は、図７または図８と同様である。
【００８９】
次に、図３Ａ内の「読み出し可能なロック動作」（Ｓ１９）の処理について説明する。
【００９０】
読み出し可能なロック動作は、ステップＳ１９においてデータ書き込みまたは消去が成功した場合に実行される。読み出し可能なロック動作は、前述したように、メモリカード２０に対し、データの書き込み及び消去を禁止し、データの読み出しのみを許可する動作である。
【００９１】
読み出し可能なロック動作の処理は、先に説明した図７と図８を用いて述べる。図７において、ステップＳ３０４で扱うデータ内の命令コードが読み出し可能なロック動作を命ずるコードとなっている。また、図８において、ステップＳ４０３で扱うデータ内の命令コードが読み出し可能なロック動作を命ずるコードとなっている。その他の処理は、図７または図８と同様である。
【００９２】
次に、メモリカード２０が持つ自動ロック機能について説明する。自動ロック機能は、メモリカード２０の電源がオンされたとき、すなわちメモリカードへの電源供給が開始されたときに、自動的に、メモリカードが読み出し可能なロック状態あるいはアンロック状態に設定される機能である。読み出し可能なロック状態は、データの書き込み及び消去を禁止し、データの読み出しのみを許可する状態を指す。
【００９３】
図１３は、「自動ロック」の処理を示すフローチャートである。
【００９４】
メモリカード２０にホスト１０から電源が供給される（ステップＳ９０１）。すると、メモリカード２０は、パスワードが既に設定されているか否かを確認する（ステップＳ９０２）。パスワードが既に設定されている場合は、メモリカード２０は、自動的に読み出し可能なロック状態に遷移して起動する（ステップＳ９０３）。パスワードが設定されていない場合は、メモリカード２０はロックされていない通常の状態（アンロック状態）で起動する（ステップＳ９０４）。以上により、メモリカード２０は自動ロック処理を終了する。
【００９５】
図１３に示した機能は、従来のＳＤ規格の自動ロック機能におけるロック状態を、読み出し可能なロック状態に置き換えたものである。ここで、読み出し可能なロック状態とは、書き込み、読み出し、及び消去をすべて禁止する従来のロック状態とは異なり、書き込み及び消去を禁止し、データの読み出しのみを許可する状態である。
【００９６】
［３］効果
第１実施形態では、特定のホスト機器によりＳＤメモリカードにパスワードが設定されれば、メモリカードの自動ロック機能により、例えデータの書き込みあるいは消去の作業前や作業中であっても、またメモリカードへの電源供給が絶たれたり、カード自体が抜け落ちた場合でも、次回の電源供給によりメモリカードが自動的に読み出し可能なロック状態になる。このため、メモリカードのパスワードを認知していないその他のホスト機器、すなわち特定のホスト機器以外のその他のホスト機器では、読み出し可能なロック状態を解除できない。これにより、その他のホスト機器では、メモリカード内のデータの読み出しは可能だが、書き込みや消去ができない。この結果、データの読み出しのみを可能として、データの書き込みや消去による改ざんを防止することができる。
【００９７】
また、特定のホスト機器がメモリカードに設定するパスワードの生成と設定を自動で行うため、ユーザによる設定の手間が省ける。さらに、ユーザにその処理自体を意識させる必要がないため、通常のホスト機器を扱う以上の知識が必要ない。
【００９８】
また、読み出し可能なロック状態になったメモリカードであっても、メモリカードのパスワードを認知している特定のホスト機器を用いれば、パスワード認証によりロック状態を解除可能である。このため、メモリカード内のデータを適宜、編集あるいは消去したり、メモリカード内にデータを追加したりなど、従来のメモリカードと全く同等にユーザが扱えるため、ユーザに不便さを感じさせることはない。
【００９９】
以上説明したように第１実施形態によれば、特定のホスト機器ではメモリカードへのデータの書き込み、読み出し、及び消去が可能であり、特定のホスト機器以外のその他のホスト機器ではデータの書き込み、消去を禁止し、データの読み出しのみを許可するメモリカード、ホスト機器、及びメモリシステムを提供することができる。これにより、特定のホスト機器以外のホスト機器では、データの読み出しだけしかできないため、メモリカードに記憶されたデータの改ざんを防止することができる。
【０１００】
また、特定のホスト機器は、メモリカード内の不揮発性メモリが有するカード識別情報を使用して、メモリカードに設定するパスワードを自動的に生成する機能を備えることにより、ユーザがパスワードを設定する手間を省くことができる。
【０１０１】
さらに、特定のホスト機器はメモリカードが有するカード識別情報に基づいて固有のパスワードを生成するため、特定のホスト機器はパスワードを記憶しておく必要がない。このため、ホスト機器の記憶容量を消費しないという利点がある。
【０１０２】
［第２実施形態］
第２実施形態のメモリシステムについて説明する。第１実施形態では「読み出し可能なロック動作」（Ｓ１９）におけるロックコマンドの命令コードにより「読み出し可能なロック動作」を指定したが、第２実施形態では、「パスワード設定」（Ｓ１５）におけるロックコマンドの引数により「読み出し可能なロック動作」を指定する。第２実施形態は、第１実施形態と同様に、図１に示したシステム構成において、図３Ａの処理手順により目的の動作を実現する。その際、図３Ａ内の「パスワード設定」の処理が第１実施形態と異なる。第２実施形態における「パスワード設定」の処理を以下に説明する。
【０１０３】
図１４及び図１５は、第２実施形態における「パスワード設定」の処理を示すフローチャートである。図１４はホスト側の処理手順を示し、図１５はメモリカード側の処理手順を示したものである。
【０１０４】
図１４に示すホスト１０の処理は以下のようになる。まず、ホスト１０は、ロックコマンド（例えば、ＣＭＤ４２）を引数付きでメモリカード２０へ送信する（ステップＳ１００１）。ホスト１０は、メモリカード２０からＣＭＤ４２のレスポンスを受信する（ステップＳ３０２）。
【０１０５】
ホスト１０は、レスポンスにエラーがないかどうかを確認する（ステップＳ３０３）。レスポンスにエラーがない場合、ホスト１０は命令コード、先に生成したパスワード及びパスワード長を含んだデータをメモリカード２０へ送信する（ステップＳ３０４）。前記データは、ロックコマンドに続いてホスト１０からメモリカード２０へ送信される。
【０１０６】
続いて、ホスト１０は、メモリカード２０からＣＲＣステータスを受信する（ステップＳ３０５）。ホスト１０は、ＣＲＣステータスにエラーがないかどうかを確認する（ステップＳ３０６）。ＣＲＣステータスにエラーがない場合、ホスト１０はメモリカード２０からのビジー信号を監視する（ステップＳ３０７）。
【０１０７】
さらに、ホスト１０は、メモリカード２０におけるビジーが解除されたか否かを確認する（ステップＳ３０８）。ビジーが解除された場合、ホスト１０はロックコマンド動作を終了する。
【０１０８】
また、ステップＳ３０３でレスポンスにエラーがあった場合（No）、ステップＳ３０６でＣＲＣステータスにエラーがあった場合（No）、及びステップＳ３０８でメモリカード２０におけるビジーが所定時間、解除されなかった場合（No）は、ホスト１０はエラー処理を行う。
【０１０９】
一方、図１５に示すメモリカード２０の処理は以下のようになる。まず、メモリカード２０は、ホスト１０からロックコマンド（例えば、ＣＭＤ４２）を引数付で受信する（ステップＳ１１０１）。メモリカード２０は、ＣＭＤ４２に対するレスポンスをホスト１０へ送信する（ステップＳ４０２）。
【０１１０】
続いて、メモリカード２０は、命令コード、パスワード及びパスワード長を含んだデータをホスト１０から受信する（ステップＳ４０３）。前記データは、ロックコマンドに続いてメモリカード２０に入力される。メモリカード２０は、ＣＲＣステータスをホスト１０へ送信する（ステップＳ４０４）。
【０１１１】
さらに、先に受信した、引数と命令コード、パスワード及びパスワード長を含んだデータに基づいて、メモリカード２０はロックコマンド動作を実行する（ステップＳ１１０２）。続いて、メモリカード２０は、ロックコマンド動作の処理中であることをビジー信号によりＳＤバス３０上でホスト１０へ通知する（ステップＳ４０６）。その後、メモリカード２０はロックコマンド動作を終了する。
【０１１２】
次に、図１４内のステップＳ１００１、及び図１５内のステップＳ１１０１で使用するロックコマンドのフォーマットについて説明する。
【０１１３】
図１６は、ロックコマンドのフォーマットを示す図である。
【０１１４】
図示するように、ロックコマンドは４８ビットの長さを持つ。ロックコマンドのフォーマットは、上位からビット４７がスタートビット、ビット４６がトランスミッションビット、ビット４５−４０がコマンドインデックス、ビット３９−８が引数、ビット７−１がＣＲＣ７、ビット０がエンドビットとなっている。
【０１１５】
ビット３９−８の引数に、「読み出し可能なロック動作」を指示する機能を新たに割り当てることにより、ホスト１０はメモリカード２０に「読み出し可能なロック動作」の指示を伝えることができる。例えば、引数に“0x00000001”が設定されたときは、「読み出し可能なロック動作」を指示し、それ以外の値のときは、従来のロック動作を指示するというように区別して指定する。
【０１１６】
また、第２実施形態における図３Ａ内の「アンロック動作」（Ｓ２１）は、第１実施形態の図１４において、ステップＳ３０４の命令コードがアンロック動作を命ずる点が異なり、その他の処理は図１４に示した処理と同様である。図３Ａ内の「読み出し可能なロック動作」（Ｓ１９）も、第１実施形態の図１５において、ステップＳ４０３の命令コードが読み出し可能なロック動作を命ずる点が異なり、その他の処理は図１５に示した処理と同様である。さらに、第２実施形態における、図３Ａ内の「パスワード生成」（Ｓ１３）及び「データ書き込みまたは消去」（Ｓ１７）についても、第１実施形態の図４、図５、図９、図１０、図１１、図１２に示した処理と同様であるため、説明は省略する。
【０１１７】
次に、第２実施形態におけるメモリカード２０が持つ自動ロック機能について説明する。図１７は、「自動ロック」の処理を示すフローチャートである。
【０１１８】
メモリカード２０にホスト１０から電源が供給される（ステップＳ９０１）。すると、メモリカード２０は、パスワードが既に設定されているか否かを確認する（ステップＳ９０２）。パスワードが既に設定されている場合は、前回のパスワード設定時に、コマンドの引数に「読み出し可能なロック動作」が指定されていたか否かを確認する（ステップＳ１２０１）。
【０１１９】
ステップＳ１２０１で「読み出し可能なロック動作」が指定されていた場合、メモリカード２０は自動的に読み出し可能なロック状態に遷移して起動する（ステップＳ９０３）。「読み出し可能なロック動作」が指定されていない場合、メモリカード２０は自動的にロック状態に遷移して起動する（ステップＳ１２０２）。
【０１２０】
また、ステップＳ９０２でパスワードが設定されていない場合は、メモリカード２０はロックされていない通常の状態で起動する（ステップＳ９０４）。以上により、メモリカード２０は自動ロック処理を終了する。
【０１２１】
第２実施形態では、ロックコマンドが有する引数により「読み出し可能なロック動作」を指定する手段を用いている。このような第２実施形態では、第１実施形態と同様の効果が得られる以外に次のような効果が得られる。従来の「ロック動作」の機能は変更せず、「ロック動作」に、読み出し可能なロック動作の機能を追加して実装することができるため、従来のホスト機器との互換性が保てる。その他の構成及び効果は、第１実施形態と同様である。
【０１２２】
［第３実施形態］
第３実施形態のメモリシステムについて説明する。第１実施形態では「読み出し可能なロック動作」（Ｓ１９）におけるロックコマンドの命令コードにより「読み出し可能なロック動作」を指定したが、第３実施形態では、「パスワード設定」（Ｓ１５）におけるロックコマンドの命令コードにより「読み出し可能なロック動作」を指定する。
【０１２３】
第３実施形態は、第１実施形態と同様に、図１のシステム構成において、図３Ａの処理手順により目的の動作を実現する。その際、図３Ａ内の「パスワード設定」の処理を示す図７及び図８において、ステップＳ３０４，Ｓ４０３で送受信されるデータが第１実施形態と異なる。そのデータのフォーマットを以下に説明する。
【０１２４】
図１８は、図７内のステップＳ３０４、及び図８内のステップＳ４０３で転送されるデータのフォーマットを示す図である。
【０１２５】
図示するように、バイトオフセット０の各ビットに、ロックの動作モードがそれぞれ割り当てられている。また、バイトオフセット１にはパスワード長が格納され、バイトオフセット２からパスワード長＋１までには、パスワードデータが格納される。
【０１２６】
バイトオフセット０の各ビットについて詳しく説明する。ビット０−３は従来どおりの機能が割り当てられており、ビット０は「パスワード設定動作」、ビット１は「パスワードクリア動作」、ビット２は「ロック動作/アンロック動作」、ビット３は「強制イレーズ動作」がそれぞれ割り当てられている。ここで、「読み出し可能なロック動作」を例えばビット４に割り当てる。これにより、ビット４に例えば“１”がセットされたデータをメモリカード２０が受信することにより、図８に示したステップＳ４０５において「読み出し可能なロック動作」の処理を行う。
【０１２７】
また、第３実施形態における図３Ａ内の「アンロック動作」（Ｓ２１）は、第１実施形態の図１４において、ステップＳ３０４の命令コードがアンロック動作を命ずる点が異なり、その他の処理は図１４に示した処理と同様である。図３Ａ内の「読み出し可能なロック動作」（Ｓ１９）も、第１実施形態の図１５において、ステップＳ４０３の命令コードが読み出し可能なロック動作を命ずる点が異なり、その他の処理は図１５に示した処理と同様である。さらに、第３実施形態における、図３Ａ内の「パスワード生成」（Ｓ１３）、及び「データ書き込みまたは消去」（Ｓ１７）についても、第１実施形態の図４、図５、図９、図１０、図１１、図１２に示した処理と同様であるため、説明は省略する。
【０１２８】
次に、第３実施形態におけるメモリカード２０が持つ自動ロック機能について説明する。図１９は、「自動ロック」の処理を示すフローチャートである。
【０１２９】
メモリカード２０にホスト１０から電源が供給される（ステップＳ９０１）。すると、メモリカード２０は、パスワードが既に設定されているか否かを確認する（ステップＳ９０２）。パスワードが既に設定されている場合は、前回のパスワード設定時に受信したデータ内の命令コードに「読み出し可能なロック動作」が指定されていたか否かを確認する（ステップＳ１３０１）。
【０１３０】
ステップＳ１３０１で「読み出し可能なロック動作」が指定されていた場合、メモリカード２０は自動的に読み出し可能なロック状態に遷移して起動する（ステップＳ９０３）。「読み出し可能なロック動作」が指定されていない場合、メモリカード２０は自動的にロック状態に遷移して起動する（ステップＳ１２０２）。
【０１３１】
また、ステップＳ９０２でパスワードが設定されていない場合は、メモリカード２０はロックされていない通常の状態で起動する（ステップＳ９０４）。以上により、メモリカード２０は自動ロック処理を終了する。
【０１３２】
第３実施形態では、「パスワード設定」（Ｓ１５）におけるロックコマンドのデータ内の命令コードにより「読み出し可能なロック動作」を指定する手段を用いている。このような第３実施形態では、第１実施形態と同様の効果が得られる以外に次のような効果が得られる。第２実施形態と同様に、従来の「ロック動作」の機能は変更せず、「ロック動作」に、読み出し可能なロック動作の機能を追加して実装することができるため、従来のホスト機器との互換性が保てる。その他の構成及び効果は、第１実施形態と同様である。
【０１３３】
［第４実施形態］
第４実施形態のメモリシステムについて説明する。第３実施形態では「パスワード設定」（Ｓ１５）におけるロックコマンドの命令コードにより「読み出し可能なロック動作」を指定したが、第４実施形態では、「パスワード設定」（Ｓ１５）におけるジェネラルコマンド（例えば、ＣＭＤ５６）の命令コードにより「読み出し可能なロック動作」を指定する。ジェネラルコマンドは、任意に使用できるコマンドである（ジェネラルコマンド（ＣＭＤ５６）については、“Part 1 Physical Layer Simplified Specification Ver3.01”を参照のこと）。
【０１３４】
第４実施形態は、第１実施形態と同様に、図１のシステム構成において、図３Ａの処理手順により目的の動作を実現する。その際、図３Ａ内の「パスワード設定」、「アンロック動作」、及び「読み出し可能なロック動作」の処理が第１実施形態と異なる。第４実施形態における「パスワード設定」、「アンロック動作」、及び「読み出し可能なロック動作」の処理を以下に説明する。
【０１３５】
図２０及び図２１は、「パスワード設定」、「アンロック動作」、及び「読み出し可能なロック動作」の処理を示すフローチャートである。図２０はホスト側の処理手順を示し、図２１はメモリカード側の処理手順を示したものである。
【０１３６】
図２０にて示す「パスワード設定」、「アンロック動作」、及び「読み出し可能なロック動作」の処理では、ステップＳ１４０１，Ｓ１４０２に示すように、図７の処理においてステップＳ３０１，Ｓ３０２で使用するロックコマンドをジェネラルコマンド（例えば、ＣＭＤ５６）に置き換える。さらに、ステップＳ３０４における命令コードにより「読み出し可能なロック動作」、「アンロック動作」、及び「読み出し可能なロック動作」をそれぞれ指定する。その他の処理は、図７に示した処理と同様である。
【０１３７】
図２１にて示す「パスワード設定」、「アンロック動作」、及び「読み出し可能なロック動作」の処理では、ステップＳ１５０１，Ｓ１５０２に示すように、図８の処理においてステップＳ４０１，Ｓ４Ｏ２で使用するロックコマンドをジェネラルコマンド（例えば、ＣＭＤ５６）に置き換える。さらに、ステップＳ４０３における命令コードにより「読み出し可能なロック動作」、「アンロック動作」、及び「読み出し可能なロック動作」をそれぞれ指定する。その他の処理は、図８に示した処理と同様である。
【０１３８】
また、第４実施形態における、図３Ａ内の「パスワード生成」（Ｓ１３）、「データ書き込みまたは消去」（Ｓ１７）、及び「自動ロック」についても、第１実施形態の図４、図５、図９、図１０、図１１、図１２、図１３に示した処理と同様であるため、説明は省略する。
【０１３９】
第４実施形態では、「パスワード設定」（Ｓ１５）におけるジェネラルコマンドのデータ内の命令コードにより「読み出し可能なロック動作」を指定する手段を用いている。このような第４実施形態では、第１実施形態と同様の効果が得られる以外に次のような効果が得られる。第２，第３実施形態と同様に、従来の「ロック動作」の機能は変更せず、「ロック動作」に、読み出し可能なロック動作の機能を追加して実装することができるため、従来のホスト機器との互換性が保てる。その他の構成及び効果は、第１実施形態と同様である。
【０１４０】
以上述べたように第１〜第４実施形態によれば、特定のホスト機器ではメモリカードへのデータの書き込み、読み出し、及び消去が許可され、特定のホスト機器以外のその他のホスト機器ではデータの書き込み、消去を禁止し、データの読み出しのみを許可するメモリカード、ホスト機器、及びメモリシステムを提供することができる。これにより、特定のホスト機器以外のホスト機器では、データの読み出ししかできないため、メモリカードに記憶されたデータの改ざんを防止することができる。
【０１４１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１４２】
１０…ＳＤホスト機器、１１…ホストコントローラ、２０…ＳＤメモリカード、２１…メモリコントローラ、２２…不揮発性メモリ、２２Ａ…ＣＩＤ情報領域、２２Ｂ…ユーザデータ領域、２３…メモリバス、３０…ＳＤバス。
【図１】
2012212396.tif 000003
【図２】
2012212396.tif 000004
【図３Ａ】
2012212396.tif 000005
【図３Ｂ】
2012212396.tif 000006
【図３Ｃ】
2012212396.tif 000007
【図３Ｄ】
2012212396.tif 000008
【図４】
2012212396.tif 000009
【図５】
2012212396.tif 000010
【図６】
2012212396.tif 000011
【図７】
2012212396.tif 000012
【図８】
2012212396.tif 000013
【図９】
2012212396.tif 000014
【図１０】
2012212396.tif 000015
【図１１】
2012212396.tif 000016
【図１２】
2012212396.tif 000017
【図１３】
2012212396.tif 000018
【図１４】
2012212396.tif 000019
【図１５】
2012212396.tif 000020
【図１６】
2012212396.tif 000021
【図１７】
2012212396.tif 000022
【図１８】
2012212396.tif 000023
【図１９】
2012212396.tif 000024
【図２０】
2012212396.tif 000025
【図２１】
2012212396.tif 000026