(57)【要約】 【課題】  データ処理装置とインタフェースコントローラとの間の通信処理が完了するのを待つことなく外部から次に処理すべきコマンドやデータを受信可能にする。【解決手段】  メモリカード（１）は、外部インタフェース端子（３）と、外部インタフェース端子に接続されたインタフェースコントローラ（４）と、インタフェースコントローラに接続された書換え可能な不揮発性メモリ（５）と、インタフェースコントローラに接続されたデータ処理装置（６）と、を有する。インタフェースコントローラは、外部から供給されたデータ処理用コマンドをデータ処理装置に転送して動作させるのに並行して、外部から供給された別のコマンドに基づく動作が可能である。インタフェースコントローラは、複数個のバッファを備え、外部から複数個のバッファの内の第１のバッファ（１１）にデータ処理用コマンドの入力を完了した後、外部から供給された別のコマンドに係るデータを前記複数個のバッファの内の第２のバッファ（１２）に入力可能にする。【選択図】        図１
2007058518.tif 000002
【特許請求の範囲】
【請求項１】
外部インタフェース端子と、
前記外部インタフェース端子に接続されたインタフェースコントローラと、
前記インタフェースコントローラに接続された書換え可能な不揮発性メモリと、
前記インタフェースコントローラに接続されたデータ処理装置と、を有するメモリカードであって、
前記インタフェースコントローラは、複数個のバッファを備え、外部から前記複数個のバッファの内の第１のバッファに外部から供給されたデータ処理用コマンドの入力を完了した後、前記データ処理装置へ前記データ処理用コマンドを転送し前記データ処理装置において前記データ処理用コマンドに基づく処理を行わせている間に、外部から供給された前記不揮発性メモリへのアクセスに係る別のコマンドに対応するデータを前記複数個のバッファの内の第２のバッファに入力可能にするメモリカード。
【請求項２】
前記インタフェースコントローラは、前記外部インタフェース端子を介する外部とのインタフェースには前記第１及び第２のバッファを利用する請求項１記載のメモリカード。
【請求項３】
前記インタフェースコントローラは、外部から供給された前記データ処理用コマンドを前記第１のバッファに格納完了した後、前記データ処理装置に供給した前記データ処理用コマンドに基づくデータ処理が終了されるまでの間に、外部から供給された別のコマンドに応答してデータを前記第２のバッファに格納すると共に、格納したデータを前記第２のバッファから前記不揮発性メモリに書込む制御を可能とする請求項２記載のメモリカード。
【請求項４】
前記インタフェースコントローラは、外部から供給された前記データ処理用コマンドを前記第１のバッファに格納完了した後、前記データ処理装置に供給した前記データ処理用コマンドに基づくデータ処理が終了されるまでの間に、外部から供給された更に別のコマンドに応答して前記不揮発性メモリから読み出したデータを前記第２のバッファに格納し、格納したデータを前記第２のバッファから外部に出力する制御を可能とする請求項３記載のメモリカード。
【請求項５】
前記インタフェースコントローラは、前記外部インタフェース端子を介する外部とのインタフェースには前記第２のバッファを利用し、前記データ処理装置がデータ処理に利用する外部からのデータ処理用コマンドを前記第２のバッファから前記第１のバッファに転送し、前記データ処理装置によるデータ処理の結果を前記第１のバッファから前記第２のバッファに転送する請求項１記載のメモリカード。
【請求項６】
前記インタフェースコントローラは内部のビジー状態を示す信号を外部に出力可能とし、
前記インタフェースコントローラは、前記データ処理装置がデータ処理に利用する外部からのデータ処理用コマンドを前記第１のバッファから前記第２のバッファに転送完了したタイミングに同期して前記ビジー状態を解除する請求項５記載のメモリカード。
【請求項７】
前記インタフェースコントローラは、外部から供給された前記データ処理用コマンドを前記第２のバッファに格納し、格納した前記データ処理用コマンドを前記第１のバッファに転送完了した後、前記データ処理装置に供給した前記データ処理用コマンドに基づくデータ処理が終了されるまでの間に、外部から供給された別のコマンドに応答してデータを前記第２のバッファに格納すると共に、格納したデータを前記第２のバッファから前記不揮発性メモリに書込む制御を可能とする請求項６記載のメモリカード。
【請求項８】
前記インタフェースコントローラは、外部から供給された前記データ処理用コマンドを前記第２のバッファに格納し、格納した前記データ処理用コマンドを前記第１のバッファに転送完了した後、前記データ処理装置に供給した前記データ処理用コマンドに基づくデータ処理が終了されるまでの間に、外部から供給された更に別のコマンドに応答して前記不揮発性メモリから読み出したデータを前記第２のバッファに格納し、格納したデータを前記第２のバッファから外部に出力する制御を可能とする請求項７記載のメモリカード。
【請求項９】
前記第１のバッファと第２のバッファの各々は予め決められた固有のバッファである請求項１記載のメモリカード。
【請求項１０】
前記複数個のバッファの内で前記第１のバッファに割り当てられるバッファと前記第２のバッファに割り当てられるバッファは相互に入れ換え可能なバッファであり、
前記インタフェースコントローラは、前記第１のバッファに割り当てられていることを示すフラグと第２のバッファに割り当てられていることを示すフラグとを有する請求項１記載の半導体装置。
【請求項１１】
インタフェースコントローラは更にホストインタフェースとマイクロコンピューを有し、
前記ホストインタフェースは、コマンドの入力に応答して前記マイクロコンピュータに割り込みを要求し、
前記マイクロコンピュータは割り込み要求に応答して前記コマンドの種別に対応する割り込み処理を実行し、
前記入力されたコマンドに前記データ処理用コマンドが付随するとき、マイクロコンピュータはデータ処理装置にそのデータ処理用コマンドを実行させ、当該データ処理用コマンドの実行中に別の割り込み要求がないことを条件にマイクロコンピュータを低消費電力状態に制御し、データ処理装置は前記データ処理用コマンドの実行を終了するタイミングに同期してマイクロコンピュータの低消費電力状態を解除する請求項１記載のメモリカード。
【請求項１２】
前記データ処理装置による前記データ処理用コマンドに従ったデータ処理結果に前記不揮発性メモリに対するアクセス指示を含むとき、インタフェースコントローラは、前記アクセス指示によるアクセス要求と、前記不揮発性メモリに対する別のコマンドによるアクセス指示に対応するアクセス要求との競合に対して、アクセス要求の早遅に従ってアクセス権の調停を行う請求項１記載のメモリカード。
【請求項１３】
前記データ処理装置による前記データ処理用コマンドに従ったデータ処理結果に前記不揮発性メモリに対するアクセス指示を含むとき、インタフェースコントローラは、前記アクセス指示によるアクセス要求と、前記不揮発性メモリに対する別のコマンドによるアクセス指示に対応するアクセス要求との競合に対して、前記別のコマンドによるアクセス指示に対応するアクセス要求を優先させてアクセス権の調停を行う請求項１記載のメモリカード。
【請求項１４】
前記データ処理装置による前記データ処理用コマンドに従ったデータ処理結果に前記不揮発性メモリに対するアクセス指示を含むとき、前記インタフェースコントローラは、前記アクセス指示に係るデータ処理結果を前記第１のバッファから前記第２のバッファに転送するアクセス要求と、前記不揮発性メモリに対する別のコマンドによるアクセス指示に対応するアクセス要求との競合に対して、前記別のコマンドによるアクセス指示に対応するアクセス要求を優先させる請求項５記載のメモリカード。
【請求項１５】
前記インタフェースコントローラは、外部から前記第１のバッファに供給された暗号化データを復号可能な第１の演算部を更に備え、
前記インタフェースコントローラは、外部から前記第１のバッファに供給された暗号化データを前記第１の演算部を用いて復号する動作に並行して、外部から供給されるコマンドに基づき前記第２のバッファを用いる動作を制御可能である請求項１記載のメモリカード。
【請求項１６】
前記インタフェースコントローラは、前記データ処理装置から前記第１のバッファに供給された暗号化データの復号又は前記第１のバッファから前記データ処理装置に転送すべきデータの暗号化を行うことが可能な第２の演算部を更に備え、
前記インタフェースコントローラは、前記第２の演算部を用いた復号又は暗号化の動作に並行して、外部から供給されるコマンドに基づき前記第２のバッファを用いる動作を制御可能である請求項１記載のメモリカード。
【請求項１７】
前記不揮発性メモリ及び前記データ処理装置を夫々複数個有し、
前記インタフェースコントローラは前記第１のバッファ及び第２のバッファを夫々複数個有する請求項１記載のメモリカード。
【請求項１８】
前記データ処理装置はＩＣカード用マイクロコンピュータである請求項１記載のメモリカード。
【請求項１９】
前記インタフェースコントローラ、前記不揮発性メモリ、及び前記データ処理装置は各々個別の半導体チップに形成された半導体集積回路である請求項１８記載のメモリカード。
【請求項２０】
メモリカードインタフェース端子に接続されたインタフェースコントローラチップと、
前記インタフェースコントローラチップに接続された書換え可能な不揮発性メモリチップと、
前記インタフェースコントローラチップに接続されたデータ処理装置チップと、を有し、
前記インタフェースコントローラチップは、外部から供給された所定のコマンドに付随する制御用データを与えて前記データ処理装置チップを動作させるのに並行して、外部から供給された別のコマンドに基づく動作が可能であり、
前記インタフェースコントローラチップは、第１及び第２のバッファを有し、外部から供給された前記制御用データを前記第１のバッファに入力完了した後、外部から供給された別のコマンドに係るデータを前記第２のバッファに入力可能にするメモリカード。
【請求項２１】
メモリカードインタフェース端子に接続されたインタフェースコントローラチップと、
前記インタフェースコントローラチップに接続された書換え可能な不揮発性メモリチップと、
前記インタフェースコントローラチップに接続されたデータ処理装置チップと、を有し、
前記インタフェースコントローラチップは、外部から供給された所定のコマンドに付随する制御用データを与えて前記データ処理装置チップを動作させるのに並行して、外部から供給された別のコマンドに基づく動作が可能であり、
前記インタフェースコントローラは、第１及び第２のバッファを有し、外部との通信には前記第２のバッファを用い、前記第２のバッファに入力完了された前記制御データを前記第１のバッファに転送完了した後、外部から供給された別のコマンドに係るデータを前記第２のバッファに入力可能にするメモリカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置によるセキュリティ機能を有するメモリカードに関し、例えばフラッシュメモリと共にＩＣカード用マイクロコンピュータを搭載したメモリカード等に適用して有効な技術に関する。
【背景技術】
【０００２】
特許文献１には、フラッシュメモリチップ、ＩＣカード用マイクロコンピュータチップ及びコントローラチップを備えたセキュリティ機能付きのメモリカードについて記載される。ＩＣカード用マイクロコンピュータはセキュリティ処理を実行する。コントローラチップはホストからの要求に応じてフラッシュメモリチップ及びＩＣカードチップへのアクセス等を制御する。
【０００３】
【特許文献１】特開２００３−２２２１６号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＩＣカード用マイクロコンピュータチップはセキュリティ機能を実現するためのデータの暗号化・復号処理や認証処理等の負荷の重いデータ処理を行なう性質上、メモリカードがＩＣカード用コマンドを受け取ったとき、それに応答するデータ処理に長い時間を要する場合がある。そこで、ＩＣカード用マイクロコンピュータチップによるデータ処理に並行して、フラッシュメモリチップに対するアクセスを許容することが考えられている。
【０００５】
本発明者はそのような並列処理を許容する場合に、外部との間で入出力されるバッファの構成と機能について検討した。これによれば、一つのバッファをＩＣカード用マイクロコンピュータチップのデータ処理に係るデータと、フラッシュメモリチップのアクセスデータとの格納に兼用する場合には、バッファにＩＣカード用マイクロコンピュータチップのデータを受信しても、それをＩＣカード用マイクロコンピュータチップに転送完了するまで新たなデータをバッファに受信することはできない。ＩＣカード用マイクロコンピュータチップとコントローラチップとの通信速度が遅い場合や大容量データを送信する場合は通信時間がかかるため、その待ち時間も無視し得ないほど長くなる。
【０００６】
例えばＩＣカード用マイクロコンピュータとコントローラを別チップで構成するとき、セキュリティ評価基準のＩＳＯ／ＩＥＣ１５４０８の評価・認証機関によって認証済みの各種ＩＣカード用マイクロコンピュータチップを利用してメモリカード実現することができるという利便性がある。その反面、前記認証済みのＩＣカード用マイクロコンピュータチップとの通信方式がＩＣカード通信の規格ＩＳＯ７８１６等の通信速度が遅い方式の場合、もしくは他の独自インタフェースにおいて大容量データを送信する場合には、上記ＩＣカード用マイクロコンピュータチップとコントローラチップとの通信において、前記無視し得ない待ち時間が顕在化される。
【０００７】
本発明の目的は、データ処理装置とインタフェースコントローラとの間の通信処理が完了するのを待つことなく外部から次に処理すべきコマンドやデータを受信可能なメモリカードを提供することにある。
【０００８】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１０】
〔１〕本発明のメモリカードは、外部インタフェース端子と、前記外部インタフェース端子に接続されたインタフェースコントローラと、前記インタフェースコントローラに接続された書換え可能な不揮発性メモリ（５）と、前記インタフェースコントローラに接続されたデータ処理装置（６）と、を有する。前記インタフェースコントローラは、外部から供給されたデータ処理用コマンド（Ｃ−ＡＰＤＵ）を前記データ処理装置に転送して動作させるのに並行して、外部から供給された別のコマンド（ＭＣ−ＣＭＤ）に基づく動作が可能である。そして、前記インタフェースコントローラは、複数個のバッファ（１１，１２）を備え、外部から前記複数個のバッファの内の第１のバッファ（１１）に前記データ処理用コマンドの入力を完了した後、外部から供給された別のコマンドに係るデータを前記複数個のバッファの内の第２のバッファ（１２）に入力可能にする（図１、図６）。
【００１１】
上記より、前記インタフェースコントローラは、外部から供給されたデータ処理用コマンドに基づいて前記データ処理装置が動作するのに並行して、インタフェースコントローラは外部から供給された別のコマンドに基づく動作を行うことができるだけでなく、インタフェースコントローラは、データ処理用コマンドをデータ処理装置に渡すための通信処理が完了するのを待つことなく外部から次に処理すべきコマンドやデータを受信可能になる。特にインタフェースコントローラとデータ処理装置を別チップで構成することによって、セキュリティ評価基準のＩＳＯ／ＩＥＣ１５４０８の評価・認証機関によって認証済みの各種ＩＣカード用マイクロコンピュータチップをデータ処理装置に利用してメモリカード実現することができる。このとき、前記認証済みのＩＣカード用マイクロコンピュータチップにはＩＳＯ７８１６等の汎用性の高い標準的なインタフェースが採用されていて上記ＩＣカード用マイクロコンピュータとインタフェースコントローラとの間の通信速度が遅い場合であっても、それによって、次に処理すべきコマンドやデータを外部から受信可能になるのが著しく遅延する事態の発生を抑制することができる。
【００１２】
〔２〕本発明の一つの具体的な形態として、前記インタフェースコントローラは、前記外部インタフェース端子を介する外部とのインタフェースには前記第１及び第２のバッファ（１１，１２）を利用する。この形態においては、前記インタフェースコントローラは、外部から供給された前記データ処理用コマンドを前記第１のバッファに格納完了した後、前記データ処理装置に供給した前記データ処理用コマンドに基づくデータ処理が終了されるまでの間に、外部から供給された別のコマンドに応答してデータを前記第２のバッファに格納すると共に、格納したデータを前記第２のバッファから前記不揮発性メモリに書込む制御を可能とする。また、上記具体的な形態においては、前記インタフェースコントローラは、外部から供給された前記データ処理用コマンドを前記第１のバッファに格納完了した後、前記データ処理装置に供給した前記データ処理用コマンドに基づくデータ処理が終了されるまでの間に、外部から供給された更に別のコマンドに応答して前記不揮発性メモリから読み出したデータを前記第２のバッファに格納し、格納したデータを前記第２のバッファから外部に出力する制御を可能とする。
【００１３】
〔３〕本発明の別の具体的な形態として、前記インタフェースコントローラは、前記外部インタフェース端子を介する外部とのインタフェースには前記第２のバッファを利用し、前記データ処理装置がデータ処理に利用する外部からのデータ処理用コマンドを前記第２のバッファから前記第１のバッファに転送し、前記データ処理装置によるデータ処理の結果を前記第１のバッファから前記第２のバッファに転送する。
【００１４】
例えばこの形態において前記インタフェースコントローラは、内部のビジー状態を示す信号（ＤＡＴ）を外部に出力可能とし、前記インタフェースコントローラは、前記データ処理装置がデータ処理に利用する外部からのデータ処理用コマンドを前記第１のバッファから前記第２のバッファに転送完了したタイミングに同期して前記ビジー状態を解除する。外部インタフェース端子に接続されるホスト装置はそのビジー状態を示す信号を参照することにより、メモリカードが別のコマンドを受け付け可能な状態を容易に知ることが可能になる。
【００１５】
当該別の形態において、前記インタフェースコントローラは、外部から供給された前記データ処理用コマンドを前記第２のバッファに格納し、格納した前記データ処理用コマンドを前記第１のバッファに転送完了した後、前記データ処理装置に供給した前記データ処理用コマンドに基づくデータ処理が終了されるまでの間に、外部から供給された別のコマンドに応答してデータを前記第２のバッファに格納すると共に、格納したデータを前記第２のバッファから前記不揮発性メモリに書込む制御を可能とする請求項５記載のメモリカード。また、上記別の形態においては、前記インタフェースコントローラは、外部から供給された前記データ処理用コマンドを前記第２のバッファに格納し、格納した前記データ処理用コマンドを前記第１のバッファに転送完了した後、前記データ処理装置に供給した前記データ処理用コマンドに基づくデータ処理が終了されるまでの間に、外部から供給された更に別のコマンドに応答して前記不揮発性メモリから読み出したデータを前記第２のバッファに格納し、格納したデータを前記第２のバッファから外部に出力する制御を可能とする。
【００１６】
〔４〕本発明の更に別の具体的な形態として、前記第１のバッファと第２のバッファの各々は予め決められた固有のバッファであってよい。あるいは、前記複数個のバッファの内で前記第１のバッファに割り当てられるバッファと前記第２のバッファに割り当てられるバッファは相互に入れ換え可能なバッファ（１１Ｃ，１２Ｃ）であってもよい。後者の場合に前記インタフェースコントローラは、バッファが前記第１のバッファに割り当てられていることを示すフラグ（ＦＬＧａ）と第２のバッファに割り当てられていることを示すフラグ（ＦＬＧｂ）とを有することになる。（図８）。
【００１７】
〔５〕本発明の更に別の具体的な形態として、インタフェースコントローラは更にホストインタフェース（１０）とマイクロコンピュータ（１５）を有する。前記ホストインタフェースは、コマンド（Ｗ−ＳＥＣ、Ｒ−ＳＥＣ、ＭＣ−ＣＭＤ）の入力に応答して前記マイクロコンピュータに割り込みを要求する。前記マイクロコンピュータは割り込み要求に応答して前記コマンドの種別に対応する割り込み処理を実行する。前記入力されたコマンドに前記データ処理用コマンド（Ｃ−ＡＰＤＵ）が付随するとき、マイクロコンピュータはデータ処理装置にそのデータ処理用コマンドを実行させ、当該データ処理用コマンドの実行中に別の割り込み要求がないことを条件にマイクロコンピュータを低消費電力状態に制御し、データ処理装置は前記データ処理用コマンドの実行を終了するタイミングに同期してマイクロコンピュータの低消費電力状態を解除する（図１０）。メモリカードの低消費電力に資することができる。
【００１８】
〔６〕本発明の更に別の具体的な形態として、前記データ処理装置による前記データ処理用コマンドに従ったデータ処理結果（Ｒ−ＡＰＤＵ）に前記不揮発性メモリに対するアクセス指示を含むとき、インタフェースコントローラは、前記アクセス指示によるアクセス要求と、前記不揮発性メモリに対する別のコマンドによるアクセス指示に対応するアクセス要求との競合に対して、アクセス要求の早遅に従ってアクセス権の調停を行う。
【００１９】
また、前記データ処理装置による前記データ処理用コマンドに従ったデータ処理結果に前記不揮発性メモリに対するアクセス指示を含むとき、インタフェースコントローラは、前記アクセス指示によるアクセス要求と、前記不揮発性メモリに対する別のコマンドによるアクセス指示に対応するアクセス要求との競合に対して、前記別のコマンドによるアクセス指示に対応するアクセス要求を優先させてアクセス権の調停を行う。これにより、ホストからの新たなコマンド処理の指示を優先させることができる。
【００２０】
また、上記項目〔３〕において、前記データ処理装置による前記データ処理用コマンドに従ったデータ処理結果に前記不揮発性メモリに対するアクセス指示を含むとき、前記インタフェースコントローラは、前記アクセス指示に係るデータ処理結果を前記第１のバッファから前記第２のバッファに転送するアクセス要求と、前記不揮発性メモリに対する別のコマンドによるアクセス指示に対応するアクセス要求との競合に対して、前記別のコマンドによるアクセス指示に対応するアクセス要求を優先させる。これにより、ホストからの新たなコマンド処理の指示を優先させることができる。
【００２１】
〔７〕本発明の更に別の具体的な形態として、前記インタフェースコントローラは、外部から前記第１のバッファに供給された暗号化データを復号可能な第１の演算部（２２）を更に備える。このとき、前記インタフェースコントローラは、外部から前記第１のバッファに供給された暗号化データを前記第１の演算部を用いて復号する動作に並行して、外部から供給されるコマンドに基づき前記第２のバッファを用いる動作を制御可能である。第１演算部による復号はホストとインタフェースコントローラとの間の通信を暗号データで行う場合に必要になる。このとき、前記データ処理装置が動作するのに並行するだけでなく、第１の演算部を用いた復号動作にも並行して、インタフェースコントローラは外部からの別のコマンドに基づく動作を行うことができる。
【００２２】
〔８〕本発明の更に別の具体的な形態として、前記インタフェースコントローラは、前記データ処理装置から前記第１のバッファに供給された暗号化データの復号又は前記第１のバッファから前記データ処理装置に転送すべきデータの暗号化を行うことが可能な第２の演算部（３０）を更に備える。このとき、前記インタフェースコントローラは、前記第２の演算部を用いた復号又は暗号化の動作に並行して、外部から供給されるコマンドに基づき前記第２のバッファを用いる動作を制御可能である。第２演算部による暗号化・復号処理はインタフェースコントローラとデータ処理装置との間の通信を暗号データで行う場合に必要になる。このとき、前記データ処理装置が動作するのに並行するだけでなく、第２の演算部を用いた復号動作にも並行して、インタフェースコントローラは外部からの別のコマンドに基づく動作を行うことができる。
【００２３】
〔９〕本発明の更に別の具体的な形態として、前記不揮発性メモリ及び前記データ処理装置を夫々複数個有し、前記インタフェースコントローラは前記第１のバッファ及び第２のバッファを夫々複数個有する。
【００２４】
〔１０〕本発明の更に別の具体的な形態として、前記データ処理装置はＩＣカード用マイクロコンピュータである。また、前記インタフェースコントローラ、前記不揮発性メモリ、及び前記データ処理装置は各々個別の半導体チップに形成された半導体集積回路である。
【００２５】
〔１１〕本発明に係るメモリカードは、メモリカードインタフェース端子に接続されたインタフェースコントローラチップと、前記インタフェースコントローラチップに接続された書換え可能な不揮発性メモリチップと、前記インタフェースコントローラチップに接続されたデータ処理装置チップと、を有する。前記インタフェースコントローラチップは、外部から供給された所定のコマンドに付随する制御用データを与えて前記データ処理装置チップを動作させるのに並行して、外部から供給された別のコマンドに基づく動作が可能である。このとき、前記インタフェースコントローラチップは、第１及び第２のバッファを有し、外部から供給された前記制御用データを前記第１のバッファに入力完了した後、外部から供給された別のコマンドに係るデータを前記第２のバッファに入力可能にする（図１）。
【００２６】
本発明に係るメモリカードは、メモリカードインタフェース端子に接続されたインタフェースコントローラチップと、前記インタフェースコントローラチップに接続された書換え可能な不揮発性メモリチップと、前記インタフェースコントローラチップに接続されたデータ処理装置チップと、を有する。前記インタフェースコントローラチップは、外部から供給された所定のコマンドに付随する制御用データを与えて前記データ処理装置チップを動作させるのに並行して、外部から供給された別のコマンドに基づく動作が可能である。前記インタフェースコントローラは、第１及び第２のバッファを有し、外部との通信には前記第２のバッファを用い、前記第２のバッファに入力完了された前記制御データを前記第１のバッファに転送完了した後、外部から供給された別のコマンドに係るデータを前記第２のバッファに入力可能にする（図６）。
【発明の効果】
【００２７】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００２８】
すなわち、本発明に係るメモリカードはデータ処理装置とインタフェースコントローラとの間の通信処理が完了するのを待つことなく外部から次に処理すべきコマンドやデータを受信可能になる。
【発明を実施するための最良の形態】
【００２９】
《メモリカード》
図１には本発明を適用したメモリカードが例示される。特に制限されないが、同図に示されるメモリカード１は、ＭｕｌｔｉＭｅｄｉａＣａｒｄ（ＭｕｌｔｉＭｅｄｉａＣａｒｄは、ＩｎｆｉｎｅｏｎＴｅｃｈｎｏｌｏｇｉｅｓＡＧの登録商標である。以下、「ＭＭＣ」と略記する。）の仕様に準拠した構成を有する。メモリカード1は、ＭＭＣに準拠したメモリカード機能の他に、セキュリティ処理機能を有する。このメモリカード１は例えば、携帯電話、携帯情報端末（ＰＤＡ）、パーソナルコンピュータ、音楽再生（及び録音）装置、カメラ、ビデオカメラ、自動預金預払機、街角端末、及び決済端末等のホスト機器２に接続される。
【００３０】
メモリカード１は、外部インタフェース端子としての外部端子３、インタフェースコントローラとしてのコントローラチップ（ＣＮＴＲＬＲ）４、不揮発性メモリとしてのフラッシュメモリチップ（ＦＬＡＳＨ）５、及びデータ処理装置としてのＩＣカードマイクロコンピュータチップ（ＩＣＣＭ）６を持つ。ここでチップとは単体の半導体集積回路チップを意味する。前記フラッシュメモリチップ５は、電気的に書き換え可能な不揮発性の半導体メモリを記憶媒体とするメモリチップであり、フラッシュメモリコマンドによりデータの読み書きができる。外部端子３として、ホスト機器２と情報交換するために、クロック入力端子ＣＬＫ、コマンド入出力端子ＣＭＤ及びデータ入出力端子ＤＡＴを有する。図示は省略するが、その他に電源供給端子及びグランド端子等を有する。
【００３１】
コントローラチップ４は、外部端子３、フラッシュメモリチップ５、及びＩＣカードマイクロコンピュータチップ（ＩＣカードチップとも称する）６に接続される。コントローラチップ４は、ホストインタフェース（ＨＩＦ）１０、第１のバッファとしてのセキュアバッファ（ＳＢＵＦ）１１、第２のバッファとしてのデータバッファ（ＤＢＵＦ）１２、フラッシュインタフェース（ＦＩＦ）１３、ＩＣカードインタフェース（ＩＣＩＦ）１４、マイクロコンピュータ（ＭＣＵ）１５及びバッファコントローラ（ＢＣＮＴ）１６から成る。
【００３２】
ＩＣカードチップ６は、ＩＣカードのプラスチック基板中に埋め込んでも利用可能とされるマイクロコンピュータチップであり、例えばＩＣカードチップ６が有する外部端子、電気信号プロトコル、コマンドはＩＳＯ／ＩＥＣ７８１６規格に準拠している。ＩＣカードチップ６は、特に図示はしないが、例えば演算処理を行うためのＣＰＵ（マイコン）、データ（プログラムを含む。）を記憶するためのＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）、暗号／復号に関する処理を行うための暗号器を構成する暗号コプロセッサ、及び外部とデータを送受信するためのシリアルインタフェースを備える。このシリアルインタフェースによってＩＣカードインタフェース１４とＩＣカードチップ６とが接続される。ＩＣカードインタフェース１４はＩＣカードチップ６にＩＣカードコマンド（Ｃ−ＡＰＤＵ）を出力する。ＩＣカードチップ４は入力したＩＣカードコマンドに応答してセキュリティ処理を行ない、セキュリティ処理の結果としてＩＣカードレスポンス（Ｒ−ＡＰＤＵ）をＩＣカードインタフェース１４に返す。ＩＣカードインタフェース１４に返されたＩＣカードレスポンスは例えばＩＣカードインタフェース１４の制御によってセキュアバッファ１１に内部転送される。
【００３３】
前記ＩＣカードチップ６には、例えば、セキュリティ評価基準の国際標準であるＩＳＯ／ＩＥＣ１５４０８の評価・認証機関によって認証済みである製品を利用するのが望ましい。一般に、セキュリティ処理を行なう機能を持つＩＣカードを実際の電子決済サービスなどで利用する場合、そのＩＣカードはＩＳＯ／ＩＥＣ１５４０８の評価・認証機関による評価と認定を受ける必要がある。ＭＭＣにセキュリティ機能を追加することによってメモリカード１を実現し、それを実際の電子決済サービスなどで利用する場合、当該メモリカード１も同様にＩＳＯ／ＩＥＣ１５４０８の評価・認証機関による評価と認定を受ける必要がある。メモリカード１は、評価・認証機関によって認証済みのＩＣカードチップ６を内蔵し、そのＩＣカードチップ６を利用してセキュリティ処理を行なう構造を持つことにより、セキュリティ処理機能を得る。したがって、このメモリカード１はＩＳＯ／ＩＥＣ１５４０８に基づくセキュリティ評価基準を容易に満足することができ、ＭＭＣにセキュリティ処理機能を追加するための開発期間を短縮することができる。但し、本発明においては、ＩＳＯ／ＩＥＣ１５４０８の評価・認証機関により認証済の製品ではないＩＣカードチップを排除するものではなく、ＩＣカードチップにより提供するサービスの求めるセキュリティ強度に応じたＩＣカードチップを用いてもよい。
【００３４】
メモリカード１のコマンドインタフェースはＭＭＣインタフェース仕様に準拠して行われる。フラッシュメモリチップ５を用いたファイルアクセスにはＭＭＣの標準メモリカードコマンドを用いる。ＩＣカードコマンド（Ｃ−ＡＰＤＵ）やＩＣカードによるセキュリティ処理結果としてのＩＣカードレスポンス（Ｒ−ＡＰＤＵ）などの入出力には、標準メモリカードコマンドとは別のコマンドであるセキュアリードコマンド（ＣＭＤ５１）とセキュアライトコマンド（ＣＭＤ５２）を利用する。セキュアリードコマンド（ＣＭＤ５１）とセキュアライトコマンド（ＣＭＤ５２）などのコマンドプロトコルは標準メモリカードコマンドのリード系コマンド、ライト系コマンドと同様である。ＩＣカードコマンド（Ｃ−ＡＰＤＵ）はセキュアライトコマンドに付随する書込みデータに含まれる。ＩＣカードレスポンス（Ｒ−ＡＰＤＵ）はセキュアリードコマンドに応答して返されるリードデータに含まれる。コマンドはコマンド入出力端子ＣＭＤを介して入力され、ＩＣカードコマンド（Ｃ−ＡＰＤＵ）やＩＣカードレスポンス（Ｒ−ＡＰＤＵ）はデータ入出力端子ＤＡＴを介して入出力される。後述する図２等には図示を省略してあるが、ＩＣカードコマンドにはそのデータバイト数を示す情報が先頭に付加され、ＩＣカードレスポンスにはそのデータバイト数を示す情報が先頭に付加されている。
【００３５】
ホストインタフェース１０はホスト装置２との間でコマンドの入力、データ入出力を行う。ホストインタフェース１０がコマンド及びデータを入力すると、ホストインタフェース１０はコマンドレジスタ（図示せず）にコマンドを保持する。コマンドにデータが付随するときとホストインタフェース１０はコマンドを識別してＤＭＡ転送によりデータをデータバッファ１２又はセキュアバッファ１１に格納する。フラッシュメモリアクセスを指示する標準メモリカードコマンドはそのコマンドコードと共にアクセス対象セクタを示す情報（アクセス対象セクタ情報）を有する。アクセス対象セクタ情報もコマンドコードと一緒にホストインタフェース１０のコマンドレジスタに保持される。ライト系の標準メモリカードコマンドの場合にはその書込みデータはデータバッファ１２にＤＭＡ転送される。セキュアライトコマンドの場合にはその書込みデータであるＩＣカードコマンドはセキュアバッファ１１にＤＭＡ転送される。更に前記ホストインタフェース１０はコマンド入力時に、マイクロコンピュータ１５に割り込みを要求する。割り込みが要求されたマイクロコンピュータ１５はコマンドレジスタにラッチされたコマンドのコマンドコードをベクタとして当該コマンドに応ずるコマンド処理ルーチンの先頭アドレスに分岐する。フラッシュメモリアクセス系標準メモリカードコマンドの場合マイクロコンピュータ１５はコマンドコードと共にアクセス対象セクタ情報もフェッチする。マイクロコンピュータ１５はそのコマンド処理ルーチンに応じて、フラッシュメモリチップ５をアクセスするための制御を行い、また、ＩＣカードチップ６にセキュリティ処理を実行させるための制御等を行う。
【００３６】
例えばフラッシュメモリチップをライトアクセスする場合、マイクロコンピュータ１５がデータバッファ１２からフラッシュメモリインタフェース１３に書込みデータを内部転送すると共に、フラッシュインタフェース１３にアクセス対象セクタ情報と書き込み動作の指示を与える。これによってフラッシュインタフェース１３はフラッシュ書込みアクセスコマンドと共に書込みセクタアドレス及び書込みデータをフラッシュメモリチップに与えてデータの書込みを行う。フラッシュメモリチップをリードアクセスする場合、マイクロコンピュータ１５がフラッシュメモリインタフェース１３にアクセス対象セクタ情報と共に読出し動作の指示を与える。これによってフラッシュインタフェース１３はフラッシュ読出しアクセスコマンドと共に読出しセクタアドレスをフラッシュメモリチップに与えてデータの読出しを行い、読み出しデータをデータバッファ１２に内部転送する。内部転送された読出しデータはバッファコントローラ１６によってデータバッファ１２からホストインタフェース１０を介してデータ端子ＤＡＴに出力される。
【００３７】
前記ライトセキュアコマンドに応答する場合、マイクロコンピュータ１５はセキュアバッファ１１に格納されているＩＣカードコマンドをＩＣカードインタフェース１４からＩＣカードチップに転送する指示を与える。ただし、マイクロコンピュータ１５を介さずにホストインタフェース１０からのバッファ指示信号２０によってＩＣＩＦ１４が自動的に転送開始を行なっても良い。
ＩＣカードチップは受け取ったＩＣカードコマンドに応答するデータ処理を行ない、その処理結果（ＩＣカードレスポンス）をＩＣカードインタフェース１４に返す。ＩＣカードインタフェース１４がＩＣカードレスポンスをセキュアバッファ１１に転送する。
【００３８】
前記セキュアリードコマンドに応答する場合、バッファコントローラ１６がセキュアバッファ１１に格納されているＩＣカードレスポンスをホスト機器２に出力させる。
【００３９】
《インタリーブモード》
マイクロコンピュータ１５はセキュアバッファ１１からＩＣカードチップ６にＩＣカードコマンドを供給しＩＣカードチップ６にＩＣカードコマンドを実行開始させた後、その実行完了を待つことなく、フラッシュメモリチップ５に対するアクセス制御等の標準メモリカードコマンドに従った処理を並行実行することが可能にされる。すなわち、マイクロコンピュータ１５はセキュアコマンドの入力に対するホストインタフェース１０からの割り込み要求に応答してＩＣカードチップ６にＩＣカードコマンドを実行開始させた後は、標準メモリカードコマンドの入力に対するホストインタフェース１０からの後の割り込み要求に応答することができる。要するに、マイクロコンピュータ１５への割り込みは割り込みマスクの設定が行われなければ多重割り込みが認められることになる。前記後の割り込み要求は先のＩＣカードコマンドに基づく割り込み処理中に許容される割り込みとなる。
【００４０】
《第１のバッファ制御形態》
前記セキュアバッファ１１及びデータバッファ１２に対する第１の制御形態について説明する。ホストインタフェース１０はホスト機器２から供給されたコマンドの種別を判定し、その判定結果に応じたバッファ指示信号２０をバッファコントローラ１６に与える。バッファ指示信号２０はセキュアバッファ１１とデータバッファ１２の何れを用いるかを指示する信号である。セキュアライトコマンドの場合バッファコントローラ１６は、セキュアライトコマンドに付随してデータ入出力端子ＤＡＴから入力されるＩＣカードコマンドをセキュアバッファ１１に格納する。バッファコントローラ１６は、セキュアバッファ１１への格納を完了すると、ホストインタフェース１０にデータ入出力端子ＤＡＴの状態をローレベルからハイレベルに変化させてビジー状態の通知を解除する。この後、ホストインタフェース１０がフラッシュメモリチップ５をライトアクセスするための標準メモリカードコマンドの入力に応答してバッファ指示信号２０をバッファコントローラ１６に通知すると、バッファコントローラ１６は、データ入出力端子ＤＡＴから供給されるフラッシュメモリチップ５への書込みデータをデータバッファ１２に格納する制御を行う。この書込みデータの格納に当たっては、セキュアバッファ１１が保有するＩＣカードコマンドがＩＣカードチップ６に転送完了されたか否かを問わず、また、ＩＣカードコマンドの実行によってＩＣカードチップ６からＩＣカードレスポンスがセキュアバッファ１１に転送完了されたか否かも問わない。一方、セキュアリードコマンドの場合、前記バッファ指示信号２０はセキュアバッファ１１を指示し、バッファコントローラ１６はセキュアバッファ１１に格納されているＩＣカードレスポンスをホストインタフェース１０を介して外部に転送する。
【００４１】
上述のようにＩＣカードコマンドをセキュアバッファ１１に格納完了後は、バッファコントローラ１６は標準メモリカードコマンドに付随するフラッシュメモリチップのアクセス制御データをデータバッファ１２に格納する制御を行うことができる。この動作を保証する効率的なバス構成の一例について説明する。図１では前記バッファコントローラ１６には他の回路モジュール１０〜１５が個別に接続されているような図示が行われているが、例えば、ホストインタフェース（ＨＩＦ）１０、第１のバッファとしてのセキュアバッファ（ＳＢＵＦ）１１、第２のバッファとしてのデータバッファ（ＤＢＵＦ）１２、フラッシュインタフェース（ＦＩＦ）１３、マイクロコンピュータ（ＭＣＵ）１５及びバッファコントローラ（ＢＣＮＴ）１６を内部バスに共通接続したとき、ＩＣカードインタフェース（ＩＣＩＦ）１４を選択的にセキュアバッファまたは内部バスに接続可能にする。通常はＩＣカードインタフェース（ＩＣＩＦ）１４は内部バスに接続されてマイクロコンピュータ１５による制御を受けられるようになっており、ＩＣカードコマンドやＩＣカードレスポンスをセキュアバッファ１１との間で転送する指示がマイクロコンピュータ１５からＩＣカードインタフェース与えられて転送完了されるまでの間は、ＩＣカードインタフェース（ＩＣＩＦ）１４はセキュアバッファ１１に直結される接続が選択される。これにより、セキュアバッファ１１とＩＣカードマイコン６との間のデータ転送を内部バス上のデータ転送に競合させないようにすることができる。その他、スプリットトランザクションバスを利用すれば全ての回路モジュールを当該バスに共通接続することも可能である。
【００４２】
図２にはセキュアライトコマンドとフラッシュライトアクセスを指示する標準メモリカードコマンドが前後したときのタイミングチャートが例示される。コマンド端子ＣＭＤにライトセキュアコマンド（Ｗ−ＳＥＣ）が入力され（時刻ｔ０）、データ入出力端子ＤＡＴにＩＣカードコマンド（ＩＣ−ＡＰＤＵ）が入力される（時刻ｔ１）。バッファコントローラ１６はバッファ指示信号２０で指示されたセキュアバッファ１１にＩＣカードコマンドを格納開始する（時刻ｔ２）。前記セキュアライトコマンドの入力に起因する割り込みが要求されたマイクロコンピュータ１５はその割り込み要因に応ずる割り込み処理に従い、セキュアバッファ１１へのＩＣカードコマンドの格納完了を待って、ＩＣカードインタフェース１４にセキュアバッファ１１からＩＣカードチップ６へＩＣカードコマンドを転送する指示を与える（時刻ｔ３）。データ入出力端子ＤＡＴはＩＣカードコマンドＩＣ−ＡＰＤＵの入力完了から時刻ｔ３までの間、ローレベルにされる。このデータ入出力端子ＤＡＴのローレベル出力はホスト機器２にビジー状態を通知する。このビジー状態の期間は、マイクロコンピュータ１５が割り込み要求に応答してコマンドレジスタからコマンドコードをフェッチしてその割り込み要因を判定し、其れに従ってＩＣカードインタフェース１４にセキュアバッファ１１からＩＣカードチップ６へのＩＣカードコマンド転送を指示するための処理に利用される。このような割り込み応答処理を行なうための専用信号経路があれば、データ入出力端子ＤＡＴはＩＣカードコマンドＩＣ−ＡＰＤＵの入力完了と同時にハイレベルにされてよい。
【００４３】
時刻ｔ３以降、セキュアバッファ１１からＩＣカードチップ６へＩＣカードコマンドの転送が開始され、コントローラチップ４のビジー状態が解除されると、コントローラチップ４はホスト機器２から標準メモリカードコマンドの受付が可能にされる。時刻ｔ４にフラッシュライトアクセスを指示する標準メモリカードコマンド（ＭＣ−ＣＭＤ）が供給されると、バッファコントローラ１６はバッファ指示信号２０で指示されたデータバッファ１２に後続のフラッシュライトデータ（ＤＡＴＡ１）を格納する。前記標準メモリカードコマンドの入力に起因する割り込みが要求されたマイクロコンピュータ１５はフラッシュメモリインタフェース１３にデータバッファ１２に格納されたフラッシュライトデータの書き込みアクセスを指示し、其それに従ってフラッシュメモリチップ５がアクセスされる。時刻ｔ５にビジー状態が解除された後も同様に、コントローラチップ４はホスト機器２から標準メモリカードコマンドの受付が可能にされる。時刻ｔ６にライトアクセスを指示する標準メモリカードコマンド（ＭＣ−ＣＭＤ）が供給されると、バッファコントローラ１６はバッファ指示信号２０で指示されたデータバッファ１２に後続のフラッシュライトデータ（ＤＡＴＡ２）を格納する。データを格納している途中の時刻ｔ７にＩＣカードチップ６へのＩＣカードコマンド（ＩＣ−ＡＰＤＵ）の転送が完了されたとき、ＩＣカードチップ６は転送されたＩＣカードコマンドの実行を開始する。ＩＣカードチップ６によるＩＣカードコマンドの実行中にもデータバッファ１２へのフラッシュライトデータ（ＤＡＴＡ２）の転送が継続される。前記標準メモリカードコマンドの入力に起因する割り込みが要求されたマイクロコンピュータ１５は時刻ｔ８以降フラッシュメモリインタフェース１３にデータバッファ１２に格納されたフラッシュライトデータ（ＤＡＴＡ２）のライトアクセスを指示し、其それに従ってフラッシュメモリチップ５がアクセスされる。
【００４４】
コントローラチップ４は、時刻ｔ３以降、セキュアバッファ１１からＩＣカードチップ６へのＩＣカードコマンドの転送中、そして転送されたＩＣカードコマンドの実行中において、標準メモリカードコマンドを受け付けて実行可能にされる。前述のようにＩＣカードインタフェース１４とＩＣカードチップ６との接続には往々にして低速のシリアルインタフェースが用いられることを考慮すると、ＩＣカードコマンドの転送には多くの時間を要し、また、ＩＣカードコマンドによるセキュア処理も暗号化データの復号や認証のように演算処理時間が長くなる。このような事情の下において、その間に標準メモリカードコマンドを受け付けて実行可能であるから、ホスト機器２はフラッシュメモリチップ５に対するアクセス要求が可能になるまで長時間待たされることはない。
【００４５】
図３にはセキュアリードコマンドとフラッシュリード動作を指示する標準メモリカードコマンドが前後したときのタイミングチャートが例示される。時刻ｔ０にコマンド端子ＣＭＤにフラッシュリードアクセスを指示する標準メモリカードコマンドが供給される。このコマンドに起因する割り込み要求に応答するマイクロコンピュータ１５はフラッシュメモリチップ５をリードアクセスし、リードデータ（ＤＡＴＡ１）をデータバッファ１２に格納させる。データバッファ１２に格納されたリードデータ（ＤＡＴＡ１）はバッファコントローラ１６によってデータ入出力端子ＤＡＴから出力される（時刻ｔ２）。同様に、時刻ｔ０３にコマンド端子ＣＭＤにフラッシュリードアクセスを指示する標準メモリカードコマンドが供給される。このコマンドに起因する割り込み要求に応答するマイクロコンピュータ１５はフラッシュメモリチップ５をリードアクセスし、リードデータ（ＤＡＴＡ２）をデータバッファ１２に格納させる。データバッファ１２に格納されたリードデータ（ＤＡＴＡ２）はバッファコントローラ１６によってデータ入出力端子ＤＡＴから出力される（時刻ｔ４）。
【００４６】
その間、ＩＣカードチップ６はセキュアライトコマンド（Ｗ−ＳＥＣ）によって与えられたＩＣカードコマンドを実行しており、例えば時刻ｔ1にＩＣカードコマンド処理を終了する。ＩＣカードコマンド処理によって得られたＩＣカードレスポンス（Ｒ−ＡＰＤＵ）はＩＣカードインタフェース１４によってセキュアバッファ１１に内部転送される。時刻ｔ５にこの内部転送が終了することによってセキュアライトコマンドの処理が完了されることになる。時刻ｔ６にコマンド端子ＣＭＤからセキュアリードコマンド（Ｒ−ＳＥＣ）が入力されると、バッファコントローラ１６はセキュアバッファ１１が保持するＩＣカードレスポンスをホストインタフェース１０を介してデータ入出力端子ＤＡＴから外部に出力させる（時刻ｔ７）。
【００４７】
セキュアライト後のフラッシュリードについて図２に基づき説明すると、時刻ｔ４の標準メモリカードコマンドとしてフラッシュリードアクセスを指示するコマンドが供給され、フラッシュメモリからデータバッファ１２へフラッシュリードデータの読み出しを行った後、データ入出力端子ＤＡＴからホスト機器２へのフラッシュリードデータの出力が行われる。
【００４８】
またフラッシュライト後のセキュアリードについて図３に基づき説明すると、時刻ｔ０の標準メモリカードコマンドとしてフラッシュライトアクセスを指示するコマンドが供給され、時刻ｔ２にデータ入出力端子ＤＡＴからフラッシュライトデータの入力が行われ、データバッファ１２に格納する。フラッシュライトデータのデータバッファ１２への格納が完了した時点においてＩＣカードチップ６がＩＣカードコマンドの実行が完了している場合、コントローラチップ４のビジー状態を解除し、フラッシュライトデータをフラッシュメモリへ格納するのと並行して、セキュアリードコマンドがコマンド端子ＣＭＤから入力され、セキュアバッファ１１に格納されているＩＣカードレスポンスがデータ入出力端子ＤＡＴからホスト機器２へ出力してもよい。またはフラッシュライトデータをフラッシュメモリへ格納完了するまでコントローラチップ４のビジー状態を維持するようにし、コントローラチップ４のビジー状態が解除された後にセキュアリードコマンドがコマンド端子ＣＭＤから入力され、セキュアバッファ１１に格納されているＩＣカードレスポンスがデータ入出力端子ＤＡＴからホスト機器２へ出力してもよい。
【００４９】
図４には図１のメモリカードに対する比較例に係るメモリカード１Ａが例示される。メモリカード１Ａは前記メモリカード１に対してバッファ機能が簡略化されているが、簡略化されたバッファ機能に対してインタリーブモードを最大限に利用可能にする構成を備える。即ち、前記データバッファ１２とセキュアバッファ１１を別々に持たず１個のバッファ（ＢＵＦ）１２Ａで兼用する。バッファコントローラ１６Ａはデータ入出力端子ＤＡＴから供給されたデータを順番にバッファ１２Ａに格納する。バッファ１２Ａに書込みデータが格納された場合には当該書込みデータがフラッシュインタフェース１３を介してフラッシュッメモリチップ５に転送完了された後でなければ、ホストインタフェース１０Ａはデータ入出力端子を介する新たな入出力動作を行うことができない。同様に、バッファ１２ＡにＩＣカードコマンドが格納された場合には当該ＩＣカードコマンドがＩＣカードインタフェース１４を介してＩＣカードチップ６に転送完了された後でなければ、ホストインタフェース１０Ａはデータ入出力端子ＤＡＴを介する新たな入出力動作を行うことができない。ここでは、バッファ１２Ａに格納されている書込みデータ若しくはＩＣカードデータ（ＩＣカードコマンド、ＩＣカードレスポンス）が転送先に転送完了されることを条件に、ビジー状態を解除してコマンド端子ＣＭＤ及びデータ端子ＤＡＴからの新たな入力を可能にする。
【００５０】
図５には図４のメモリカード１Ａにおけるビジー状態解除のタイミングを示す。コマンド端子ＣＭＤにライトセキュアコマンド（Ｗ−ＳＥＣ）が入力され（時刻ｔ０）、データ入出力端子ＤＡＴにＩＣカードコマンド（ＩＣ−ＡＰＤＵ）が入力される（時刻ｔ１）。バッファコントローラ１６Ａはバッファ１２ＡにＩＣカードコマンドを格納開始する（時刻ｔ２）。前記セキュアライトコマンドの入力に起因する割り込みが要求されたマイクロコンピュータ１５Ａはその割り込み要因に従ってＩＣカードインタフェース１４Ａにバッファ１２ＡからＩＣカードチップ６へＩＣカードコマンドを転送する指示を与え（時刻ｔ３）、時刻ｔ４においてその転送が終了する。転送終了中においてデータ端子ＤＡＴはローレベルにされ、ホスト機器２にビジー状態を通知する。時刻ｔ３の転送終了に同期して、データ端子ＤＡＴの出力がハイレベルに変化され、ビジー状態が解除される。コントローラチップ４Ａのビジー状態が解除されると、コントローラチップ４Ａはホスト機器２から標準メモリカードコマンドの受付が可能にされる。時刻ｔ３以降ＩＣカードチップ６はＩＣカードコマンドを実行する。これに並行して時刻ｔ４に、フラッシュライトアクセスを指示する標準メモリカードコマンド（ＭＣ−ＣＭＤ）が供給されると、バッファコントローラ１６Ａは後続のフラッシュライトデータ（ＤＡＴＡ１）をバッファ１２Ａに格納する。前記標準メモリカードコマンドの入力に起因する割り込みが要求されたマイクロコンピュータ１５Ａはデータバッファに格納されたフラッシュライトデータの書き込みアクセスをフラッシュメモリインタフェース１３に指示し、其それに従ってフラッシュメモリチップ５がアクセスされる。図２と図５を比べれば明らかなように、図５の場合には図２の時刻ｔ７まで待って始めて標準メモリカードコマンドの受付が可能になる。単一バッファ１２Ａしか備えていない構成では、先にバッファ１２Ａに保持されているデータが転送先に転送完了されたタイミングに同期してビジー状態を解除する。
【００５１】
《第２のバッファ制御形態》
前記セキュアバッファ１１及びデータバッファ１２に対する第２の制御形態について説明する。図６にはこの第２のバッファ制御形態を適用したメモリカード１Ｂが示される。図１の第１のバッファ制御形態とのは以下の点で異なる。すなわち、バッファコントローラ１６Ｂは、前記外部インタフェース端子３を介するホスト機器２とのインタフェースには前記データバッファ１２を利用し、前記ＩＣカードチップ６に供給されるべきＩＣカードコマンドについては前記データバッファ１２からセキュアバッファ１１に内部転送し、セキュリティバッファ１１がＩＣカードインタフェース１４から受け取ったＩＣカードレスポンスを前記データバッファ１２に転送する。
【００５２】
例えば、ホストインタフェース１０はホスト機器２から供給されたコマンドの種別を判定し、その判定結果に応じたバッファ指示信号２０をバッファコントローラ１６Ｂに与える。バッファコントローラ１６Ｂはコマンドに付随してデータ端子ＤＡＴから入力された何れのデータも先ずデータバッファ１２に格納する。この後、データバッファコントローラ１６Ｂは、バッファ指示信号２０に従い、入力コマンドがセキュアライトコマンドの場合、データバッファ１２に格納されているＩＣカードコマンドをセキュアバッファ１１に転送する。バッファコントローラ１６Ｂは、セキュアバッファ１１に対する格納を完了すると、ホストインタフェース１０にデータ入出力端子ＤＡＴの状態をローレベルからハイレベルに変化させてビジー状態の通知を解除する。この後、フラッシュメモリチップ５をライトアクセスするための標準メモリカードコマンドの入力に応答してホストインタフェース１０がバッファ指示信号２０をバッファコントローラ１６に通知すると、バッファコントローラ１６は、データ入出力端子ＤＡＴから供給される書込みデータをデータバッファ１２に格納する制御を行い、セキュアバッファへの転送は行わない。一方、セキュアリードコマンドの場合、前記バッファ指示信号２０はセキュアバッファ１１を指示し、バッファコントローラ１６はセキュアバッファ１１に格納されているＩＣカードレスポンスをデータバッファ１２に内部転送し、データバッファ１２からホストインタフェース１０を介して外部に出力する。その他の構成は図１と同様であるからその詳細な説明は省略する。
【００５３】
図７にはセキュアライトコマンドとフラッシュライトアクセスを指示する標準メモリカードコマンドが前後したときのタイミングチャートが例示される。コマンド端子ＣＭＤにライトセキュアコマンド（Ｗ−ＳＥＣ）が入力され（時刻ｔ０）、データ入出力端子ＤＡＴにＩＣカードコマンド（ＩＣ−ＡＰＤＵ）が入力される（時刻ｔ１）。バッファコントローラ１６Ｂはデータバッファ１２にＩＣカードコマンドを格納し、データバッファ１２からセキュアバッファ１１にＩＣカードコマンドの内部転送を開始する（時刻ｔ２）。前記ライトセキュアコマンドの入力に起因する割り込みが要求されたマイクロコンピュータ１５はその割り込み要因に応ずる割り込み処理に従って、セキュアバッファ１１へのＩＣカードコマンドの転送完了を待って、セキュアバッファ１１からＩＣカードチップ６へＩＣカードコマンドを転送する指示をＩＣカードインタフェース１４に与える（時刻ｔ３）。
【００５４】
第２のバッファ制御形態は、図２に比べて時刻ｔ１から時刻ｔ３までの時間が多少長くなるが、ホストインタフェース１０との間にデータ転送制御対象がデータバッファ１２一つになるからデータ転送制御のための構成が簡素になる。データバッファ１２とセキュアバッファ１１との間の転送はメモリ間転送制御でよいから特別複雑な転送制御を要しない
《第３のバッファ制御形態》
前記セキュアバッファ１１及びデータバッファ１２に対する第３の制御形態について説明する。図８にはこの第３のバッファ制御形態を適用したメモリカード１Ｃが示される。図１の第１のバッファ制御形態とのは以下の点で異なる。すなわち、今までのバッファ制御形態では前記データバッファ１２とセキュアバッファ１１の各々は予め決められた固有のバッファであった。図８では２個のバッファ１１Ｃ，１２Ｃの内でデータバッファに割り当てられるバッファとセキュアバッファに割り当てられるバッファを相互に入れ換え可能とする。このとき、バッファコントローラ１６Ｃは一方のバッファ１１Ｃがデータバッファやセキュアバッファの何れに割り当てられるかを示すフラグＦＬＧｂ、他方のバッファ１２Ｃがデータバッファやセキュアバッファの何れに割り当てられるかを示すフラグＦＬＧａを有する。特に制限されないが、各々のフラグＦＬＧａ，ＦＬＧｂはセキュアバッファフラグビットとデータバッファフラグビットを夫々別々に有しており、割り当ての内容に応じて対応ビットがセットされる。割り当て制御はバッファコントローラ１６Ｃが行う。例えば双方のバッファ１１Ｃ，１２Ｃが空いているときは一つのバッファ１２Ｃを優先利用し、その用途に応じてフラグＦＬＧａのセキュアバッファフラグビット又はデータバッファフラグビットがセットされる。その用途はバッファ指示信号２０の値を参照してバッファコントローラ１６Ｃが判定する。バッファ指示信号２０の値はセキュアコマンドが入力したときと、標準メモリカードコマンドが入力したとき、相互に異なる値にされるようになっているからである。バッファ１１Ｃ，１２Ｃの一方が使用中であるときは、空いている方のバッファを同様にして利用する。双方のバッファをＩＣカード処理のためのセキュアバッファに割り当てると、標準メモリカードコマンドの処理が著しく滞り、また、セキュアデータ処理上も不都合なので、バッファコントローラ１６Ｃは双方のバッファ１１Ｃ，１２Ｃをセキュアバッファに割り当てることが禁止されている。
【００５５】
図９にはライトセキュアコマンドとフラッシュライトアクセスを指示する標準メモリカードコマンドが前後して入力した時のタイミングチャートが例示される。コマンド端子ＣＭＤにライトセキュアコマンド（Ｗ−ＳＥＣ）が入力され（時刻ｔ０）、データ入出力端子ＤＡＴにＩＣカードコマンド（ＩＣ−ＡＰＤＵ）が入力される（時刻ｔ１）。双方のバッファ１２Ｃ、１１Ｃが空いているので一方のバッファ１２ＣにＩＣカードコマンド（Ｃ−ＡＰＤＵ）が格納され、フラグＦＬＧａのセキュアバッファフラグビットがセットされる。この後、コマンド端子ＣＭＤに標準メモリカードコマンド（ＭＣ−ＣＭＤ）が入力され（時刻ｔ２）、データ入出力端子ＤＡＴに書き込みデータＤＡＴＡ１が入力される（時刻ｔ３）。一方のバッファ１１Ｃが空いているのでこのバッファ１１Ｃに書込みデータＤＡＴＡ１が格納され、フラグＦＬＧｂのデータバッファフラグビットがセットされる。
【００５６】
《コマンドタスク処理》
図１０にはマイクロコンピュータによる処理フローが全体的に示される。マイクロコンピュータ１５はパワーオンリセットによって初期化動作を行い、フラッシュメモリチップ５に対する初期化、内部変数の初期化等を行う（Ｓ１）。この後、マイクロコンピュータ１５は、ホストインタフェース１０からのコマンド入力に起因する割り込み（コマンド割り込み）の発生を待つ（Ｓ２，Ｓ３）。コマンド割り込みがあると、マイクロコンピュータ１５はそのコマンドコードに応じたフラッシュアクセスメモリカードコマンドタスク又はＩＣカードコマンドタスクを呼び出してこれを実行する（Ｓ４）。フラッシュアクセスメモリカードコマンドタスクはフラッシュメモリチップ５に対するアクセスを指示する標準メモリカードコマンドによって起動されるタスクである。ＩＣカードコマンドタスクはライトセキュアコマンド又はリードセキュアコマンドよって起動されるタスクである。呼び出されたタスクの処理中に他のタスクが重ねて呼び出される場合はそれに応答する。全てのタスクの処理を終了するとスリープ状態（低消費電力状態）に入る（Ｓ５）。例えばマイクロコンピュータ１５の動作クロックが停止される。スリープ状態は割り込みの発生（Ｓ６）によって解除可能にされる。図１１にはコマンド割り込みによるタスクの実行状態が示される。
【００５７】
図１２にはバッファ制御形態３におけるフラッシュアクセスコマンドタスクによる処理フローが示される。マイクロコンピュータ１５は、ホストインタフェース１０が受信したフラッシュアクセスメモリカードコマンドに対応する割り込み処理、即ち所定のフラッシュアクセスメモリカードコマンドタスクに分岐する（Ｓ１０）。これによってマイクロコンピュータは、フラグＦＬＧａ，ＦＬＧｂを参照してセット状態（＝１）のデータバッファフラグビットを検索する。セット状態のデータバッファフラグビットを検索すると、他のコマンドによる割り込み要求をマスクする処理を行なう（Ｓ１１）。この後、マイクロコンピュータ１５は、セット状態のデータバッファフラグビットを持ちフラグに対応するバッファを用い、コマンドタスクに従ってフラッシュメモリチップ６に対する書込み又は読出し等を行う（Ｓ１２）。フラッシュアクセスを終了すると、このフラッシュアクセスに利用したバッファに対応するフラグのデータバッファフラグビットをクリア（＝０）して、当該バッファに対するアクセス権を開放する（Ｓ１３）。これと共に前記割り込みマスクを解除し、フラッシュアクセスメモリカードコマンドタスクを終了する（Ｓ１４）。尚、第１のバッファ制御形態、第２のバッファ制御形態では予め決められたデータバッファを用いる点においてステップＳ１１、Ｓ１３の処理が相違される。
【００５８】
図１３にはバッファ制御形態３におけるＩＣカードコマンドタスクによる処理フローが示される。マイクロコンピュータ１５は、ホストインタフェース１０が受信したセキュアコマンドに対応する割り込み処理、即ち所定のＩＣカードコマンドタスクに分岐する（Ｓ２０）。これによってマイクロコンピュータは、フラグＦＬＧａ，ＦＬＧｂを参照してセット状態（＝１）のセキュアバッファフラグビットを検索する。セット状態のセキュアバッファフラグビットを検索すると、他のセキュアコマンドによる割り込み要求をマスクする処理を行なう（Ｓ２１）。この後、マイクロコンピュータ１５は、セット状態のセキュアバッファフラグビットに対応するバッファからＩＣカードチップへのＩＣカードコマンドの転送をＩＣカードインタフェース１４に指示する（Ｓ２２）。ＩＣカードチップ６は、その指示によって転送されたＩＣカードコマンドに従ってＩＣカード処理を行ない、処理結果をＩＣカードインタフェース１４に返す。ＩＣカードインタフェース１４はそのＩＣカードレスポンスを前記検索されたバッファに転送する。マイクロコンピュータ１５は転送中のＩＣカードレスポンスを受信し、必要な後処理の有無を其れに基づいて判定する（Ｓ２３）。後処理が必要なければバッファ内のＩＣカードレスポンスをそのままにして、ホスト機器２から発行されるリードセキュアコマンドによる読出しを待つ。ＩＣカードレスポンスに対する内部処理を行なえば良い場合にはマイクロコンピュータ１５はその処理を行なって、そのＩＣカード処理に利用したバッファに対応するフラグのセキュアバッファフラグビットをクリア（＝０）すると共に、当該バッファに対するアクセス権を開放する（Ｓ２４）。これと共に前記セキュアコマンドによる割り込みマスクを解除し、ＩＣカードコマンドタスクを終了する（Ｓ２５）。尚、第１のバッファ制御形態、第２のバッファ制御形態では予め決められたデータバッファを用いる点においてステップＳ２１、Ｓ２４の処理が相違される。
【００５９】
図１４及び図１５にはＩＣカード処理中にマイクロコンピュータがスリープ状態にされる場合のＩＣカードコマンドタスクによる処理フローが示される。図１４はスリープにされるまでの第１のＩＣカードコマンドタスクによる処理フロー、図１５はスリープ解除によって起動される第２のＩＣカードコマンドタスクによる処理フローを示す。ステップＳ２０〜Ｓ２２、ステップＳ２３〜Ｓ２５は図１３と同じである。ステップＳ２２によりＩＣカードコマンドの転送をした後、マイクロコンピュータ１５は例えばスリープ命令を実行してスリープ状態に遷移し、タスクの処理を終了する（Ｓ３０）。スリープ状態においてマイクロコンピュータ１５への動作クロックが停止され、低消費電力状にされる。この間、ＩＣカードチップ６は転送されたＩＣカードコマンドに従ってＩＣカード処理を行なう。ＩＣカードチップによるＩＣカード処理が終了されると、ＩＣカードレスポンスがＩＣカードインタフェース１４に返される。ＩＣカードインタフェース１４はマイクロコンピュータ１５にＩＣカードレスポンス受信の割り込みを発生して、マイクロコンピュータ１５のスリープ状態を解除する（Ｓ３１）。これによってマイクロコンピュータ１５は、ＩＣカードインタフェース１４がＩＣカードレスポンスを前記所定のバッファに転送するのに同期して、転送中のＩＣカードレスポンスを受信し、必要な後処理の有無を判定し（Ｓ２３）、前記ステップＳ２４，Ｓ２５の処理を行なう。
【００６０】
図１６には図１４及び図１５のＩＣカードコマンドタスク処理中のコマンド動作タイミングが例示される。ＩＣカードチップ６はライトセキュアコマンド（Ｗ−ＳＥＣ）に応答するＩＣカードコマンドタスクによるＩＣカードチップ６のＩＣカード処理中において（時刻ｔ０〜ｔ１）、マイクロコンピュータ１５は標準メモリカードコマンドによるフラッシュコマンド割り込みに応答してフラッシュアクセスメモリカードコマンドタスクを実行することができる。マイクロコンピュータ１５はフラッシュアクセスコメモリカードマンドタスクの実行を終了すると、スリープ状態にされ、このスリープ状態はＩＣカードレスポンス受信割り込みによって解除される。この後、マイクロコンピュータ１５は第２のＩＣカードコマンドタスクを実行する。
【００６１】
《フラッシュメモリアクセスの競合回避》
図１７にはＩＣカードレスポンスによってフラッシュメモリチップ５のアクセスが必要になった状態が例示される。マイクロコンピュータ１５はＩＣカードインタフェース１４を介してセキュアバッファ１１に転送されるＩＣカードレスポンスを判定し、ＩＣカードレスポンスにセキュアデータと共にフラッシュ書込み命令指示情報が含まれている場合、ＩＣカードレスポンスのセキュアデータをフラッシュメモリチップ５に書込むこと（フラッシュ連携処理）が必要になる。このときには、既にフラッシュアクセスメモリカードコマンドに応答してフラッシュメモリチップ５がアクセス中でないかを確認し、アクセス中でないときアクセス権を獲得した後に、ＩＣカードレスポンスに応答するフラッシュメモリチップ５のアクセスを行う。フラッシュメモリチップ５に対するアクセス権の獲得は、例えばマイクロコンピュータ１５がフラッシュインタフェース１３に対して行う。
【００６２】
図１８にはＩＣカードレスポンスに応答するフラッシュメモリチップ５のアクセスと標準メモリカードコマンドによるフラッシュメモリチップ５に対するアクセスとが前後するときの動作タイミングが例示される。セキュアバッファ１１に転送されたＩＣカードレスポンスによってフラッシュメモリチップ５のアクセスが必要であると判別されたとき、セキュアバッファ１１のセキュアデータをフラッシュメモリチップ５に書込むためのフラッシュアクセス要求ＡＣＲＥＱがマイクロコンピュータ１５からフラッシュインタフェース１３に発行される。この要求に対する承認ＡＣＡＣＫを得ることによってマイクロコンピュータ１５はフラッシュアクセスコマンドをフラッシュインタフェース１３に発行してフラッシュメモリチップ５にセキュアデータを書込む。この後、標準メモリカードコマンド（ＭＣ−ＣＭＤ）が入力され、これに付随する書込みデータＤＡＴＡ２がデータバッファ１２に供給されると、データバッファ１２のデータをフラッシュメモリチップ５に書込むためのフラッシュアクセス要求ＡＣＲＥＱがマイクロコンピュータ１５からフラッシュインタフェース１３に発行される。この要求に対するアクセス権の承認ＡＣＡＣＫを得ることによってマイクロコンピュータ１５はフラッシュアクセスコマンドをフラッシュインタフェース１３に発行してフラッシュメモリチップ５にデータＤＡＴＡ２を書込む。フラッシュアクセス要求が競合する場合には後のアクセス要求は、先のアクセス要求に係るアクセスが終了するまで待って、承認される。
【００６３】
図１９はフラッシュアクセス権の制御に着目したフラッシュアクセスコマンドタスクの処理フローを示す。マイクロコンピュータ１５は、ホストインタフェース１０が受信したフラッシュアクセスメモリカードコマンドに応答して、対応する割り込み処理、即ち所定のフラッシュアクセスメモリカードコマンドタスクに分岐する（Ｓ４０）。これによってマイクロコンピュータはフラッシュメモリチップ５に対するアクセス処理をコールする。コールされたアクセス処理の最初にフラッシュインタフェース１３に対するアクセス権の要求を行なう。マイクロコンピュータ１５はアクセス権が承認されるのを待って、フラッシュインタフェース１３にフラッシュアクセスコマンドを発行する（Ｓ４１）。これによってフラッシュインタフェース１３はデータバッファ１２の書き込みデータをフラッシュメモリチップ５に書込み、又はフラッシュメモリチップ５から読み出したデータをデータバッファ１２に格納して外部に出力させて、処理を終了する（Ｓ４２）。
【００６４】
図２０にはフラッシュアクセス権の制御に着目したＩＣカードコマンドタスクの処理フローを示す。マイクロコンピュータ１５は、ホストインタフェース１０が受信したセキュアコマンドに応答して、対応する割り込み処理、即ち所定のＩＣカードコマンドタスクに分岐する（Ｓ５０）。これによってマイクロコンピュータは、ＩＣカードインタフェース１４にセキュアバッファ１１からＩＣカードチップへＩＣカードコマンドを転送することを指示する（Ｓ５１）。ＩＣカードチップ６は転送されたＩＣカードコマンドに従ってＩＣカード処理を行ない、処理結果をＩＣカードインタフェース１４に返す（Ｓ５２）。ＩＣカードインタフェース１４はそのＩＣカードレスポンスを前記セキュアバッファ１１に転送する。転送完了後、マイクロコンピュータ１５はそのＩＣカードレスポンスをセキュアバッファ１１から取得し、フラッシュ連携処理が必要か否かを判定する（Ｓ５３）。フラッシュ連携が必要なければ処理を終了する（Ｓ５４）。フラッシュ連携が必要な場合にはマイクロコンピュータはフラッシュメモリチップ５に対するアクセス処理をコールする（Ｓ５５）。コールされたアクセス処理の最初にフラッシュインタフェース１３に対するアクセス権の要求を行なう。マイクロコンピュータ１５はアクセス権が承認されるのを待って、フラッシュインタフェース１３にフラッシュアクセスコマンドを発行する。これによってフラッシュインタフェース１３はセキュアバッファ１１の書き込みデータをフラッシュメモリチップ５に書込んで処理を終了する。
【００６５】
図２１にはフラッシュアクセスメモリカードコマンドに応答するフラッシュアクセス要求による処理中にフラッシュ連携処理のためのフラッシュアクセス要求が発行された時の動作タイミングが例示される。標準メモリカードコマンド（ＭＣ−ＣＭＤ）が入力され、これに付随する書込みデータＤＡＴＡ２がデータバッファ１２に供給されると、データバッファ１２のデータをフラッシュメモリチップ５に書込むためのフラッシュアクセス要求ＡＣＲＥＱがマイクロコンピュータ１５からフラッシュインタフェース１３に発行される。この要求に対するアクセス権の承認ＡＣＡＣＫを得ることによってマイクロコンピュータ１５はフラッシュアクセスコマンドをフラッシュインタフェース１３に発行してフラッシュメモリチップ５にデータＤＡＴＡ２を書込む。このフラッシュ書込み動作に並行してＩＣカードチップ６により行なわれていたＩＣカード処理が終了されると、ＩＣカードレスポンスがセキュアバッファ１１に転送される。セキュアバッファ１１に転送されたＩＣカードレスポンスによってフラッシュメモリチップ５の０アクセスが必要であると判別されたとき、セキュアバッファ１１のセキュアデータをフラッシュメモリチップ５に書込むためのフラッシュアクセス要求ＡＣＲＥＱがマイクロコンピュータ１５からフラッシュインタフェース１３に発行される（時刻ｔ０）。このとき既にフラッシュアクセスメモリカードコマンドに応答するフラッシュアクセス要求にフラッシュアクセス権が承認されている。ＩＣカードレスポンスに起因するフラッシュアクセス要求に対するアクセス権の承認は、データＤＡＴＡ２の書き込み完了まで待って行なわれる（時刻ｔ１）。この要求に対する承認ＡＣＡＣＫを得ることによってマイクロコンピュータ１５はフラッシュアクセスコマンドをフラッシュインタフェース１３に発行してフラッシュメモリチップ５にセキュアデータを書込む。ＩＣカードレスポンスに起因するフラッシュアクセス要求に対してはＴａがフラッシュアクセス権獲得までの待ち時間となる。
【００６６】
図２２にはフラッシュ連携処理のためのフラッシュアクセス要求による処理中にフラッシュアクセスメモリカードコマンドに応答するフラッシュアクセス要求が発行された時の動作タイミングが例示される。図２１とは逆に、ＩＣカードレスポンスに起因するフラッシュアクセス中に、標準メモリカードコマンド（ＭＣ−ＣＭＤ）に応答するフラッシュアクセス要求ＡＣＲＥＱが発生している（時刻ｔ０）。標準メモリカードコマンド（ＭＣ−ＣＭＤ）に応答するフラッシュアクセス要求ＡＣＲＥＱに対するアクセス権の承認は、セキュアデータの書き込み完了まで待って行なわれる（時刻ｔ２）。この要求に対する承認ＡＣＡＣＫを得ることによってマイクロコンピュータ１５はフラッシュアクセスコマンドをフラッシュインタフェース１３に発行してフラッシュメモリチップ５にデータＤＡＴＡ２を書込む。標準メモリカードコマンド（ＭＣ−ＣＭＤ）に応答するフラッシュアクセス要求に対してはＴｂがフラッシュアクセス権獲得までの待ち時間となる。
【００６７】
図２３は標準メモリカードコマンド（ＭＣ−ＣＭＤ）に応答するフラッシュアクセス要求を優先させる場合の動作タイミングチャートである。上記図２１、図２２はフラッシュアクセス要求の早遅によって競合回避を行なった場合の例であるが、ホスト機器２から発行された新たなコマンドに対する応答を優先させるようにすることも可能である。図２３では、ＩＣカードレスポンスに応答してセキュアデータをフラッシュメモリチップ５に書込み動作中に、ホスト機器２から標準メモリカードコマンド（ＭＣ−ＣＭＤ）が発行される。これによって、フラッシュアクセスメモリカードコマンドタスクによる割り込み処理に遷移したマイクロコンピュータ１５はフラッシュインタフェース１３に対してセキュアデータの書き込み処理を中断させる（時刻ｔ０）。これに代えてマイクロコンピュータ１５はデータバッファ１２のデータＤＡＴＡ２をフラッシュメモリに書き込む動作をフラッシュインタフェース１３に指示する。フラッシュインタフェース１３はデータＤＡＴＡ２の書き込みを完了すると（時刻ｔ１）、時刻ｔ１に中断したセキュアデータの書込みを再開する。
【００６８】
図２４はフラッシュメモリアクセスがＤＢＵＦ１２からしかできないような構成で生ずるデータ競合態様を示す。第２のバッファ制御形態ではデータバッファ１２が保持する書き込みデータがフラッシュメモリチップ５に転送される。従って、ＩＣカードレスポンに起因するフラッシュメモリアクセス（フラッシュ連携処理）では、セキュアバッファ１１に格納されたＩＣカードレスポンスに含まれるセキュアデータがデータバッファ１２に転送される。このセキュアデータバッファ１１への転送動作は、標準メモリカードコマンド（ＭＣ−ＣＭＤ）に付随して入力されたデータをデータバッファ１２に格納する動作に競合する可能性がある。この競合を回避するには例えば、ホスト機器２から発行された新たなコマンドに対する応答を優先させるようにすることが可能である。図２５では、ＩＣカードレスポンスに応答してマイクロコンピュータ１５がセキュアデータをセキュアバッファ１１からデータバッファ１２に転送中に、ホスト機器２から標準メモリカードコマンド（ＭＣ−ＣＭＤ）が発行される。これによって、フラッシュアクセスメモリカードコマンドタスクによる割り込み処理に遷移したマイクロコンピュータ１５はセキュアデータの転送を中止する（時刻ｔ０）。これによってデータ端子ＤＡＴから入力されるデータＤＡＴＡ２がデータバッファ１２に蓄積可能になる。データバッファ１２へのデータＤＡＴＡ２の格納が完了されると（時刻ｔ１）、マイクロコンピュータはセキュアバッファからデータバッファへのデータ転送を最初からやり直す。
【００６９】
《暗号演算部》
図２６にはコントローラチップに暗号演算部を備えたメモリカードが示される。同図に示されるメモリカード１Ｄは図１のメモリカードに対して暗号演算部（ＥＣＲＴ）２２を備えたコントローラチップ４Ｄを有する点が相違される。暗号演算部２２はホストインタフェース１０に供給された暗号化データを復号可能な第１の演算部を構成する。データ端子ＤＡＴから入力されるデータが暗号化されたデータであるか否かはコマンド端子ＣＭＤから入力されるコマンドによって識別される。例えば特定のライトセキュアコマンドは暗号化されたＩＣカードコマンドを付随する。ホストインタフェース回路からの割り込み要求によってマイクロコンピュータは前記特定のセキュアライトコマンドの入力を認識することによって、暗号演算部２２にセキュアバッファ１１に格納された暗号化データの復号処理を指示する。復号処理の期間中、バッファコントローラ１６は外部から供給される標準メモリカードコマンドを受け付けて、前記データバッファ１２を用いる動作が制御可能にされる。暗号演算部２２による復号が終了されると、マイクロコンピュータ１５は暗号演算部２２よりＩＣカードコマンドタスクへの割り込みが要求され、其れによって復号されたＩＣカードコマンドがＩＣカードチップ６に転送可能にされる。特に図示はしないが、暗号演算部（ＥＣＲＴ）２２は図６のコントローラチップ４Ｂにも適用可能である。
【００７０】
図２７には復号処理に並行してフラッシュライト処理が行なわれるときの動作タイミングが例示される。コマンド端子ＣＭＤから特定のライトセキュアコマンドＷ−ＳＥＣが入力され、データ端子ＤＡＴから暗号化ＩＣカードコマンドＥ[Ｃ−ＡＰＤＵ]が入力される。暗号化ＩＣカードコマンドＥ[Ｃ−ＡＰＤＵ]はセキュアバッファ１１に格納され、その後、暗号演算部２２に暗号化ＩＣカードコマンドＥ[Ｃ−ＡＰＤＵ]の復号処理が指示される（時刻ｔ０）。暗号演算途中にコマンド端子ＣＭＤに標準メモリカードコマンド（ＭＣ−ＣＭＤ）が入力され、データ端子ＤＡＴに書込みデータＤＡＴＡ２が入力されると、バッファコントローラ１６はデータＤＡＴＡ２をデータバッファ１２に格納し、マイクロコンピュータ１５にフラッシュアクセスメモリカードコマンドタスク処理への割り込みを要求する。これによって、暗号演算部２２による暗号演算と、フラッシュインタフェース１３によるフラッシュメモリチップ５へのデータＤＡＴＡ２の書込みが並列的に行なわれる。復号処理が終了されると（時刻ｔ１）、セキュアバッファ１１には復号されたＩＣカードコマンド（Ｃ−ＡＰＤＵ）が得られる。特に図示はしないが、ＩＣカードレスポンスを暗号化して出力させる特定のリードセキュアコマンドに対しては、セキュアバッファ１１に格納されたＩＣカードレスポンス（Ｒ−ＡＰＤＵ）を暗号演算部２２で暗号化し、暗号化されたＩＣカードレスポンス（Ｅ[Ｒ−ＡＰＤＵ]）をデータ端子ＤＡＴから出力する。
【００７１】
図２８には暗号化データをフラッシュメモリチップのセキュア領域に書込む動作を指示するセキュアライトコマンドＷ−ＳＥＣｓに対する応答動作のタイミングが例示される。フラッシュメモリチップ５の記憶領域は例えば図２９に例示されるようにユーザエリア２６、プロテクトエリア２７、コントローラ用システムエリア２８に分割される。ユーザエリア２６は標準メモリカードコマンドによって書き換え可能な領域である。プロテクトエリア２７は認証を含みセキュアコマンドによって書き換え可能な領域である。コントローラ用システムエリア２８はユーザが書き換え不可能な領域であり、メモリカードの製造者が書き換え可能な領域である。
【００７２】
コマンド端子ＣＭＤから特定のライトセキュアコマンドＷ−ＳＥＣｓが入力され、データ端子ＤＡＴから暗号化セキュアデータＥ[ＩＣＤＡＴＡ]が入力される。暗号化セキュアデータＥ[ＩＣＤＡＴＡ]はセキュアバッファ１１に格納され、その後、マイクロコンピュータ１５から暗号演算部２２に暗号化セキュアデータＥ[ＩＣＤＡＴＡ]の復号処理が指示される（時刻ｔ０）。復号演算途中にコマンド端子ＣＭＤに標準メモリカードコマンド（ＭＣ−ＣＭＤ）が入力され、データ端子ＤＡＴに書込みデータＤＡＴＡ２が入力されると、バッファコントローラ１６はデータＤＡＴＡ２をデータバッファ１２に格納し、マイクロコンピュータにフラッシュアクセスメモリカードコマンドタスク処理への割り込みを要求する。これによって、暗号演算部２２による暗号演算と、フラッシュインタフェース１３によるフラッシュメモリチップ５へのデータＤＡＴＡ２の書込みが並列的に行なわれる。復号処理が終了されると（時刻ｔ１）、セキュアバッファ１１には復号されたセキュアデータ（ＩＣＤＡＴＡ）が得られる。復号演算の終了によってマイクロコンピュータ１５にはセキュアデータのフラッシュ書込みタスク処理への割り込みが要求され、これによってフラッシュメモリにセキュアデータＩＣＤＡＴＡが書き込まれる。
【００７３】
図３０にはコントローラチップに暗号演算部を備えた別のメモリカードが示される。同図に示されるメモリカード１Ｅは図1のメモリカードに対して暗号演算部（ＥＣＲＴ）３０を備えたコントローラチップ４Ｅを有する点が相違される。暗号演算部３０は、ＩＣカードチップ６からセキュアバッファ１１に供給された暗号化データの復号又は前記セキュアバッファ１１から前記ＩＣカードチップ６に転送すべきデータの暗号化を行うことが可能な第２の演算部を構成する。ライトセキュアコマンド（Ｗ−ＳＥＣ）に応答するマイクロコンピュータのＩＣカードコマンドタスク処理において、先ず、セキュアバッファ１１に格納されたＩＣカードコマンドを暗号演算部３０に暗号化させ、暗号化された暗号化ＩＣカードコマンドＥ[Ｃ−ＡＰＤＵ]をＩＣカードインタフェースによってＩＣカードチップ６に転送する。ＩＣカードチップは暗号化ＩＣカードコマンドＥ[Ｃ−ＡＰＤＵ]を内部で復号して実行する。その実行結果であるＩＣカードレスポンスＲ−ＡＰＤＵもＩＣカードチップ６内部で暗号化される。ＩＣカードチップは暗号化されたＩＣカードレスポンスＥ[Ｒ−ＡＰＤＵ]をＩＣカードインタフェース１４に返す。ＩＣカードインタフェース１４はＩＣカードレスポンスＥ[Ｒ−ＡＰＤＵ]をセキュアバッファ１１に転送する。転送完了に応答してマイクロコンピュータ１５は暗号演算部３０にＩＣカードレスポンスＥ[Ｒ−ＡＰＤＵ]を復号させ、復号したＩＣカードレスポンスＲ−ＡＰＤＵによって前記フラッシュ連携処理が必要であるか否かを判定する。必要であればＩＣカードレスポンスＲ−ＡＰＤＵに含まれるセキュアデータを暗号演算部３０で暗号化してフラッシュインタフェース１３を介してフラッシュメモリチップ５への書込みを制御する。フラッシュ連携処理を要しないときは復号したＩＣカードレスポンスは再び暗号演算部３によって必要な暗号強度で暗号化される。暗号化されたＩＣカードレスポンスＲ−ＡＰＤＵはセキュアバッファ１１に保持され、リードセキュアコマンド（Ｒ−ＳＥＣ）に応答する読出しの指示を待つ。図３０においてＡ，Ｂ方向へ供給されるデータの第1暗号強度と、Ｃ方向へ供給されることになるデータの第２暗号強度とは同じであることを要しない。Ａ，Ｂ方向へ供給される暗号はカード内部のみの暗号であるため暗号方式等を外部に公開する必要もない。第１暗号強度をＤＥＳ（Data Encription Standard）とすると、第２暗号強度はその３倍の３ＤＥＳであってよい。
【００７４】
図３１にはＩＣカードチップ６とセキュアバッファ１１との間におけるＩＣカードデータの受け渡し動作のタイミングチャートが例示される。ライトセキュアコマンド（Ｗ−ＳＥＣ）に応答するマイクロコンピュータ１５のＩＣカードコマンドタスク処理において、先ず、セキュアバッファ１１に格納されたＩＣカードコマンドを時刻ｔ０から時刻ｔ１で暗号演算部３０に暗号化させ、暗号化された暗号化ＩＣカードコマンドＥ[Ｃ−ＡＰＤＵ]をＩＣカードインタフェース１４によってＩＣカードチップ６に転送完了する（時刻ｔ２）。ＩＣカードチップ６は暗号化ＩＣカードコマンドＥ[Ｃ−ＡＰＤＵ]を内部で復号して実行完了する（時刻ｔ３）。その実行結果であるＩＣカードレスポンスＲ−ＡＰＤＵもＩＣカードチップ６内部で暗号化されている。ＩＣカードチップ６は暗号化されたＩＣカードレスポンスＥ[Ｒ−ＡＰＤＵ]をＩＣカードインタフェース１４に転送する（時刻ｔ４）。ＩＣカードインタフェース１４はＩＣカードレスポンスＥ[Ｒ−ＡＰＤＵ]をセキュアバッファ１１に格納し、格納完了に応答してマイクロコンピュータ１５は暗号演算部３０にＩＣカードレスポンスＥ[Ｒ−ＡＰＤＵ]を復号させる（時刻ｔ５）。
【００７５】
図３１においてｔ０〜ｔ５の期間においてセキュアバッファ１１とＩＣカードインタフェース１４は直結され、暗号演算部３０もセキュアバッファ１１に結合される。従って、時刻ｔ０〜ｔ１のＩＣカードコマンド暗号演算期間、ｔ１〜ｔ２の暗号化されたＩＣカードコマンドの転送期間、時刻ｔ２〜ｔ３のＩＣカード処理期間、時刻ｔ３〜ｔ４の暗号化されたＩＣカードレスポンスの転送期間、並びに時刻ｔ４〜ｔ５の暗号化されたＩＣカードレスポンスの復号期間において、バッファコントローラ１６Ｅは外部端子ＣＭＤ、ＤＡＴから標準メモリカードコマンド及びデータを入出力可能になる。図３１において時刻ｔ０〜ｔ５の間に例えば前後して２回発行された標準メモリカードコマンドを受け付け、書込みデータＤＡＴＡ２、ＤＡＴＡ３を入力する。特に図示はしないが、暗号演算部（ＥＣＲＴ）３０は図６のコントローラチップ４Ｂにも適用可能である。
【００７６】
上記暗号演算部３０を設けることによりＩＣカードチップ６とコントローラチップ４Ｅとの間の転送情報に対して機密性の保護を向上させることができる。更に、暗号演算部による暗号化・復号処理中においてバッファコントローラ１６Ｅは標準メモリカードを受け付け可能であるから、時間を要する暗号化・復号処理中にホスト機器２に新たなコマンド発行を待たせる不都合を解消することができる。
【００７７】
《多重化》
図３２にはフラッシュメモリチップとＩＣカードチップを各々複数個配置したメモリカードが示される。コントローラチップ４Ｆに対して２個のフラッシュメモリチップ５ａ，５ｂ、２個のＩＣカードチップ６ａ，６ｂを有する。コントローラチップ４Ｆは其れに応じて２個のデータバッファ１２ａ，１２ｂ、２個のセキュアバッファ１１ａ，１１ｂ、２個のフラッシュインタフェース１３ａ，１３ｂ、２個のＩＣカードインタフェース１４ａ，１４ｂを持つ。マイクロコンピュータ１５及びバッファコントローラ１６Ｆの基本的な機能は図１のメモリカードと同じである。それら回路モジュールのバス接続形態は図１のメモリカードと同様である。ライトセキュアコマンドに応答するとき、セキュアバッファ１１ａ、ＩＣカードインタフェース１４ａ、ＩＣカードチップ６ａは直列的に接続される。セキュアバッファ１１ｂ、ＩＣカードインタフェース１４ｂ、ＩＣカードチップ６ｂも同様である。今までのメモリカードと大きく相違する点は、ＩＣカード処理中に他の標準メモリカードコマンドを受け付け可能である点は上述のメモリカードと同様であるが、一つのＩＣカードチップによるＩＣカード処理中に別のＩＣカードコマンドを受け付けて別のＩＣカードチップでＩＣカード処理を並列に行なうことができることである。また、複数個のＩＣカードチップ６ａ，６ｂに対して、夫々に固有のセキュアバッファ１１ａ，１１ｂからコマンドが供給されることにより、コントローラチップ４Ｆと一つのＩＣカードチップとの間の転送中に、他ＩＣカードチップと転送を行なうことができ、ＩＣカードチップとコントローラチップ４Ｆとの間のＩＣカードコマンドやＩＣカードレスポンスの転送を効率化することができる。同様に、フラッシュメモリチップ５ａ、５ｂとデータバッファ１２ａ，１２ｂも２組あるから、一つのフラッシュメモリチップに対するデータ転送及び書き込み中に、他フラッシュメモリチップへのデータ転送及び書き込みを並列化することが可能になる。
【００７８】
図３３に複数のライトセキュアコマンドに応答する並列処理の動作タイミングが例示される。最初のライトセキュアコマンドに付随するＩＣカードコマンドＣ−ＡＰＤＵ１がセキュアバッファ１１ａに格納完了された直後にデータ端子ＤＡＴがハイレベルされてビジー状態が解除され、後続のライトセキュアコマンドが受け付け可能にされる。何れのセキュアバッファ１１ａ、１１ｂを用いるかは、バッファコントローラ１６Ｆが空きを判定して決定しても良いし、或いは、ライトセキュアコマンドがＩＣカードチップを指定する場合はその指定に対応するセキュアバッファをバッファコントローラ１６Ｆが選択するようにしてもよい。
【００７９】
図３４にはプロテクト領域へ直接書き込みを行なうライトセキュアコマンド（ダイレクトセキュアコマンド）によるプロテクト領域２７への直接的なセキュアデータの書き込み処理の動作タイミングが示される。ライトセキュアコマンドＷ−ＳＥＣに応答してＩＣカードチップがＩＣカード処理を行ない（時刻ｔ０〜ｔ２）、ＩＣカードレスポンス（Ｒ−ＡＰＤＵ）として復号鍵を返す（時刻ｔ３）。ＩＣカード処理中にバッファコントローラ１６ＦはダイレクトセキュアコマンドＷ−ＳＥＣ２を受け付け、暗号化されたデータＥ[ＤＡＴＡ]をデータバッファ１２ａに格納する。マイクロコンピュータ１５Ｆはセキュアバッファ１１ａにＩＣカードレスポンス（Ｒ−ＡＰＤＵ）として復号鍵が返されるのに応答して、図示を省略する暗号演算器にデータバッファ１２ａの暗号化データＥ[ＤＡＴＡ]を復号させ、復号データＤＡＴＡを対応するフラッシュメモリ５ａへ書込む制御をフラッシュインタフェース１３に指示する。前記図示を省略する暗号演算器はデータバッファ１２ａに接続され、復号演算処理中でもバッファコントローラ１６Ｆは別のコマンドを受け付けて処理可能にされる。時刻ｔ１に標準メモリカードコマンドＭＣ−ＣＭＤが発行されても受け付けられ、データＤＡＴＡ１がデータバッファ１２ｂに格納され、前記複合データＤＡＴＡのフラッシュメモリ５ａへの書込み処理に並行して、データＤＡＴＡ１のフラッシュメモリ５ｂへの書込みが可能にされる。
【００８０】
このように、ＩＣカードチップによる認証とその認証に基づくフラッシュメモリへのセキュアデータの書き込み処理に並行して、別のフラッシュメモリに対する非セキュアデータの書き込みを行うことができるようになり、複雑なフラッシュアクセス処理の高速化に寄与することができる。
【００８１】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００８２】
例えば、メモリカードの外部インタフェース仕様はＭＭＣ準拠に限定されず、その他のメモリカード規格に準拠しても良い。したがって、コマンドコード、コマンドフォーマット、データ通信プロトコルなどはそのカード規格に従って種々変更可能である。また、コントローラチップとフラッシュメモリは同一チップであってもよい。また、ＩＣカードチップはデータ処理装置の一例であり、ＩＣカード用マイクロコンピュータに限定されない。
【図面の簡単な説明】
【００８３】
【図１】本発明を適用したメモリカードを例示するブロック図である。
【図２】セキュアライトコマンドとフラッシュライトアクセスを指示する標準メモリカードコマンドが前後したときの動作タイミングチャートである。
【図３】セキュアリードコマンドとフラッシュリード動作を指示する標準メモリカードコマンドが前後したときの動作タイミングチャートである。
【図４】図１のメモリカードに対する比較例に係るメモリカードを例示するブロック図である。
【図５】図４のメモリカードにおけるビジー状態解除のタイミングを示すタイミングチャートである。
【図６】第２のバッファ制御形態を適用したメモリカードを例示するブロック図である。
【図７】セキュアライトコマンドとフラッシュライトアクセスを指示する標準メモリカードコマンドが前後したときの動作タイミングチャートである。
【図８】第３のバッファ制御形態を適用したメモリカードのブロック図である。
【図９】ライトセキュアコマンドとフラッシュライトアクセスを指示する標準メモリカードコマンドが前後して入力した時の動作タイミングチャートである。
【図１０】マイクロコンピュータによる処理フローを全体的に示すフローチャートである。
【図１１】コマンド割り込みによるタスクの実行状態を示すタイミングチャートである。
【図１２】第３のバッファ制御形態におけるフラッシュアクセスコマンドタスクによる処理フローを示すフローチャートである。
【図１３】第３のバッファ制御形態におけるＩＣカードコマンドタスクによる処理フローを示すフローチャートである。
【図１４】ＩＣカード処理中にマイクロコンピュータがスリープ状態にされるまでのＩＣカードコマンドタスク1による処理のフローチャートである。
【図１５】スリープ解除によって起動されるＩＣカードコマンドタスク２による処理のフローチャートである。
【図１６】図１４及び図１５のＩＣカードコマンドタスク処理中のコマンド動作タイミングを例示するタイミングチャートである。
【図１７】ＩＣカードレスポンスによってフラッシュメモリチップのアクセスが必要になった状態を例示するブック図である。
【図１８】ＩＣカードレスポンスに応答するフラッシュメモリチップのアクセスと標準メモリカードコマンドによるフラッシュメモリチップに対するアクセスとが前後するときの動作タイミングチャートである。
【図１９】フラッシュアクセス権の制御に着目したフラッシュアクセスコマンドタスクの処理フローチャートである。
【図２０】フラッシュアクセス権の制御に着目したＩＣカードコマンドタスクの処理フローチャートである。
【図２１】フラッシュアクセスメモリカードコマンドに応答するフラッシュアクセス要求により処理中にフラッシュ連携処理のためのフラッシュアクセス要求が発行された時の動作タイミングチャートである。
【図２２】フラッシュ連携処理のためのフラッシュアクセス要求による処理中にフラッシュアクセスメモリカードコマンドに応答するフラッシュアクセス要求が発行された時の動作タイミングチャートである。
【図２３】標準メモリカードコマンドに応答するフラッシュアクセス要求を優先させる場合の動作タイミングチャートである。
【図２４】図６の第２のバッファ制御形態におけるフラッシュメモリアクセスに際して生ずるデータ競合態様を示すブロック図である。
【図２５】ＩＣカードレスポンスに応答してマイクロコンピュータがセキュアデータをセキュアバッファからデータバッファに転送中に、ホスト機器から標準メモリカードコマンドが発行され状態を示すタイミングチャートである。
【図２６】コントローラチップに暗号演算部を備えたメモリカードのブロック図である。
【図２７】復号処理に並行してフラッシュライト処理が行なわれるときの動作タイミングチャートである。
【図２８】暗号化データをフラッシュメモリチップのセキュア領域に書込む動作を指示するセキュアライトコマンドＷ−ＳＥＣｓに対する応答動作のタイミングチャートである。
【図２９】フラッシュメモリチップの記憶領域を例示する説明図である。
【図３０】コントローラチップに暗号演算部を備えた別のメモリカードのブロック図である。
【図３１】ＩＣカードチップとセキュアバッファとの間におけるＩＣカードデータの受け渡し動作のタイミングチャートである。
【図３２】フラッシュメモリチップとＩＣカードチップを各々複数個配置したメモリカードを例示するブロック図である。
【図３３】複数のライトセキュアコマンドに応答する並列処理の動作タイミングチャートである。
【図３４】標準メモリカードコマンドの一つであるダイレクトセキュアコマンドによるプロテクト領域への直接的なセキュアデータの書き込み処理の動作タイミングチャートである。
【符号の説明】
【００８４】
１、１Ａ、１Ｂ、１Ｃ、１Ｄ、１Ｅ、１Ｆ  メモリカード
２  ホスト機器
３  外部端子
４、４Ａ、４Ｂ、４Ｃ、４Ｄ、４Ｅ、４Ｆ  コントローラチップ（インタフェースコントローラ）
５、５ａ、５ｂ  フラッシュメモリチップ（不揮発性メモリ）
６、６ａ、６ｂ  ＩＣカードチップ（データ処理装置）
ＣＬＫ  クロック入力端子
ＣＭＤ  コマンド入出力端子
ＤＡＴ  データ入出力端子
１０  ホストインタフェース
１１、１１、１１ｂ  セキュアバッファ（第１のバッファ）
１２、１２ａ、１２ｂ  データバッファ（第２のバッファ）
１３、１３ａ、１３ｂ  フラッシュインタフェース
１４、１４、１４ｂ  ＩＣカードインタフェース
１５  マイクロコンピュータ
１６、１６Ａ、１６Ｂ、１６Ｃ、１６Ｄ、１６Ｅ、１６Ｆ  バッファコントローラ
２０  バッファ指示信号
ＦＬＧａ，ＦＬＧｂ  フラグ
２２  暗号演算部
３０  暗号演算部
【図１】
2007058518.tif 000003
【図２】
2007058518.tif 000004
【図３】
2007058518.tif 000005
【図４】
2007058518.tif 000006
【図５】
2007058518.tif 000007
【図６】
2007058518.tif 000008
【図７】
2007058518.tif 000009
【図８】
2007058518.tif 000010
【図９】
2007058518.tif 000011
【図１０】
2007058518.tif 000012
【図１１】
2007058518.tif 000013
【図１２】
2007058518.tif 000014
【図１３】
2007058518.tif 000015
【図１４】
2007058518.tif 000016
【図１５】
2007058518.tif 000017
【図１６】
2007058518.tif 000018
【図１７】
2007058518.tif 000019
【図１８】
2007058518.tif 000020
【図１９】
2007058518.tif 000021
【図２０】
2007058518.tif 000022
【図２１】
2007058518.tif 000023
【図２２】
2007058518.tif 000024
【図２３】
2007058518.tif 000025
【図２４】
2007058518.tif 000026
【図２５】
2007058518.tif 000027
【図２６】
2007058518.tif 000028
【図２７】
2007058518.tif 000029
【図２８】
2007058518.tif 000030
【図２９】
2007058518.tif 000031
【図３０】
2007058518.tif 000032
【図３１】
2007058518.tif 000033
【図３２】
2007058518.tif 000034
【図３３】
2007058518.tif 000035
【図３４】
2007058518.tif 000036