(57)【要約】【課題】初期化時間を短縮可能なカードを提供する。【解決手段】ホスト機器２は、不揮発性半導体メモリ１１を有するカード１を挿入され、ホスト機器からの電源供給の停止を受け付け可能な状態に移行する終了処理をカードがサポートするか否かを示す情報を返送することを命ずる確認コマンドを発行する。【選択図】      図１
2006209744.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性半導体メモリを有するカードを挿入されるホスト機器であって、
ホスト機器からの電源供給の停止を受け付け可能な状態に移行する終了処理を前記カードがサポートするか否かを示す情報を返送することを命ずる確認コマンドを発行することを特徴とするホスト機器。
【請求項２】
前記カードが前記終了処理をサポートする場合、前記カードに前記終了処理を行うことを命ずる機能停止コマンドを発行し、前記カードが前記終了処理を完了したことが確認された後に前記カードへの電源供給を停止することを特徴とする請求項１に記載のホスト機器。
【請求項３】
不揮発性半導体メモリを有し、ホスト機器に挿入されるカードであって、
前記ホスト機器からの電源供給の停止を受け付け可能な状態に移行する終了処理をサポートし、
前記終了処理をサポートするか否かを示す情報を返送することを命ずる確認コマンドを受信した際に、前記終了処理をサポートする旨を示すレスポンスを返送する、
ことを特徴とするカード。
【請求項４】
前記ホスト機器から、機能停止コマンドを受信し、前記機能停止コマンドを受けて前記終了処理を行うことを特徴とする請求項３に記載のカード。
【請求項５】
前記終了処理が、揮発性半導体メモリに記憶されているデータを前記不揮発性半導体メモリに書き込むことを含むことを特徴とする請求項４に記載のカード。
【請求項６】
前記終了処理が完了した後に、前記終了処理が完了したことを示すデータを前記不揮発性半導体メモリに書き込むことを特徴とする請求項４に記載のカード。
【請求項７】
前記カードの状態が最後の初期化完了時から変化した場合、前記終了処理が完了したことを示すデータを前記終了処理が完了していないことを示す状態に変えることを特徴とする請求項６に記載のカード。
【請求項８】
初期化を命じる初期化コマンドを供給され、
前記終了処理が完了しなかったことが前記不揮発性半導体メモリに示されている場合、第１初期化方法により初期化処理を実行し、
前記終了処理が完了したことが前記不揮発性半導体メモリに示されている場合、前記第１初期化方法より短い時間で完了する第２初期化方法により初期化処理を実行する、
ことを特徴とする請求項６に記載のカード。
【請求項９】
前記第２初期化方法が、前記第１初期化方法の工程の一部を省略した方法であることを特徴とする請求項８に記載のカード。
【請求項１０】
前記第２初期化方法において省略される工程の一部が、少なくとも、前記不揮発性半導体メモリが記憶するデータのエラーのチェックと、前記エラーの修復と、書き込みデータの論理アドレスと前記書き込みデータが格納されている前記不揮発性メモリ上の物理アドレスと間の変換テーブルの作成と、のいずれかを含むことを特徴とする請求項９に記載のカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カードおよびホスト機器に関し、例えば、メモリカードおよびこれを使用するホスト機器の、ホスト機器からの電源供給停止時および初期化時の工程に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ、ＰＤＡ（Personal Digital Assistant）、カメラ、携帯電話等の様々な携帯用電子機器においては、リムーバブル記憶デバイスの１つであるメモリカードが多く用いられている。メモリカードとしては、ＰＣカード、及び小型のＳＤＴＭカードが注目されている。ＳＤＴＭカードは、フラッシュメモリおよびカードコントローラ等を内蔵したメモリカードであり、特に小型化、大容量化、高速化の要求に見合うように設計されている。
【０００３】
従来のＳＤＴＭカードの初期化時間は１秒以内と決められており、これに準拠していた。しかしながら、ＳＤＴＭカードが大容量化していくにつれて、初期化時間そのものを短縮することが非常に難しくなっており、初期化時間の短縮には限界が生じている。特にデジタルカメラ、ムービーカメラなどは、電源を入れた直後に撮影を可能にする必要があるため、ＳＤＴＭカードが大容量化したとしても、単純に初期化時間を大きくすることはできない。
【０００４】
この出願の発明に関連する先行技術文献情報としては次のものがある。
【特許文献１】特開2004-192452号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、初期化時間を短縮可能なカードおよびホスト機器を提供しようとするものである。
【課題を解決するための手段】
【０００６】
本発明の第１の視点によるホスト機器は、不揮発性半導体メモリを有するカードを挿入されるホスト機器であって、ホスト機器からの電源供給の停止を受け付け可能な状態に移行する終了処理を前記カードがサポートするか否かを示す情報を返送することを命ずる確認コマンドを発行することを特徴とする。
【０００７】
本発明の第２の視点によるカードは、不揮発性半導体メモリを有し、ホスト機器に挿入されるカードであって、前記ホスト機器からの電源供給の停止を受け付け可能な状態に移行する終了処理をサポートし、前記終了処理をサポートするか否かを示す情報を返送することを命ずる確認コマンドを受信した際に、前記終了処理をサポートする旨を示すレスポンスを返送する、ことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、電源供給停止に備えた処理を取ることにより初期化時間を短縮可能なカードおよびホスト機器を提供できる。
【発明を実施するための最良の形態】
【０００９】
背景技術の項目に記載した問題に対して、ホスト機器の電源を切っても、ＳＤＴＭカードへ電源電位を供給し続ける手法が考えられる。この手法によれば、ホスト機器の電源がオンされた際に、ＳＤＴＭカードの初期化が不要となるため、ホスト機器の電源投入直後にＳＤＴＭカードを直ぐに使用することができる。しかしながら、ＳＤＴＭカードのリーク電流によってホスト機器のバッテリが消耗してしまう問題がある。リーク電流を小さくすることも技術的に困難であり、このような手法を採用することは難しい。
【００１０】
以下に本発明の実施の形態について図面を参照して説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【００１１】
（第１実施形態）
図１は、本発明の第１実施形態に係るカードの主要部の構成を示している。カード１は、ホスト機器２とバスインタフェース３を介して情報の授受を行う。カード１は、ＮＡＮＤ型フラッシュメモリチップ１１、このＮＡＮＤ型フラッシュメモリ１１を制御するカードコントローラ１２、および複数の信号ピン（第１ピン乃至第９ピン）１３を備えている。
【００１２】
これら複数の信号ピン１３は、カードコントローラ１２と電気的に接続されている。複数の信号ピン１３における第１ピン乃至第９ピンに対する信号の割り当ては、例えば図２に示すようになっている。データ０乃至データ３は、第７ピン、第８ピン、第９ピン、第１ピンにそれぞれ割り当てられている。第１ピンは、またカード検出信号に対しても割り当てられている。さらに、第２ピンはコマンドに割り当てられ、第３ピンおよび第６ピンは接地電位Ｖｓｓに、第４ピンは電源電位Ｖｄｄに、第５ピンはクロック信号に割り当てられている。
【００１３】
また、カード１は、ホスト機器２に設けられたスロット４に対して抜き差し可能なように形成されている。ホスト機器２は、電位供給部５、読み出し／書き込み制御部６、コマンド制御部７、カード検出部８等を含んでいる。
【００１４】
電位供給部５、読み出し／書き込み部６、コマンド制御部７は、第１ピン乃至第９ピンを介してカード１内の、カードコントローラ１２と各種信号およびデータの授受を行う。例えば、カード１にデータが書き込まれる際には、コマンド制御部７は、書き込みコマンドを、第２ピンを介してカードコントローラ１２にシリアルな信号として送出する。このとき、カードコントローラ１２は、第５ピンに供給されているクロック信号に応答して、第２ピンに与えられる書き込みコマンドを取り込む。書き込みコマンドは、第２ピンのみを利用してカードコントローラ１２にシリアルに入力される。カード検出部８は、スロット４に挿入されているカードの有無を検出する。
【００１５】
ＮＡＮＤ型フラッシュメモリ１１とカードコントローラ１２との間の通信は、ＮＡＮＤ型フラッシュメモリ用のインタフェースを採用する。したがって、ここでは図示しないが、ＮＡＮＤ型フラッシュメモリ１１とカードコントローラ１２とは８ビットの入出力（Ｉ／Ｏ）線により接続されている。例えば、カードコントローラ１２がＮＡＮＤ型フラッシュメモリ１１にデータを書き込む際には、カードコントローラ１２は、これらＩ／Ｏ線を介してデータ入力コマンド８０Ｈ、カラムアドレス、ページアドレス、データ、プログラムコマンド１０ＨをＮＡＮＤ型フラッシュメモリ１１に順次入力する。ここで、コマンド８０Ｈの“Ｈ”は１６進数を示すものであり、実際には“１０００００００”という８ビットの信号が、８ビットのＩ／Ｏ線にパラレルに与えられる。つまり、このＮＡＮＤ型フラッシュメモリ用のインタフェースは、複数ビットのコマンドがパラレルに与えられるものである。また、ＮＡＮＤ型フラッシュメモリ用のインタフェースでは、ＮＡＮＤ型フラッシュメモリ１１に対するコマンドとデータが同じＩ／Ｏ線を共用して通信されている。このように、ホスト機器２内のホストコントローラとカード１とが通信するインタフェースと、ＮＡＮＤ型フラッシュメモリ１１とカードコントローラ１２とが通信するインタフェースとは異なる。
【００１６】
図３は、本発明の第１実施形態に係るカードのハード構成を示すブロック図である。図３に示すように、ホスト機器２は、バスインタフェース３を介して接続されるカード１に対しアクセスを行うためのハードウェアおよびソフトウェアを備えている。カード１は、ホスト機器２に接続された時に電位供給部５から電源供給を受けて動作し、また、ホスト機器２からのアクセスに応じた処理を行う。
【００１７】
ＮＡＮＤ型フラッシュメモリ１１は、消去時の消去ブロックサイズ（消去単位のブロックサイズ）が所定サイズ（例えば、２５６kByte）に定められている。また、このＮＡＮＤ型フラッシュメモリ１１は、ページと称する単位（例えば、２kByte）でデータの書き込みおよび読み出しが行われるようになっている。
【００１８】
カードコントローラ１２は、ホストインタフェースモジュール２１、ＭＰＵ（micro processing unit）２３、フラッシュコントローラ２６、ＲＯＭ（read-only memory）２４、一時記憶メモリとしての例えばＲＡＭ（random access memory）２５、バッファ２７を有している。また、カードコントローラ１２は、ＮＡＮＤ型フラッシュメモリ１１内部の物理状態に関するシステムデータを格納している。ＲＡＭ２５は、例えばＳＲＡＭ（static random access memory）等の揮発性メモリにより実現される。システムデータには、例えば、何処の物理ブロックアドレスに、何番目の論理セクタアドレスデータが含まれているか、あるいは、何処のブロックが書き込み可能であるか等が含まれる。
【００１９】
ホストインタフェースモジュール２１は、カードコントローラ１２とホスト機器２との間のインタフェース処理を行い、レジスタ部２２を含む。図４に、レジスタ部２２の詳細な構成を示す。レジスタ部２２は、カードステータスレジスタ、ＣＩＤ、ＲＣＡ、ＤＳＲ、ＣＳＤ、ＳＣＲ、ＯＣＲの各種レジスタを有する。また、初期化コマンドのレスポンスで示される初期化方法表示部のビットパターンを保持する初期化方法表示部パターンレジスタ３６とビジー通知部パターンレジスタ３７はレジスタ部２２に含まれる。
【００２０】
これらレジスタは、以下のように定義されている。カードステータスレジスタは、通常動作において使用され、例えば後述するエラー情報が記憶される。ＣＩＤ、ＲＣＡ、ＤＳＲ、ＣＳＤ、ＳＣＲ、ＯＣＲは、主にカード１の初期化時に使用される。ＣＩＤ（card identification number）には、カード１の個体番号が記憶される。ＲＣＡ（relative card address）には、相対カードアドレス（初期化時にホスト機器が動的に決める）が記憶される。ＤＳＲ（driver stage register）には、カード１のバス駆動力等が記憶される。ＣＳＤ（card specific data）には、カード１の特性パラメータ値が記憶される。ＳＣＲ（SD configuration data register）には、カード１のデータ配置が記憶される。さらに、ＯＣＲ（operation condition resister）には、動作範囲電圧に制限のあるカード１の場合の動作電圧が記憶される。
【００２１】
ＭＰＵ（制御部）２３は、カード１全体の動作を制御するものである。ＭＰＵ２３は、例えばカード１が電源供給を受けたときに、ＲＯＭ２４に格納されているファームウェア（制御プログラム）をＲＡＭ２５上に読み出して所定の処理を実行することにより、各種のシステムデータをＲＡＭ２５上に作成する。ＭＰＵ２３は、またホスト機器２から書き込みコマンド、読み出しコマンド、消去コマンドを受け取り、ＮＡＮＤ型フラッシュメモリ１１に対して所定の処理を実行したり、バッファ２６を通じたデータ転送処理を制御したりする。
【００２２】
ＲＯＭ２４は、ＭＰＵ２３により制御される制御プログラムなどを格納する。ＲＡＭ２５は、ＭＰＵ２３の作業エリアとして使用され、制御プログラムや各種のシステムデータを記憶する。さらに、フラッシュコントローラ２６は、カードコントローラ１２とＮＡＮＤ型フラッシュメモリ１１との間のインタフェース処理を行う。
【００２３】
バッファ２７は、ホスト機器２から送られてくるデータをＮＡＮＤ型フラッシュメモリ１１へ書き込む際に、一定量のデータ（例えば、１ページ分）を一時的に記憶したり、ＮＡＮＤ型フラッシュメモリ１１から読み出されるデータをホスト機器２へ送り出す際に、一定量のデータを一時的に記憶したりする。
【００２４】
図５は、ＮＡＮＤ型フラッシュメモリ１１におけるデータ配置を示している。ＮＡＮＤ型フラッシュメモリ１１の各ページは、２１１２Byte（（５１２Byte分のデータ記憶部＋１０Byte分の冗長部）×４＋２４Byte分の管理データ記憶部）を有しており、１２８ページ分が１つの消去単位（２５６kByte＋８kByte（ここで、kは１０２４））である。
【００２５】
また、ＮＡＮＤ型フラッシュメモリ１１は、フラッシュメモリへのデータ入出力を行うためのページバッファ１１Ａを備えている。このページバッファ１１Ａの記憶容量は、２１１２Byte（２０４８Byte＋６４Byte）である。データ書き込みなどの際には、ページバッファ１１Ａは、フラッシュメモリに対するデータ入出力処理を自身の記憶容量に相当する１ページ分の単位で実行する。
【００２６】
ＮＡＮＤ型フラッシュメモリ１１の記憶容量が例えば１Ｇビットである場合、２５６kByteブロック（消去単位）の数は、５１２個となる。
【００２７】
また、図５においては消去単位が２５６kByteブロックである場合を例示しているが、消去単位が例えば１６kByteブロックとなるように構築することも実用上有効である。この場合、各ページは５２８Byte（５１２Byte分のデータ記憶部＋１６Byte分の冗長部）を有しており、３２ページ分が１つの消去単位（１６kByte＋０．５kByte（ここで、kは１０２４））となる。
【００２８】
ＮＡＮＤ型フラッシュメモリ１１のデータが書き込まれる領域（データ記憶領域）は、図３に示すように、保存されるデータの種類に応じて複数の領域に区分けされている。ＮＡＮＤ型フラッシュメモリ１１は、データ記憶領域として、ユーザデータを格納するユーザデータ領域３４と、主にカード１に関する管理情報を格納するための管理データ領域３１と、機密データを格納する機密データ領域３２と、重要なデータを格納するための保護データ領域３３とを備えている。
【００２９】
ユーザデータ領域３４は、カード１を使用するユーザが自由にアクセスおよび使用することが可能な領域である。保護データ領域３３は、カード１に接続されたホスト機器２との相互認証によりホスト機器２の正当性が証明された場合にのみアクセスが可能となる領域である。
【００３０】
管理データ領域３１は、カード１のメディアＩＤやシステムデータなどのカード情報が格納されている領域である。機密データ領域３２は、暗号化に用いられる鍵情報や認証時に使用される機密データやセキュリティ情報が格納されている領域である。
【００３１】
カードの動作モードは、ＳＤモードとＳＰＩモードに大別される。ＳＤモードにおいては、カード１はホスト機器２からのバス幅変更コマンドによって、ＳＤ４ｂｉｔモードまたはＳＤ１ｂｉｔモードに設定される。
【００３２】
ここで、４つのデータ０ピン（ＤＡＴ０）乃至データ３ピン（ＤＡＴ３）に着目すると、４ビット幅単位でデータ転送を行うＳＤ４ｂｉｔモードでは、４つのデータ０ピン乃至データ３ピンが全てデータ転送に用いられるが、１ビット幅単位でデータ転送を行うＳＤ１ｂｉｔモードでは、データ０ピン（ＤＡＴ０）のみがデータ転送に使用され、データ１ピン（ＤＡＴ１）、データ２ピン（ＤＡＴ２）は全く使用されない。また、データ３ピン（ＤＡＴ３）は例えばカード１からホスト機器２への非同期割り込み等のために使用される。ＳＰＩモードでは、データ０ピン（ＤＡＴ０）がカード１からホスト機器２へのデータ信号線（ＤＡＴＡ  ＯＵＴ）に用いられる。コマンドピン（ＣＭＤ）はホスト機器２からカード１へのデータ信号線（ＤＡＴＡ  ＩＮ）に用いられる。データ１ピン（ＤＡＴ１）、データ２ピン（ＤＡＴ２）は全く使用されない。また、ＳＰＩモードでは、データ３ピン（ＤＡＴ３）は、ホスト機器２からカード１へのチップセレクト信号ＣＳの送信に用いられる。
【００３３】
次に、カード１およびホスト機器２の動作について、図６乃至図１４を参照して説明する。
【００３４】
（終了処理のサポート、非サポートの確認動作）
ホスト機器２は、カード１がカード１の機能停止を指示する機能停止コマンドによる終了処理（後述）をサポートしているか否かの確認を行う。カード１が終了処理をサポートしているか否かの確認は、ホスト機器２からカード１への電源供給が終了する前までの任意のタイミングで完了していれば良い。
【００３５】
図６は、第１実施形態に係る、終了処理がサポートされているかを確認するための、ホスト機器２による処理を示すフローチャートである。図６に示すように、ホスト機器２は、カード１が終了処理をサポートしているか否かを確認するためのコマンドをカード１に対して発行する（ステップＳ３１）。このようなコマンドとして、いわゆるスイッチコマンドを用いることができる。スイッチコマンドは、例えばチェックファンクションとセットファンクションの２つのモードで使用される。例えばモード０は、チェックファンクションとして使用され、モード１はセットファンクションとして使用される。モードは、コマンド中のモード表示部にデータ“０”または“１”を設定することにより切り替えることができる。
【００３６】
ホスト機器２がカード１にアクセスする場合、ホスト機器２は、このホスト機器２がアクセス中のカード１がどのような仕様であるかを認識する必要がある。そこで、図７に示すように、ホスト機器２は、チェックファンクションに設定されたスイッチコマンドをカード１に供給する。そして、カード１から例えばデータラインＤＡＴ上で返送されたステータスデータによりカード１の仕様を認識する。
【００３７】
終了処理をサポートしているカード１が、スイッチコマンドを受信した際、その旨の情報を含んだステータスデータをホスト機器２に返送する。ホスト機器２は、このステータスデータを受信することにより、アクセス中のカード１への電源供給を停止するに先立ち、終了処理を実行可能であることを知得する。
【００３８】
一方、カード１が、スイッチコマンドをサポートしているが、終了処理をサポートしていない場合、ステータスデータには、終了処理をサポートする旨の情報は含まれていない。このようなステータスデータを受信することにより、ホスト機器２は、終了処理を実行できないことを知得する。
【００３９】
なお、カード１が、スイッチコマンドをサポートしていない場合、レスポンスおよびステータスデータを返送しないので、ホスト機器２は、終了処理を実行できないことを知得する。また、カード１のバージョン情報を見ても、スイッチコマンドをサポートしているかどうかが識別できる。
【００４０】
カード１が、切り替え可能な種々の動作モードをサポートしている場合、ホスト機器２は、セットファンクションに設定され且つホスト機器２がカード１に要求する動作モードが明示されたスイッチコマンドを、カード１に発行する。
【００４１】
また、ホスト機器２による、カード１の終了処理サポート、非サポートの確認は、初期化コマンドによって行うこともできる。図８は、第１実施形態に係る初期化コマンドの内容の一部を示している。図８に示すように、初期化コマンドは、コマンド部ＣＭ、終了処理識別部ＴＰ、ビジー通知部ＢＳ、例えばＣＲＣ（Cyclic Redundancy Check）等の誤り検出符合などを用いた誤り検出符号部ＥＤ等を含んでいる。コマンド部ＣＭには、このコマンドを識別するためのインデックスが設けられる。
【００４２】
ホスト機器２は、終了処理識別部ＴＰのビットをホスト機器２が本実施形態に係る終了処理をサポートする旨（例えば“１”）にセットされた、初期化コマンドをカード１に供給する。
【００４３】
カード１は、初期化コマンドを受信すると、レスポンスをホスト機器２に返送する。レスポンスのフォーマットは、コマンドと同じである。カード１が、終了処理をサポートしている場合、終了処理識別部ＴＡにおいて終了処理をサポートする旨、すなわち、コマンド内の終了処理識別部ＴＳと同じビットがされたレスポンスをホスト機器２に返送する。このレスポンスを受信することにより、ホスト機器２は、アクセス中のカード１との間で、終了処理を行うことができることを知得する。
【００４４】
カード１が、終了確認コマンドを認識するが、終了処理をサポートしていない場合、終了処理識別部ＴＰを、サポートしていない旨のビット（例えば“０”）にセットされたレスポンスを返送する。
【００４５】
ステップＳ３２において、ホスト機器２によるカード１が終了処理をサポートしているか否かの判断後、ホスト機器２は、カード１へのデータの書き込みおよびカード１からのデータの読み出し（ステップＳ３３、Ｓ３４）を、必要な回数、行う。
【００４６】
（終了処理）
ホスト機器２は、例えばホスト機器２の電源がオフとされたことを受けて、以下に述べる終了処理を行う。カード１が終了処理をサポートしていない場合、従来と同様の方法によって、ホスト機器２からカード１への電源供給が停止されることにより、アクセスが終了する。
【００４７】
一方、カード１が終了処理をサポートしている場合、ホスト機器２およびカード１は、図９に示す終了処理を実行する。図９は、第１実施形態に係る終了処理時にホスト機器２およびカード１が取る工程を示すフローチャートである。図１０は、終了処理のタイミングチャートを示している。
【００４８】
図９、図１０に示すように、ホスト機器２は、まず、コマンドラインＣＭＤ上で、機能停止コマンドをカード１に発行する（ステップＳ１）。機能停止コマンドは、カード１に終了処理を実行する旨の指示を含んでいる。機能停止コマンドは、上記のスイッチコマンドまたは新たに定義したコマンドを用いることができる。スイッチコマンドを用いた場合、図１１に示すように、少なくとも、コマンド部ＣＭと、セーブ指示部ＳＳと、を有する。さらに、誤り検出符号部ＥＤが設けられていてもよい。新たに定義したコマンドを用いる場合、コマンド部ＣＭ自体に機能停止コマンドという意味を持たせられるため、セーブ指示部ＳＳは必ずしも必要ではない。セーブ指示部ＳＳは、少なくとも、カード１が、システムデータを保存等をした後に、電源供給が停止されてもよい状態（電源停止待機状態）に移行すべき旨のビットパターン（例えば“１”）を取り得る。また、システムデータの保存無しに、カード１が電源停止待機状態に移行するビットパターン（例えば“０”）を有するようにすることもできる。
【００４９】
次に、カード１は、機能停止コマンドを受信する（ステップＳ２）。機能停止コマンドの受信を受けて、カード１は、コマンドラインＣＭＤ上でレスポンスを返信する。また、カード１は、ホスト機器２に対して、例えばデータラインＤＡＴ０上で、終了処理中によりビジーである旨の信号（例えば“０”）の送信を開始する（ステップＳ３）。
【００５０】
次に、カード１への電源供給後のカード１の状態の変化が判定される（ステップＳ４）。カード１の状態の変化として、例えば、データが書き込まれた場合、カード１のロック／アンロック（Lock/Unlock）機能を切り替えた場合、プログラム可能なＣＳＤレジスタの設定が変更された場合などが含まれる。
【００５１】
カード１の状態に変化があった場合、カード１は、終了処理を実行する（ステップＳ５）。終了処理として、種々のものがあり得る。例えば、ＲＡＭ２５により記憶されていたシステムデータを、ＮＡＮＤ型フラッシュメモリ１１に保存することが挙げられる。システムデータを保存する場所は、例えば管理データ領域３１とすることができる。または、ＮＡＮＤ型フラッシュメモリ１１以外に別途設けられた不揮発性メモリ内とすることもできる。なお、保存されるシステムデータは、システムデータ全てであってもよいし、その一部のみであってもよい。
【００５２】
ここで、システムデータの例として、アドレス変換テーブルやアサインテーブルなどが挙げられる。アドレス変換テーブルとは、論理アドレスとＮＡＮＤ型フラッシュメモリ１１の物理アドレスとを変換するためのテーブルである。また、アサインテーブルとは、データの格納に使用されているブロック（論理ブロックが割り当てられているブロック）と、データの格納に使用されていないブロック（論理ブロックが割り当てられていないブロック）とを識別するためのテーブルである。
【００５３】
また、終了処理として、以下に述べる工程を実現することもできる。機能停止コマンドが定義されていない場合、カード１は、ホスト機器２からの電源供給がいつ終了するかを知得することができない。このため、電源供給が突然停止される可能性に備えるために、カードは、ホスト機器が書き込みを要求するデータを、逐次、ＮＡＮＤ型フラッシュメモリに書き込むことが要求される。
【００５４】
一方、機能停止コマンドが設けられることによって、カード１は、ホスト機器２からの電源供給が終了する前に、そのことを知得できる。そこで、図１２に示すように、ステップＳ３３の書き込みを、ホスト機器２がデータの書き込みを要求した際、書き込みデータの一部のみをＮＡＮＤ型フラッシュメモリ１１に書き込み（ステップＳ３３Ａ）、残りを、後の、ホスト機器２からのアクセスが無いタイミング等を利用した書き込み（ステップＳ３３Ｂ）、とすることができる。この場合、書き込みコマンドの供給とともに書き込まれない残りのデータは、例えばＲＡＭ２５、またはＮＡＮＤ型フラッシュメモリ１１のキャッシュ領域（仮書き込み領域）に保存しておくことができる。図１２に示した書き込み方法を取ることにより、１つの書き込みコマンドによってカード１が実行する書き込みに要する時間を、書き込みデータの全体を書き込む場合より短くすることができる。
【００５５】
この場合、未書き込みデータは、カード１への電源供給の終了前に完了している必要がある。このため、終了処理の１つとして、カード１は、未書き込みデータを、ＮＡＮＤ型フラッシュメモリ１１に書き込む。
【００５６】
なお、書き込みデータを全て書き込むか、２回以上に分けて書き込むかは、ホスト機器２が、カード１が終了処理をサポートしていることを知得した後に、書き込みコマンド内で指示しても良いし、カード１の方で判断しても良い。
【００５７】
次に、図９において、カード１は、正常に終了処理が行われたことを示すビットパターン（例えば“１”）をカード１内でセットする（ステップＳ６）。このビットパターン（フラグ）の形成領域（正常終了フラグ３５）は、図３に示すように、ＮＡＮＤ型フラッシュメモリ１１内に設けられ、例えば管理データ領域３１内に確保することができる。
【００５８】
次に、カード１は、終了処理が完了したことを受けて、ホスト機器２に、ビジー状態が解除された旨の信号（例えば“１”）を送信する（ステップＳ７）。これにより、ホスト機器２は、カード１のビジー状態の解除を知得する。
【００５９】
また、カード１は、ビジー状態の解除に伴い、ローパワーモードに移行する（ステップＳ８）。ローパワーモードは、カード１での電力消費が通常の状態より抑制され、初期化処理へと移行するのに必要な部位以外への電源供給が遮断される。これにより、カード１のローパワーモードへの正常な移行が完了する。
【００６０】
ローパワーモードは、例えば以下の２つの方法のように、クロック信号の供給を制限することにより実現できる。１つ目は、カード１内のクロック回路がＰＬＬ（phese-locked loop）回路と発振器を含んでおり、発振器を停止させる場合である。この場合、発振器による電力消費を抑制するとともに、例えば、ＰＬＬ回路が周波数の初期値を記憶しておくことにより電源供給開始後に短時間でクロック回路の発振周波数を安定させることができる。
【００６１】
２つ目は、ホスト機器２が供給するクロックを停止する場合である。カード１の動作中は、カード１内のフロントエンドにある大多数のフリップフロップにホスト機器２からクロック信号が供給される。例えばコマンドデコード回路内以外のフリップフロップに、このクロック信号が供給されることを停止することにより、カード１の消費電力を抑制できる。
【００６２】
カード１は、電源停止待機状態（不活性状態）に移行すると、再度初期化が開始されるまで、リード／ライトコマンドを含むあらゆるコマンドを受け付けない。こうすることによって、１度保存されたシステムデータが、カード１への電源供給停止の前に、変更されることが回避される。
【００６３】
ホスト機器２は、ビジー状態が解除されたことに応じて、カード１への電源供給を停止する（ステップＳ９）。なお、カード１は、上記のように、ビジー状態の解除の後、ローパワーモードに移行する。こうすることにより、以下の利点を得られる。すなわち、通常、ビジー状態の解除の後、直ぐにカード１への電源供給が停止される。しかしながら、何等かの理由でホスト機器２からの電源供給が遮断されない場合が有り得る。このような場合に、カード１に無駄な電位が供給されることを回避することにより、ホスト機器２の電力消費を抑えることができる。
【００６４】
ホスト機器２において、カード１のビジー状態に対するタイムアウト時間が設定されていてもよい。例えば、カード１のビジー状態の開始時点から、ビジー状態が解除される前に設定されたタイムアウト時間が経過した場合、ホスト機器２はカード１への電源供給を停止する。この場合、カード１では終了処理が完了していないので、正常終了フラグ３５は、その旨を示すビットパターン（例えば“０”）にセットされる。
【００６５】
カード１の電源を入れた後、何も書き込まれなかった場合は、カード１の状態は何も変わっておらず、さらに前回、終了処理が完了している場合は、特に終了処理を行う必要はない。このため、ステップＳ１０の判断の結果、正常終了フラグ３５がセットされている場合、ステップＳ７に移行する。
【００６６】
（初期化処理）
次に、初期化コマンドとレスポンスについて図１３を参照して説明する。図１３は、初期化コマンドとレスポンスのフォーマットは、同じものが用いられる場合を示している。図１３に示すように、初期化コマンドは、少なくとも、コマンド部ＣＭと、ビジー通知部ＢＳを有する。コマンドには、初期化方法表示部ＦＩは不要である。さらに、誤り検出符号部ＥＤが設けられていても良い。
【００６７】
レスポンスにおいて、初期化方法表示部ＦＩは必ずしも必須ではないが、この機能がある場合、初期化方法表示部ＦＩには、カード１が、いずれの初期化方法で初期化を行ったかが示される。ビジー通知部ＢＳは、カード１が初期化中である旨を示すビットパターン（例えば“１”）、初期化完了の旨を示すビットパターン（例えば“０”）が形成される。なお、レスポンス中の初期化方法表示部ＦＩは、ビジー状態が解除されるまでに有効な値を示す。
【００６８】
次に、カード初期化時にカードが取る工程について図１４を参照して説明する。図１４
は、第１実施形態に係るカード１が初期化時に取る工程を示すフローチャートである。図１４に示すように、カード１は、初期化コマンドを受信する（ステップＳ２１）と、初期化コマンドのレスポンスを返信する。レスポンス内のビジー通知部ＢＳは、ビジー中である旨のビットパターンを有している（ステップＳ２２）。この後も、ホスト機器２は、ビジーの解除によって初期化処理の終了をカード１から通知されるまで、初期化コマンドを発行し続ける。カード１は、最初の初期化コマンドを受信したことに応じて以下に述べる初期化処理を開始し、２回目以降の初期化コマンドに対しては、ビジー通知部ＢＳにおいてビジー中である旨のビットパターンを有するレスポンスを単に返信し続ける。
【００６９】
ステップＳ２３において、カード１は、自身が保存している正常処理フラグ３５を検査する。前回の終了処理が異常終了であった場合、正常処理フラグはクリアされているので、カード１は完全初期化を行う。すなわち、処理はステップＳ２４に移行する。また、終了処理が正常終了であった場合、正常処理フラグはセットされているので、カード１は高速初期化を行う。すなわち、処理はステップＳ２７に移行する。
【００７０】
ステップＳ２４の完全初期化は、従来の通常の初期化方法であり、以下に述べるように、メモリデータのエラーチェック、システムデータの保存等を含む。
【００７１】
完全初期化処理において、カード１は、ＮＡＮＤ型フラッシュメモリ１１が記憶しているメモリデータにエラーが無いかをチェックする。例えば、前回のカード１への電源供給の停止が、メモリデータの書き込み中に行われた場合等にメモリデータが破損する。このようにしてメモリデータが破損している場合、メモリデータの修復が行われる。なお、このエラーチェック処理やエラー修復処理は、カード１内のＮＡＮＤ型フラッシュメモリ１１の全ての領域に対して行うため、長時間を要する可能性がある。特に、メモリ容量の増大に応じて、より長期化する。
【００７２】
次に、カード１は、システムデータを作成し、次いで、これをＲＡＭ２５上に保存する（ステップＳ２５）。
【００７３】
ステップＳ２７の高速初期化は、完全初期化から、幾つかの処理が省略されたり、完全初期化と異なる処理によって、完全初期化より短い時間で行われる初期化処理である。高速初期化の一例として、ステップＳ２７において、カード１は、前回の終了処理の際にＮＡＮＤ型フラッシュメモリ１１に保存しておいたシステムデータをＲＡＭ２５上に読み出す。保存されているシステムデータが、システムデータ全体のうちの一部であった場合、これがＲＡＭ２５上に保存されるとともに、残りの部分が再度作成される。以降、このシステムデータが利用される。また、高速初期化では、完全初期化の際に行われる、メモリデータのエラーのチェックが省略される。
【００７４】
システムデータが読み出された後、ＭＰＵ２３は初期化方法表示部パターンレジスタ３６にいずれの初期化方法で初期化を行ったかを示すビットパターンを設定する（ステップＳ２９）。次いで、ＭＰＵ２３は、ビジー通知部バターンレジスタにおいてビジー解除を示すビットパターンを設定する（ステップＳ３０）。
【００７５】
これらのレジスタに設定されたビットパターンは、カード１が次の初期化コマンドを受信したとき、そのレスポンスの初期化方法表示部ＦＩおよびビジー通知部ＢＳによってホスト機器２に通知される。ホスト機器２がこのレスポンスを受信することにより初期化コマンドの発行を停止するとともに、初期化処理が終了する。
【００７６】
本発明の第１実施形態によれば、カード１は、ホスト機器２からの電源供給の停止を予め知得し、これに備えて終了処理を行うことができる。また、終了処理が正常に行われていた場合、高速で初期化を行うことができ、初期化時間を短くすることができる。
【００７７】
このように、メモリ容量の増加に従って完全初期化方法の改良のみでは初期化時間を短縮することが困難だとしても、初期化時間を短縮することが可能となる。このため、カードコントローラ１２の設計に対する要求が緩和される。
【００７８】
なお、本実施形態では、特に、ホスト機器２がデジタルカメラ、ムービーカメラなどの場合、カード１が挿入され続けている状態での初期化時間を短くすることにより、電源を入れた直後の撮影を可能にすることができる。このため、本実施形態は、実用上、非常に有効である。
【００７９】
正常終了フラグ３５は、ＮＡＮＤ型フラッシュメモリ１１への書き込みなど、カード１の状態が以前と変更があった時点でクリアされる。そうするとカード１の状態に変化がなければ、終了処理を省略することができる。初期化が完了した時点でクリアしても良いが、その場合カード１の状態に変化がなくても、機能停止コマンドが来ると必ず終了処理を行う必要がある。
【００８０】
（第２実施形態）
第１実施形態は、ＲＡＭ２５が揮発性のメモリの場合に対応する。第２実施形態では、ＲＡＭ２５として、不揮発性のＭＲＡＭ（magnetic random access memory）またはＦｅＲＡＭ（ferroelectric random access memory）が用いられる。この場合、システムデータが保存されるメモリ、および正常終了フラグ３５が確保される領域が第１実施形態と異なるとともに、幾つかの処理が第１実施形態のそれと異なる。以下、異なる部分について説明する。
【００８１】
図１５は、本発明の第２実施形態に係るカードのハード構成を示すブロック図である。図１５において、第１実施形態のＲＡＭ２５の替わりに、ＭＲＡＭ、ＦｅＲＡＭ等の不揮発性のＲＡＭ４１が設けられる。正常終了フラグ３５は、ＲＡＭ４１内またはＮＡＮＤ型フラッシュメモリ１１内のいずれかに設けられる（図では、便宜上、両方に図示）。
【００８２】
本実施形態において、カード１の初期化の際に作成されたシステムデータの全ては、ＲＡＭ４１に保存される。ＭＲＡＭ、ＦｅＲＡＭは不揮発性であり、且つ高速動作が可能であるため、システムデータは、第１実施形態の場合と異なり、カード１の動作中にＳＲＡＭ上に移動される必要はない。このため、カード１が機能停止コマンドを受信した際の処理（図９）において、ステップＳ４の処理は不要となる。また、カード１が初期化時に取る工程（図１４）において、ステップＳ２７の処理は不要となる。その他は、第１実施形態と同じである。
【００８３】
本発明の第２実施形態によれば、第１実施形態と同じ効果を得られる。
【００８４】
（第３実施形態）
図１６は、本発明の第３実施形態に係るカードのハード構成を示すブロック図である。図１６に示すように、第１実施形態のＲＡＭ２５に加えて、不揮発性ＲＡＭ４１が設けられる。正常終了フラグ３５は、不揮発性ＲＡＭ４１内またはＮＡＮＤ型フラッシュメモリ１１内のいずれかに設けられる（図では、便宜上、両方に図示）。
【００８５】
本実施形態において、カード１の初期化の際に作成されたシステムデータの一部は、不揮発性ＲＡＭ４１に保存される。また、システムデータの残りの部分は、ＮＡＮＤ型フラッシュメモリ１１に保存される。システムデータのうちのＲＡＭ４１に保存される部分は、ＲＡＭ４１が不揮発性であり、且つ高速動作が可能であるため、ＲＡＭ２５に移動されずに、不揮発性ＲＡＭ４１上で動作する。一方、ＮＡＮＤ型フラッシュメモリ１１に保存される部分は、カード１の動作中はＲＡＭ２５に移動され、カード１への電源供給の停止に合わせて、第１実施形態と同様にＮＡＮＤ型フラッシュメモリ１１または不揮発性ＲＡＭ４１に移動される。しかし、そのデータが初期化時に他の情報から作成容易な場合は、セーブしないで捨ててしまうこともできる。
【００８６】
カード１が機能停止コマンドを受信した際の処理（図９）において、ステップＳ４の処理は、システムデータのＲＡＭ２５上の部分がＮＡＮＤ型フラッシュメモリ１１または不揮発性ＲＡＭ４１に保存される処理に対応する。また、カード１が初期化時に取る工程（図１４）において、ステップＳ２７の処理は、システムデータのＮＡＮＤ型フラッシュメモリ１１上のシステムデータがそのまま、または加工された上でＲＡＭ２５に読み出される処理に対応する。その他は、第１実施形態と同じである。
【００８７】
本発明の第３実施形態によれば、第１実施形態と同じ効果を得られる。
【００８８】
その他、本発明の思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の範囲に属するものと了解される。
【図面の簡単な説明】
【００８９】
【図１】本発明の第１実施形態に係るメモリカードの主要部の構成を示す図。
【図２】第１実施形態に係るカードにおける信号ピンに対する信号割り当てを示す図。
【図３】第１実施形態に係るカードのハード構成を示すブロック図。
【図４】第１実施形態に係るカードにおけるレジスタ部の詳細な構成を示す図。
【図５】ＮＡＮＤ型フラッシュメモリにおけるデータ配置を示す図。
【図６】第１実施形態に係る終了処理がサポートされているかを確認するための処理を示すフローチャート。
【図７】スイッチコマンドとその応答のタイミングチャート。
【図８】第１実施形態に係る初期化コマンドの内容の一部を示す図。
【図９】第１実施形態に係るカードおよびホスト機器が終了処理時に取る工程を示すフローチャート。
【図１０】第１実施形態に係るカードの機能停止コマンドの受信から終了処理までのホスト機器とカードとの間の信号授受を示すタイミングチャート。
【図１１】第１実施形態に係るホスト機器が発行する機能停止コマンドの内容の主要部を示す図。
【図１２】図６の処理の一部の他の例を示す図。
【図１３】第１実施形態に係る、初期化コマンドおよびレスポンスの内容の一部を示す図。
【図１４】第１実施形態に係るカードが初期化時に取る工程を示すフローチャート。
【図１５】本発明の第２実施形態に係るカードのハード構成を示すブロック図。
【図１６】本発明の第３実施形態に係るカードのハード構成を示すブロック図。
【符号の説明】
【００９０】
１…カード、２…ホスト機器、３…バスインタフェース、４…スロット、５…電位供給部、６…読み取り／書き込み制御部、７…コマンド制御部、８…カード検出部、１１…ＮＡＮＤ型フラッシュメモリ、１２…カードコントローラ、１３…信号ピン、２１…ホストインタフェースモジュール、２２…レジスタ部、２３…ＭＰＵ、２４…ＲＯＭ、２５、４１…ＲＡＭ、２６…フラッシュコントローラ、２７…バッファ、３１…管理データ領域、３２…機密データ領域、３３…保護データ領域、３４…ユーザデータ領域。
【図１】
2006209744.tif 000003
【図２】
2006209744.tif 000004
【図３】
2006209744.tif 000005
【図４】
2006209744.tif 000006
【図５】
2006209744.tif 000007
【図６】
2006209744.tif 000008
【図７】
2006209744.tif 000009
【図８】
2006209744.tif 000010
【図９】
2006209744.tif 000011
【図１０】
2006209744.tif 000012
【図１１】
2006209744.tif 000013
【図１２】
2006209744.tif 000014
【図１３】
2006209744.tif 000015
【図１４】
2006209744.tif 000016
【図１５】
2006209744.tif 000017
【図１６】
2006209744.tif 000018