(57)【要約】ホストから出力された初期化コマンドが‘ＣＭＤ１’、‘ＣＭＤ５５＋ＣＭＤ４１’のいずれであるかを初期化コマンド検出部８により検出し、その結果をＳＤ／ＭＭＣレジスタ１３にセットする。そして、ＳＤ／ＭＭＣレジスタ１３にセットされた検出結果に基づいて、ハードウェア、およびファームウェアのリセット処理をそれぞれ実行する。その後、マイクロコンピュータ７は、ファームウェアのリセット処理がマルチメディアカードモード、またはＳＤモードのいずれのモードによって実行されたかを示すデータをＦ／Ｗ処理ＳＤ／ＭＭＣレジスタ１４にセットする。Ｈ／Ｗ−Ｆ／Ｗモード比較回路１５は、ＳＤ／ＭＭＣレジスタ１３、およびＦ／Ｗ処理ＳＤ／ＭＭＣレジスタ１４のデータを比較し、一致していればリセットビジーを解除してコマンド待ち状態とし、不一致の際には、不一致発生検出信号をマイクロコンピュータ８に出力し、パワーオンリセット処理を再度行う。
2004084127.tif 000002
【特許請求の範囲】
【請求項１】
複数の不揮発性メモリセルを有し、所定の情報を格納可能な不揮発性半導体メモリと、外部から発行されたコマンドに基づいて前記不揮発性半導体メモリの動作指示を行うコントローラとからなるメモリカードであって、
前記コントローラは、
外部から発行される第１、または第２の動作モードの初期化設定コマンドを検出し、前記初期化設定コマンドによる初期化設定の終了後、前記検出した初期化設定コマンドの動作モードとファームウェアリセット処理を実行した動作モードとが一致しない際に不一致検出信号を出力するホストインタフェース部を備え、
前記コントローラは、
初期化設定の実行後に前記比較回路の不一致発生検出信号を受け取ると、初期化コマンド格納部に格納された検出結果に基づいて、再び初期化処理を行うことを特徴とするメモリカード。
【請求項２】
請求項１記載のメモリカードにおいて、
前記ホストインタフェース部は、
外部から発行される第１、または第２の動作モードの初期化設定コマンドを検出する初期化コマンド検出部と、
前記初期化コマンド検出部が検出した検出結果を格納する初期化コマンド格納部と、
ファームウェアリセット処理が、第１の動作モード、あるいは第２の動作モードのいずれで実行されたかを示すデータを格納するファームウェアリセット処理格納部と、
前記初期化コマンド格納部に格納された検出結果とファームウェアリセット処理格納部に格納されたデータとを比較し、一致しない際には不一致発生検出信号を出力する比較回路とを備え、
前記コントローラは、
初期化コマンド格納部に格納された検出結果に基づいて、第１、または第２の動作モードのいずれかの初期化設定を実行し、
初期化設定の実行後に前記比較回路の不一致発生検出信号を受け取ると、初期化コマンド格納部に格納された検出結果に基づいて、再び初期化処理を行うことを特徴とするメモリカード。
【請求項３】
複数の不揮発性メモリセルを有し、所定の情報を格納可能な不揮発性半導体メモリと、外部から発行されたコマンドに基づいて前記不揮発性半導体メモリの動作指示を行うコントローラとからなるメモリカードであって、
前記コントローラは、
外部から発行される第１、または第２の動作モードの初期化設定コマンドを検出した際にマスク信号を出力し、第１、または第２の動作モードのいずれかの初期化設定を実行している期間は、新たな初期化設定コマンドを受け付けないホストインタフェース部を備えたことを特徴とするメモリカード。
【請求項４】
請求項３記載のメモリカードにおいて、
前記ホストインタフェース部は、
前記初期化コマンド検出部が検出した検出結果を格納する初期化コマンド格納部と、
前記初期化コマンド検出部が第１、または第２の動作モードの初期化設定コマンドを検出した際に、前記初期化コマンド格納部にマスク信号を出力し、前記初期化コマンド格納部の動作をマスクするモード設定マスク部とを備え、
前記コントローラは、
初期化コマンド格納部に格納された検出結果に基づいて、第１、または第２の動作モードのいずれかの初期化設定を実行し、前記初期設定が終了後、前記モード設定マスク部にマスク解除信号を出力し、前記モード設定マスク部のマスク信号を解除することを特徴とするメモリカード。
【請求項５】
複数の不揮発性メモリセルを有し、所定の情報を格納可能な不揮発性半導体メモリと、外部から発行されたコマンドに基づいて前記不揮発性半導体メモリの動作指示を行うコントローラとからなるメモリカードであって、
前記コントローラは、
外部から発行される第１、または第２の動作モードの初期化設定コマンドを検出し、前記検出した検出結果を順次格納し、初期化設定終了信号を受け取る毎に、格納した検出結果を順次出力するホストインタフェース部を備え、
前記コントローラは、
前記検出結果に基づいて、第１、または第２の動作モードのいずれかの初期化設定を実行し、前記初期化設定の終了後、新たな検出結果が格納されている際には、前記結果に基づいてファームウェアリセット処理を行うことを特徴とするメモリカード。
【請求項６】
請求項５記載のメモリカードにおいて、
前記ホストインタフェース部は、
外部から発行される第１、または第２の動作モードの初期化設定コマンドを検出する初期化コマンド検出部と、
前記初期化コマンド検出部が検出した検出結果を格納する初期化コマンド格納部と、
前記初期化コマンド検出部が検出した検出結果を順次格納し、初期化設定終了信号を受け取る毎に、格納した検出結果を順次出力する初期化コマンド格納部と、
初期化設定が終了した際に初期化設定終了信号を出力するリセット終了設定部とを備え、
前記コントローラは、
初期化コマンド格納部に格納された検出結果に基づいて、第１、または第２の動作モードのいずれかの初期化設定を実行し、前記初期化設定の終了後、前記初期化設定終了信号を受け取る毎に前記初期化コマンド格納部から順次出力される結果に基づいてファームウェアリセット処理を行うことを特徴とするメモリカード。
【請求項７】
請求項１〜６のいずれか１項に記載のメモリカードにおいて、
前記コンローラは、
前記第１の動作モードのコマンドをデコードする第１のコマンドデコード部と、
前記第２の動作モードのコマンドをデコードする第２のコマンドデコード部と、
前記初期化コマンド格納部に格納された検出結果に基づいて、前記第１、または第２のコマンドデコード部の接続先を切り替える第１の切り替え部と、
前記第１の動作モードにおける動作可能な電圧範囲を定義する第１のＯＣＲと、
前記第２の動作モードにおける動作可能な電圧範囲を定義する第２のＯＣＲと、
前記初期化コマンド格納部に格納された検出結果に基づいて、前記第１、または第２のＯＣＲの接続先を切り替える第２の切り替え部とを備えたことを特徴とするメモリカード。
【請求項８】
外部よりコマンドと動作電圧とが供給され、前記コマンドに応じて、制御手段が不揮発性半導体メモリにアクセスし、情報の格納、または情報の読み出しを行うメモリカードの初期化設定方法であって、
外部から発行される第１、または第２の動作モードの初期化設定コマンドを初期化コマンド検出部が検出するステップと、
前記初期化コマンド検出部が検出した検出結果を初期化コマンド格納部に格納するステップと、
コントローラが、初期化コマンド格納部に格納された検出結果に基づいて、第１、または第２の動作モードのいずれかの初期化設定を実行するステップと、
前記第１、または第２の動作モードによる初期化設定において、ファームウェアリセット処理がいずれの動作モードで実行されたかを示すデータをファームウェアリセット処理格納部に格納するステップと、
前記初期化コマンド格納部に格納された検出結果とファームウェアリセット処理格納部に格納されたデータとを比較回路により比較し、一致しない際には不一致発生検出信号を出力するステップと、
前記コントローラは、前記不一致発生検出信号を受け取ると、初期化コマンド格納部に格納された検出結果に基づいて、再び初期化処理を行うステップとを有することを特徴とするメモリカードの初期化設定方法。
【請求項９】
外部よりコマンドと動作電圧とが供給され、前記コマンドに応じて、制御手段が不揮発性半導体メモリにアクセスし、情報の格納、または情報の読み出しを行うメモリカードの初期化設定方法であって、
外部から発行される第１、または第２の動作モードの初期化設定コマンドを初期化コマンド検出部が検出するステップと、
前記初期化コマンド検出部が検出した検出結果を初期化コマンド格納部に格納するステップと、
前記初期化コマンド検出部が第１、または第２の動作モードの初期化設定コマンドを検出した際に、モード設定マスク部が前記初期化コマンド格納部にマスク信号を出力し、前記初期化コマンド格納部に新たに入力される検出結果をマスクするステップと、
前記コントローラが、初期化コマンド格納部に格納された検出結果に基づいて、第１、または第２の動作モードのいずれかの初期化設定を実行するステップとを有することを特徴とするメモリカードの初期化設定方法。
【請求項１０】
外部よりコマンドと動作電圧とが供給され、前記コマンドに応じて、制御手段が不揮発性半導体メモリにアクセスし、情報の格納、または情報の読み出しを行うメモリカードの初期化設定方法であって、
外部から発行される第１、または第２の動作モードの初期化設定コマンドを初期化コマンド検出部が検出するステップと、
前記初期化コマンド検出部が検出した最初の検出結果を初期化コマンド格納部に格納するステップと、
前記初期化コマンド検出部が検出した検出結果を初期化コマンド格納部に順次格納するステップと、
前記初期化コマンド格納部に格納された検出結果に基づいて、第１、または第２の動作モードのいずれかの初期化設定を実行し、前記初期化設定の終了後、リセット終了設定部から初期化設定終了信号を出力するステップと、
前記初期化設定の終了後、前記初期化設定終了信号を受け取る毎に前記初期化コマンド格納部から順次出力される結果に基づいてファームウェアリセット処理を行うステップとを有することを特徴とするメモリカードの初期化設定方法。
【発明の詳細な説明】
【技術分野】  本発明は、メモリカードの初期化不良動作の回避技術に適用して有効な技術に関するものである。
【背景技術】  パーソナルコンピュータや多機能端末機などの外部記憶メディアの１つとして、標準化団体であるＭＭＣＡ（ＭｕｌｔｉＭｅｄｉａ  Ｃａｒｄ  Ａｓｓｏｃｉａｔｉｏｎ）が標準化したマルチメディアカード（登録商標）やＳＤＡ（ＳＤ  ｃａｒｄ  Ａｓｓｏｃｉａｔｉｏｎ）が標準化したＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）カード（登録商標）などが広く知られており、デジタルビデオカメラの静止画像記録、携帯電話のデータ記録、携帯音楽プレーヤの音楽記録などに用いられている。
ところが、上記のようなメモリカードでは、次のような問題点があることが本発明者により見い出された。
マルチメディアカードとＳＤカードとは、利便性をより向上するためにマルチメディアカードの規格、およびＳＤカードの規格の両方で動作するメモリカードが望まれている。
図１１は、マルチメディアカードの規格とＳＤカードの規格との相違点の説明図である。図示するように、初期化コマンド、ＣＳＤ値、コマンドサポート、ＯＣＲ（Ｏｐｅｒａｔｉｏｎ  Ｃｏｎｄｉｔｉｏｎ  Ｒｅｇｉｓｔｅｒ）値、およびその他のレジスタなどを設定する規格が異なっている。
図１２は、本発明者が検討したマルチメディアカードの規格による動作を行うマルチメディアカードモードとＳＤカードの規格による動作を行うＳＤモードとの両モードで動作するメモリカードの内部ブロック図である。
この場合、図示するように、メモリカード５０は、フラッシュメモリ５１、およびコントローラ５２から構成される。コントローラ５２は、内部インタフェースロジック５３、ホストインタフェース５４、データバッファ５５、ならびにマイクロコンピュータ５６からなる。
フラッシュメモリ５１のシステム領域には、ＳＤ−ＣＳＤ（Ｃａｒｄ  Ｓｐｅｃｉｆｉｃ  Ｄａｔａ）、ＳＣＲ（Ｓｅｃｕｒｅ  Ｒｅｇｉｓｔｅｒ）、ＭＭＣ−ＣＳＤ、ＥＸ（ＥＸｔｅｎｄ）−ＣＳＤなどのデータが格納されている。
内部インタフェースロジック５３は、フラッシュメモリ５１、データバッファ５５、ならびにマイクロコンピュータ５６におけるインタフェースからなる。
ホストインタフェース５４は、ホストから入出力される書き込み／読み出し／消去といった動作を指示するコマンドを受け、これらの動作に必要なデータの入出力を行う。
データバッファ５５は、ホスト、およびフラッシュメモリ５１から入出力されるデータを一時的に格納するとともに、コントローラ５２がフラッシュメモリ５１から読み出したＳＤ−ＣＳＤ、ＳＣＲ、またはＭＭＣ−ＣＳＤ、ＥＸ（ＥＸｔｅｎｄ）−ＣＳＤの一方を格納する。マイクロコンピュータ５５は、コントローラ５２のすべての制御を司る。
また、ホストインタフェース５４は、初期コマンド検出部５７、ＭＭＣコマンドデコード５８、ＳＤコマンドデコード５９、ＭＭＣ−ＯＣＲ６０、ＳＤ−ＯＣＲ６１、ＳＤ／ＭＭＣレジスタ６２、およびスイッチ部６３，６４から構成されている。
初期コマンド検出部５７は、入力された初期コマンドがＳＤ規格のコマンドかＭＭＣ規格のコマンドかを検出する。ＳＤ／ＭＭＣレジスタ６２は、初期コマンド検出部５７によって検出された検出信号を格納する。
マイクロコンピュータ５６は、ＳＤ／ＭＭＣレジスタ６２に格納されている検出結果を参照し、マルチメディアカードモード／ＳＤモードのいずれで動作すればよいかを認識する。
スイッチ部６３，６４は、ＳＤ／ＭＭＣレジスタ６２に格納されている検出結果に基づいて信号の出力先を切り替える。ＭＭＣコマンドデコード５８は、メモリカード５０がマルチメディアカードモードの動作の際に、ＭＭＣ規格のコマンドをデコードする。ＳＤコマンドデコード５９は、メモリカード５０がＳＤモードで動作の際に、ＳＤ規格のコマンドをデコードする。
ＭＭＣ−ＯＣＲ６０は、マルチメディアカードモードにおける動作可能な電圧範囲を定義し、ＳＤ−ＯＣＲ６１、ＳＤモードにおける動作可能な電圧範囲を定義する。
スイッチ部６３は、ＳＤ／ＭＭＣレジスタ６２に格納された検出結果が、マルチメディアカードモードの際には、入力されるコマンドがＭＭＣコマンドデコード５８に入力されるように接続先を切り替え、該検出結果が、ＳＤモードの際には、入力されるコマンドがＳＤコマンドデコード５９に入力されるように接続先を切り替える。
また、スイッチ部６４は、ＳＤ／ＭＭＣレジスタ６２に格納された検出結果が、マルチメディアカードモードの際には、ＭＭＣ−ＯＣＲ６０のデータが出力されるように接続先を切り替え、該検出結果が、ＳＤモードの際には、ＳＤ−ＯＣＲ６１のデータが出力されるように接続先を切り替える。
ここで、本発明者が検討したメモリカード５０のパワーオンリセット処理の動作について、図１３のタイミングチャート、および図１４のフローチャートを用いて説明する。ここでは、初期コマンドとして、ＳＤモードの’ＣＭＤ５５＋ＣＭＤ４１’がメモリカード５０に入力されるものとする。
図１３においては、上方から下方にかけて、ホストから出力されるコマンド、ＳＤ／ＭＭＣレジスタ６２、マイクロコンピュータ５６のファームウェア処理、初期化コマンド検出部５７、ＭＭＣ−ＯＣＲ６０／ＳＤ−ＯＣＲ６１、ＭＭＣコマンドデコード５８／ＳＤコマンドデコード５９のそれぞれの信号タイミングについて示している。
さらに、図１４においては、左側に示す点線内のフローチャートがハードウェアの初期化処理であり、右側に示す点線内のフローチャートがファームウェアの初期化処理をそれぞれ示している。
まず、メモリカード５０に電源電圧ＶＣＣが供給されると、ホストから、該メモリカード５０の動作可能な電圧範囲のチェック、および該メモリカード５０の内部処理を終了したかをチェックする初期化コマンド’ＣＭＤ５５＋ＣＭＤ４１’が出力される（ステップＳ５０１）。
初期化コマンド検出部５７は、初期化コマンドを検出し、その検出結果をＳＤ／ＭＭＣレジスタ６２に出力してセットする（ステップＳ５０２）。
スイッチ部６３，６４は、ＳＤ／ＭＭＣレジスタ６２にセットされたデータに基づいて、スイッチ部６３は、ホストから出力されるコマンドがＳＤコマンドデコード５９に入力されるように接続先を切り替え、スイッチ部６４は、ＳＤ−ＯＣＲ６１のデータが出力されるように接続先を切り替える（ステップＳ５０３）。その後、メモリカード５０はコマンドの待ち受け状態となる。
さらに、ステップＳ５０３の処理と並行して、マイクロコンピュータ５６は、ＳＤ／ＭＭＣレジスタ６２にセットされた検出結果に基づいて、フラッシュメモリ５１にアクセスし、システム領域に格納されているＳＤ−ＣＳＤを読み出し（ステップＳ５０４）、データバッファ５５に格納する。続いて、マイクロコンピュータ５６は、ＳＣＲをフラッシュメモリ５１から読み出し（ステップＳ５０５）、データバッファ５５に格納する。
その後、マイクロコンピュータ５６は、代替領域を管理するフラッシュテーブルなどを検索し（ステップＳ５０６）、リセットビジーを解除して（ステップＳ５０７）コマンド待ち状態となる。
このパワーオンリセット処理中において、たとえば、図１４左側に示す点線内に示すハードウェアの初期化処理が終了した後に、ホストからマルチメディアカードモードの初期化コマンドである’ＣＭＤ１’が入力されると、ハードウェアはリセットビジーを解除した際、再びマルチメディアカードモードによる初期化動作を開始してしまうが、図１４右側に示す点線内に示すファームウェアの初期化処理は行われず、ハードウェアとファームウェアとのモード認識のずれが生じてしまうことになる。
本発明の目的は、ある動作モードの初期化中に異なる動作モードの初期化コマンドが入力されても、初期化動作不良を確実に防止することのできるメモリカードメモリカードおよびその初期化設定方法を提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【発明の開示】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
（１）本発明は、複数の不揮発性メモリセルを有し、所定の情報を格納可能な不揮発性半導体メモリと、外部から発行されたコマンドに基づいて不揮発性半導体メモリの動作指示を行うコントローラとからなるメモリカードであって、
コントローラは、外部から発行される第１、または第２の動作モードの初期化設定コマンドを検出し、初期化設定コマンドによる初期化設定の終了後、検出した初期化設定コマンドの動作モードとファームウェアリセット処理を実行した動作モードとが一致しない際に不一致検出信号を出力するホストインタフェース部を備え、初期化設定の実行後に比較回路の不一致発生検出信号を受け取ると、初期化コマンド格納部に格納された検出結果に基づいて、再び初期化処理を行うものである。
また、本願のその他の発明の概要を簡単に示す。
（２）本発明は、複数の不揮発性メモリセルを有し、所定の情報を格納可能な不揮発性半導体メモリと、外部から発行されたコマンドに基づいて不揮発性半導体メモリの動作指示を行うコントローラとからなるメモリカードであって、コントローラは、外部から発行される第１、または第２の動作モードの初期化設定コマンドを検出した際にマスク信号を出力し、第１、または第２の動作モードのいずれかの初期化設定を実行している期間は、新たな初期化設定コマンドを受け付けないホストインタフェース部を備えたものである。
（３）本発明は、複数の不揮発性メモリセルを有し、所定の情報を格納可能な不揮発性半導体メモリと、外部から発行されたコマンドに基づいて不揮発性半導体メモリの動作指示を行うコントローラとからなるメモリカードであって、コントローラは、外部から発行される第１、または第２の動作モードの初期化設定コマンドを検出し、検出した検出結果を順次格納し、初期化設定終了信号を受け取る毎に、格納した検出結果を順次出力するホストインタフェース部を備え、検出結果に基づいて、第１、または第２の動作モードのいずれかの初期化設定を実行し、初期化設定の終了後、新たな検出結果が格納されている際には、結果に基づいてファームウェアリセット処理を行うものである。
さらに、本願のその他の発明の概要を項に分けて簡単に示す。
（１）以下のステップを含むメモリカードの初期化設定方法：
（ａ）外部から発行される第１、または第２の動作モードの初期化設定コマンドを初期化コマンド検出部が検出するステップ、
（ｂ）初期化コマンド検出部が検出した検出結果を初期化コマンド格納部に格納するステップ、
（ｃ）コントローラが、初期化コマンド格納部に格納された検出結果に基づいて、第１、または第２の動作モードのいずれかの初期化設定を実行するステップ、
（ｄ）第１、または第２の動作モードによる初期化設定において、ファームウェアリセット処理がいずれの動作モードで実行されたかを示すデータをファームウェアリセット処理格納部に格納するステップ、
（ｅ）初期化コマンド格納部に格納された検出結果とファームウェアリセット処理格納部に格納されたデータとを比較回路により比較し、一致しない際には不一致発生検出信号を出力するステップと、
（ｆ）  コントローラは、不一致発生検出信号を受け取ると、初期化コマンド格納部に格納された検出結果に基づいて、再び初期化処理を行うステップ。
（２）
（ａ）外部から発行される第１、または第２の動作モードの初期化設定コマンドを初期化コマンド検出部が検出するステップ、
（ｂ）初期化コマンド検出部が検出した検出結果を初期化コマンド格納部に格納するステップ、
（ｃ）初期化コマンド検出部が第１、または第２の動作モードの初期化設定コマンドを検出した際に、モード設定マスク部が初期化コマンド格納部にマスク信号を出力し、初期化コマンド格納部に新たに入力される検出結果をマスクするステップ、
（ｄ）コントローラが、初期化コマンド格納部に格納された検出結果に基づいて、第１、または第２の動作モードのいずれかの初期化設定を実行するステップ。
（３）
（ａ）外部から発行される第１、または第２の動作モードの初期化設定コマンドを初期化コマンド検出部が検出するステップ、
（ｂ）初期化コマンド検出部が検出した最初の検出結果を初期化コマンド格納部に格納するステップ、
（ｃ）初期化コマンド検出部が検出した検出結果を初期化コマンド格納部に順次格納するステップ、
（ｄ）初期化コマンド格納部に格納された検出結果に基づいて、第１、または第２の動作モードのいずれかの初期化設定を実行し、初期化設定の終了後、リセット終了設定部から初期化設定終了信号を出力するステップ、
（ｅ）初期化設定の終了後、初期化設定終了信号を受け取る毎に初期化コマンド格納部から順次出力される結果に基づいてファームウェアリセット処理を行うステップ。
【図面の簡単な説明】  図１は、本発明の実施の形態１によるメモリカードのブロック図、図２は、図１のメモリカードにおけるコネクタピンの説明図、図３は、図１のメモリカードに設けられたホストインタフェースのブロック図、図４は、図１のメモリカードによるパワーオンリセット処理のフローチャート、図５は、本発明の実施の形態２によるメモリカードのブロック図、図６は、図５のメモリカードにおけるパワーオンリセット処理時の信号タイミングチャート、図７は、図５のメモリカードにおけるパワーオンリセット処理時のフローチャート、図８は、本発明の実施の形態３によるメモリカードのブロック図、図９は、図８のメモリカードにおけるパワーオンリセット処理時の信号タイミングチャート、図１０は、図８のメモリカードにおけるパワーオンリセット処理時のフローチャート、図１１は、ＳＤカード、およびマルチメディアカードの両規格におけるコマンドの相違点を示した説明図、図１２は、本発明者が検討したメモリカードのブロック図、図１３は、図１２のメモリカードにおけるパワーオンリセット処理時の信号タイミングチャート、図１４は、図１２のメモリカードにおけるパワーオンリセット処理時のフローチャートである。
【発明を実施するための最良の形態】  本発明を詳細に説明するために、添付の図面に従ってこれを説明する。なお、実施例を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
（実施の形態１）
本実施の形態１において、メモリカード１は、たとえば、デジタルビデオカメラ、携帯電話、携帯音楽プレーヤやパーソナルコンピュータなどにおけるホストの外部記憶メディアとして用いられ、ＳＤカードの規格、およびマルチメディアカードの規格の両方の規格で動作するメモリカードである。
メモリカード１は、図１に示すように、フラッシュメモリ（不揮発性半導体メモリ）２、およびコントローラ３から構成される。このコントローラ３は、内部インタフェースロジック４、ホストインタフェース（ホストインタフェース部）５、データバッファ６、ならびにマイクロコンピュータ７から構成されている。
フラッシュメモリ２は、電気的にデータの書き換え、消去が可能な不揮発性半導体メモリである。このフラッシュメモリ２のシステム領域には、ＳＤ−ＣＳＤ、ＳＣＲ、ＭＭＣ−ＣＳＤ、ＥＸ−ＣＳＤなどのデータが格納されている。
ＳＤ−ＣＳＤは、ＳＤカードにおけるカード特性レジスタであり、ＳＤカードの規格で動作するＳＤモード（第１の動作モード）のメモリカード１に関する諸情報が格納されている。ＳＣＲは、ＳＤモード時におけるメモリカード１のセキュアモードにおけるセキュリティ情報やカードのステータスが格納されたレジスタである。
ＭＭＣ−ＣＳＤは、マルチメディアカードにおけるカード特性レジスタであり、該マルチメディアカードの規格で動作するマルチメディアカードモード（第２の動作モード）のメモリカード１に関する諸情報が格納されている。
ＥＸ−ＣＳＤは、マルチメディアカードモード時におけるメモリカード１のセキュアモードにおけるセキュリティ情報が格納されたレジスタである。
内部インタフェースロジック４は、フラッシュメモリ２、データバッファ６、ならびにマイクロコンピュータ７におけるインタフェースである。ホストインタフェース５は、ホストから入出力される書き込み／読み出し／消去といった動作を指示するコマンドを受け、これらの動作に必要なデータの入出力を行う。
データバッファ６は、ホスト、およびフラッシュメモリ２から入出力されるデータを一時的に格納するとともに、コントローラ３がフラッシュメモリ２から読み出したＳＤ−ＣＳＤ、ＳＣＲ、またはＭＭＣ−ＣＳＤ、ＥＸ−ＣＳＤの一方を格納する。マイクロコンピュータ７は、コントローラ３のすべての制御を司る。
また、メモリカード１の下方には、図示するように、右側から左側にかけて、ホストとの接続用のコネクタピンＰ１〜Ｐ７が設けられている。メモリカード１の下側のコーナ部に設けられた切り欠きに最も近いコネクタピンＰ１が１ピンであり、該切り欠きから最も離れたコネクタピンＰ７が７ピンとなる。
これらコネクタピンＰ１〜Ｐ７におけるピン構成を図２に示す。コネクタピンＰ１は、ＮＣ（Ｎｏ  Ｃｏｎｎｅｃｔ）であり、コネクタピンＰ３，Ｐ６は基準電位となるグランドが接続される。
コネクタピンＰ２には、コマンドが入出力され、コネクタピンＰ５には外部からのクロック信号が入力される。コネクタピンＰ７には、データが入出力される。
本実施の形態では、メモリカード１がマルチメディアカードにおけるコネクタピン配置を採用した場合について記載したが、該メモリカード１は、ＳＤカードにおけるコネクタピン配置であってもよい。
この場合、コネクタピン数は９ピンとなり、コネクタピンＰ１，Ｐ７との左右にそれぞれ新しいコネクタピンが配置されることになる。また、新たなコネクタピンはコネクタピンＰ７と同様にデータが入出力されるＩ／Ｏピンとなる。
また、ホストインタフェース５の内部構成について、図３を用いて説明する。
ホストインタフェース５は、初期コマンド検出部８、ＭＭＣコマンドデコード（第２のコマンドデコード部）９、ＳＤコマンドデコード（第１のコマンドデコード部）１０、ＭＭＣ−ＯＣＲ（第２のＯＣＲ）１１、ＳＤ−ＯＣＲ（第１のＯＣＲ）１２、ＳＤ／ＭＭＣレジスタ（初期化コマンド格納部）１３、Ｆ／Ｗ処理ＳＤ／ＭＭＣレジスタ（ファームウェアリセット処理格納部）１４、Ｈ／Ｗ−Ｆ／Ｗモード比較回路（比較部）１５、およびスイッチ部１６，１７から構成されている。
初期コマンド検出部８は、コネクタピンＰ２を介して入力された初期コマンドがＳＤ規格のコマンドかＭＭＣ規格のコマンドかを検出する。初期コマンド検出部８には、ＳＤ／ＭＭＣレジスタ１３が接続されている。
ＳＤ／ＭＭＣレジスタ１３は、初期コマンド検出部８によって検出された検出信号を格納する。ＳＤ／ＭＭＣレジスタ１３には、マイクロコンピュータ７、ならびにスイッチ部１６，１７がそれぞれ接続されている。
マイクロコンピュータ７は、ＳＤ／ＭＭＣレジスタ１３に格納されている検出結果を参照することによって、マルチメディアカードモード／ＳＤモードのいずれで動作すればよいかを認識する。
スイッチ部１６，１７は、ＳＤ／ＭＭＣレジスタ１３に格納されている検出結果に基づいて信号の出力先を切り替える。スイッチ部（第１の切り替え部）１６の入力部には、コネクタピンＰ２が接続されている。
このスイッチ部１６の一方の出力部には、ＭＭＣコマンドデコード９が接続されており、他方の出力部にはＳＤコマンドデコード１０が接続されている。
ＭＭＣコマンドデコード９は、メモリカード１がマルチメディアカードモードの動作の際に、ＭＭＣ規格のコマンドをデコードする。ＳＤコマンドデコード１０は、メモリカード１がＳＤモードで動作の際に、ＳＤ規格のコマンドをデコードする。
さらに、スイッチ部（第２の切り替え部）１７の一方の入力部には、ＭＭＣ−ＯＣＲ１１が接続されており、他方の入力部には、ＳＤ−ＯＣＲ１２が接続されている。そして、このスイッチ部１７の出力部には、コネクタピンＰ７が接続されている。ＭＭＣ−ＯＣＲ１１は、マルチメディアカードモードにおける動作可能な電圧範囲を定義し、ＳＤ−ＯＣＲ１２は、ＳＤモードにおける動作可能な電圧範囲を定義する。
よって、スイッチ部１６は、ＳＤ／ＭＭＣレジスタ１３に格納された検出結果が、マルチメディアカードモードの際には、コネクタピンＰ２を介して入力されるコマンドがＭＭＣコマンドデコード９に入力されるように接続先を切り替え、該検出結果が、ＳＤモードの際には、コネクタピンＰ２を介して入力されるコマンドがＳＤコマンドデコード１０に入力されるように接続先を切り替える。
また、スイッチ部１７は、ＳＤ／ＭＭＣレジスタ１３に格納された検出結果が、マルチメディアカードモードの際には、コネクタピンＰ７を介してＭＭＣ−ＯＣＲ１１のデータが出力されるように接続先を切り替え、該検出結果が、ＳＤモードの際には、コネクタピンＰ７を介してＳＤ−ＯＣＲ１２のデータが出力されるように接続先を切り替える。
Ｆ／Ｗ処理ＳＤ／ＭＭＣレジスタ１４は、マイクロコンピュータ７に接続されており、該マイクロコンピュータ７から出力されたファームウェアのリセット処理がマルチメディアカードモード、あるいはＳＤモードのいずれで行われたかを示す結果を格納する。
Ｈ／Ｗ−Ｆ／Ｗモード比較回路１５は、ＳＤ／ＭＭＣレジスタ１３、ならびにＦ／Ｗ処理ＳＤ／ＭＭＣレジスタ１４に格納されたデータが入力されるように接続されており、それらのデータを比較し、一致するか否かの判定する。
ＳＤ／ＭＭＣレジスタ１３とＦ／Ｗ処理ＳＤ／ＭＭＣレジスタ１とのデータが一致しない場合、Ｈ／Ｗ−Ｆ／Ｗモード比較回路１５は、不一致発生検出信号をマイクロコンピュータ７に出力する。
次に、本実施の形態１のメモリカード１におけるパワーオンリセット処理について、図４のフローチャートを用いて説明する。この図４においては、左側に示す点線内のフローチャートがハードウェアの初期化処理であり、右側に示す点線内のフローチャートがファームウェアの初期化処理をそれぞれ示している。
まず、メモリカード１がホストに設けられたメモリスロットなどに挿入されると、該メモリスロットのコネクタピンを介してメモリカード１に電源電圧ＶＣＣが供給される。
ホストから、メモリカード１の動作可能な電圧範囲のチェック、および該メモリカード１の内部処理を終了したかをチェックする初期化コマンドが出力される（ステップＳ１０１）。
そして、初期化コマンド検出部８は、入力された初期化コマンドが、マルチメディアカードモードの’ＣＭＤ１’、またはＳＤモードの’ＣＭＤ５５＋ＣＭＤ４１’のいずれであるかを検出し、その検出結果をＳＤ／ＭＭＣレジスタ１３に出力して該ＳＤ／ＭＭＣレジスタ１３にセットする（ステップＳ１０２）。
スイッチ部１６，１７は、ＳＤ／ＭＭＣレジスタ１３にセットされたデータに基づいて、接続先を切り替え（ステップＳ１０３）、その後、メモリカード１はコマンドの待ち受け状態となる。
ＳＤ／ＭＭＣレジスタ１３にセットされたデータがマルチメディアカードモードの場合、スイッチ部１６は、ホストから出力されるコマンドがＭＭＣコマンドデコード９に入力されるように接続先を切り替え、スイッチ部１７は、ＭＭＣ−ＯＣＲ１１のデータが出力されるように接続先を切り替える。
また、ＳＤ／ＭＭＣレジスタ１３にセットされたデータがＳＤモードの場合、ホストから出力されるコマンドがＳＤコマンドデコード１０に入力されるように接続先を切り替え、スイッチ部１７は、ＳＤ−ＯＣＲ１２のデータが出力されるように接続先を切り替える。
さらに、ステップＳ１０３の処理と並行して、マイクロコンピュータ７は、ＳＤ／ＭＭＣレジスタ１３にセットされた検出結果に基づいて、フラッシュメモリ２にアクセスし、システム領域に格納されているＳＤ−ＣＳＤ、またはＭＭＣ−ＣＳＤのいずれかを読み出し（ステップＳ１０４）、データバッファ６に格納する。
続いて、マイクロコンピュータ７は、ＳＣＲ、またはＥＸ−ＣＳＤのいずれかをフラッシュメモリ２から読み出し（ステップＳ１０５）、データバッファ６に格納する。
これらステップＳ１０４，Ｓ１０５の処理において、ＳＤ／ＭＭＣレジスタ１３にセットされたデータがマルチメディアカードモードの際、マイクロコンピュータ７は、ＭＭＣ−ＣＳＤ、およびＥＸ−ＣＳＤをそれぞれ読み出し、ＳＤ／ＭＭＣレジスタ１３にセットされたデータがＳＤモードの場合、マイクロコンピュータ７は、ＳＤ−ＣＳＤ、およびＳＣＲをそれぞれ読み出す。
その後、マイクロコンピュータ７は、代替領域を管理するフラッシュテーブルなどを検索し（ステップＳ１０６）、ファームウェアのリセット処理がマルチメディアカードモード、またはＳＤモードのいずれのモードによって実行されたかを示すデータをＦ／Ｗ処理ＳＤ／ＭＭＣレジスタ１４にセットする（ステップＳ１０７）。
そして、Ｈ／Ｗ−Ｆ／Ｗモード比較回路１５は、ＳＤ／ＭＭＣレジスタ１３、およびＦ／Ｗ処理ＳＤ／ＭＭＣレジスタ１４にセットされているデータを比較し（ステップＳ１０８）、一致していれば、リセットビジーを解除してコマンド待ち状態となる。
また、ステップＳ１０８の処理において、ＳＤ／ＭＭＣレジスタ１３のデータとＦ／Ｗ処理ＳＤ／ＭＭＣレジスタ１４のデータとが不一致の際には、不一致発生検出信号をマイクロコンピュータ８に出力し、再度ステップＳ１０１〜Ｓ１０８の処理（パワーオンリセット処理）を行う。
このパワーオンリセット処理は、ＳＤ／ＭＭＣレジスタ１３のデータとＦ／Ｗ処理ＳＤ／ＭＭＣレジスタ１４のデータとが一致するまで繰り返し行われる。
よって、メモリカード１が一方の動作モードにおいて初期化動作中に続けて他方の動作モードの初期化コマンドが入力されても、後からハードウェアとファームウェアの初期化処理が一致するまでパワーオンリセット処理を繰り返し行うことになる。
それにより、本実施の形態１によれば、ＳＤモードとマルチメディアカードモードとの両方で動作するメモリカード１における初期化動作不良を確実に防止することができ、該メモリカード１の信頼性を大幅に向上することができる。
（実施の形態２）
本実施の形態２において、メモリカード１ａは、図５に示すように、前記実施の形態１と同様に、フラッシュメモリ２、およびコントローラ３から構成されている。コントローラ３は、内部インタフェースロジック４、ホストインタフェース（ホストインタフェース部）５ａ、データバッファ６、ならびにマイクロコンピュータ７から構成されている。
また、ホストインタフェース５ａは、初期コマンド検出部８、ＭＭＣコマンドデコード９、ＳＤコマンドデコード１０、ＭＭＣ−ＯＣＲ１１、ＳＤ−ＯＣＲ１２、ＳＤ／ＭＭＣレジスタ１３からなる前記実施の形態１と同様の構成に、モード設定マスクレジスタ（モード設定マスク部）１８が新たに設けられている。
モード設定マスクレジスタ１８には、初期コマンド検出部８、およびＳＤ／ＭＭＣレジスタ１３がそれぞれ接続されている。このモード設定マスクレジスタ１８は、初期コマンド検出部８が検出した検出結果に基づいて、ＳＤ／ＭＭＣレジスタ１３にマスク信号を出力する。
次に、本実施の形態２のメモリカード１ａにおけるパワーオンリセット処理について、図６のタイミングチャート、および図７のフローチャートを用いて説明する。ここでは、初期コマンドとして、ＳＤモードの’ＣＭＤ５５＋ＣＭＤ４１’がメモリカード１ａに入力されるものとするが、初期コマンドとして、マルチメディアカードモードの’ＣＭＤ１’がメモリカード１ａに入力されても同様の動作が行われることになる。
図６においては、上方から下方にかけて、ホストから出力されるコマンド、ＳＤ／ＭＭＣレジスタ１３、マイクロコンピュータ７によるファームウェア処理、初期化コマンド検出部８、モード設定マスクレジスタ１８のモード切り替えマスク、ＭＭＣ−ＯＣＲ１１／ＳＤ−ＯＣＲ１２、ＭＭＣコマンドデコード９／ＳＤコマンドデコード１０のそれぞれの信号タイミングについて示している。
また、図７においては、左側に示す点線内のフローチャートがハードウェアの初期化処理であり、右側に示す点線内のフローチャートがファームウェアの初期化処理をそれぞれ示している。
まず、メモリカード１ａがホストに設けられたメモリスロットなどに挿入されてメモリカード１ａに電源電圧ＶＣＣが供給されると、該ホストから、メモリカード１ａの動作可能な電圧範囲のチェック、および該メモリカード１の内部処理を終了したかをチェックする初期化コマンド’ＣＭＤ５５＋ＣＭＤ４１’が出力される（ステップＳ２０１）。
そして、初期化コマンド検出部８が、ＳＤモードの初期化コマンド’ＣＭＤ５５＋ＣＭＤ４１’を検出すると、その検出結果をＳＤ／ＭＭＣレジスタ１３に出力して該ＳＤ／ＭＭＣレジスタ１３にセット（Ｈｉレベル）するとともに（ステップＳ２０２）、モード設定マスクレジスタ１８に出力する。
モード設定マスクレジスタ１８は、初期化コマンド検出部８の検出結果を受けてＨｉレベルのマスク信号をＳＤ／ＭＭＣレジスタ１３に出力する。このマスク信号が出力されている期間に入力される初期化コマンド’ＣＭＤ１’は、ポーリングコマンドとして処理される。
ＳＤ／ＭＭＣレジスタ１３は、モード設定マスクレジスタ１８のマスク信号がＨｉレベルの期間、リセット処理中にマルチメディアカードモードの初期コマンド’ＣＭＤ１’が入力されても、ＳＤモードからマルチメディアカードモードへの切り替えがマスクされる。
スイッチ部１６，１７は、ＳＤ／ＭＭＣレジスタ１３にセットされたデータに基づいて、接続先を切り替え（ステップＳ２０３）、ＳＤコマンドデコード１０、およびＳＤ−ＯＣＲ１２をそれぞれ選択する。その後、メモリカード１はコマンドの待ち受け状態となる。
さらに、ステップＳ２０３の処理と並行して、マイクロコンピュータ７は、ＳＤ／ＭＭＣレジスタ１３にセットされた検出結果に基づいて、フラッシュメモリ２にアクセスし、システム領域に格納されているＳＤ−ＣＳＤを読み出し（ステップＳ２０４）、データバッファ６に格納する。
続いて、マイクロコンピュータ７は、フラッシュメモリ２からＳＣＲを読み出し（ステップＳ２０５）、データバッファ６に格納する。
その後、マイクロコンピュータ７は、代替領域を管理するフラッシュテーブルなどを検索し（ステップＳ２０６）、リセットビジーを解除するとともにマスク解除信号をモード設定マスクレジスタ１８に出力する（ステップＳ２０７）。モード設定マスクレジスタ１８は、マスク解除信号を受けて、マスク信号を解除する。
このステップＳ２０６の処理において、リセットビジーが解除されると、モード設定マスクレジスタ１８から出力されるマスク信号がＬｏレベルとなり、マスクが解除されてコマンド待ち状態となる。
それにより、本実施の形態２では、マスク信号が出力されている間、モード切り替えがマスクされるので、メモリカード１ａにおける初期化動作不良を確実に防止することができ、該メモリカード１ａの信頼性を大幅に向上することができる。
（実施の形態３）
本実施の形態３において、メモリカード１ｂは、図８に示すように、前記実施の形態１と同様に、フラッシュメモリ２、およびコントローラ３から構成されている。コントローラ３は、内部インタフェースロジック４、ホストインタフェース（ホストインタフェース部）５ｂ、データバッファ６、ならびにマイクロコンピュータ７から構成されている。
また、ホストインタフェース５ｂは、初期コマンド検出部８、ＭＭＣコマンドデコード９、ＳＤコマンドデコード１０、ＭＭＣ−ＯＣＲ１１、ＳＤ−ＯＣＲ１２、ＳＤ／ＭＭＣレジスタ１３からなる前記実施の形態１，２と同様の構成に、初期化コマンドバッファ（初期化コマンド格納部）１９、およびリセット終了レジスタ（リセット終了設定部）２０が新たに設けられている。
初期化コマンドバッファ１９には、マイクロコンピュータ７、初期コマンド検出部８、およびＳＤ／ＭＭＣレジスタ１３がそれぞれ接続されている。この初期化コマンドバッファ１９は、初期コマンド検出部８が検出した初期化コマンドをバッファリングする。
リセット終了レジスタ２０は、マイクロコンピュータ７に接続されており、パワーオンリセット処理が終了した際に該マイクロコンピュータ７によってメモリカード１ｂのリセット処理の終了を示す信号がセットされる。
次に、本実施の形態３のメモリカード１ｂにおけるパワーオンリセット処理について、図９のタイミングチャート、ならびに図１０のフローチャートを用いて説明する。
ここでは、初期コマンドとして、ＳＤモードの’ＣＭＤ５５＋ＣＭＤ４１’がメモリカード１ｂ入力され、その初期化中にマルチメディアカードモードの初期化コマンド’ＣＭＤ１’が入力された場合ついて説明するが、マルチメディアカードモードの初期化コマンド’ＣＭＤ１’が入力され、その初期化中にＳＤモードの’ＣＭＤ５５＋ＣＭＤ４１’がメモリカード１ｂ入力される場合も同様の動作を行う。
図９においては、上方から下方にかけて、ホストから出力されるコマンド、ＳＤ／ＭＭＣレジスタ１３、マイクロコンピュータ７のファームウェア処理、初期化コマンド検出部８、初期化コマンドバッファ１９、ＭＭＣ−ＯＣＲ１１／ＳＤ−ＯＣＲ１２、ＭＭＣコマンドデコード９／ＳＤコマンドデコード１０のそれぞれの信号タイミングについて示している。
また、図１０においては、左側に示す点線内のフローチャートがハードウェアの初期化処理であり、右側に示す点線内のフローチャートがファームウェアの初期化処理をそれぞれ示している。
まず、メモリカード１ｂがホストに設けられたメモリスロットなどに挿入されてメモリカード１ｂ電源電圧ＶＣＣが供給されると、該ホストから、メモリカード１ｂの動作可能な電圧範囲のチェック、および該メモリカード１の内部処理を終了したかをチェックする初期化コマンド’ＣＭＤ５５＋ＣＭＤ４１’が出力される（ステップＳ３０１）。
そして、初期化コマンド検出部８が、ＳＤモードの初期化コマンド’ＣＭＤ５５＋ＣＭＤ４１’を検出すると、その検出結果をＳＤ／ＭＭＣレジスタ１３に出力して該ＳＤ／ＭＭＣレジスタ１３にセット（Ｈｉレベル）する（ステップＳ３０２）。
スイッチ部１６，１７は、ＳＤ／ＭＭＣレジスタ１３にセットされたデータに基づいて、接続先を切り替え（ステップＳ３０３）、ＳＤコマンドデコード１０、およびＳＤ−ＯＣＲ１２をそれぞれ選択する。その後、メモリカード１はコマンドの待ち受け状態となる。
さらに、ステップＳ３０３の処理と並行して、マイクロコンピュータ７は、ＳＤ／ＭＭＣレジスタ１３にセットされた検出結果に基づいて、フラッシュメモリ２にアクセスし、システム領域に格納されているＳＤ−ＣＳＤを読み出し（ステップＳ３０４）、データバッファ６に格納する。
続いて、マイクロコンピュータ７は、フラッシュメモリ２からＳＣＲを読み出し（ステップＳ３０５）、データバッファ６に格納する。その後、マイクロコンピュータ７は、代替領域を管理するフラッシュテーブルなどを検索し（ステップＳ３０６）、リセットビジーを解除するとともに（ステップＳ３０７）、マイクロコンピュータ７により、パワーオンリセット処理が終了したことを示す信号がリセット終了レジスタ２０にセットされる。
このステップＳ２０８の処理におけるリセットビジー解除前に、たとえば、マルチメディアカードモードの初期化コマンド’ＣＭＤ１’がホストから入力されると（ステップＳ３０８）、初期化コマンド検出部８は、該’ＣＭＤ１’が入力されたことを検出し、その検出結果を出力する。
初期化コマンドバッファ１９は、該初期化コマンド検出部８の検出結果をバッファリングする（ステップＳ３０９）。そして、リセットビジーを解除後、リセット終了レジスタ２０に信号がセットされていると、初期化コマンドバッファ１９は、マイクロコンピュータ７に’ＣＭＤ１’が入力されたことを示す信号（Ｈｉレベル）を出力し、ステップＳ３０４〜Ｓ３０６の処理を実行し、マルチメディアカードモードによるファームウェアの初期化を実行する。
それにより、本実施の形態３においては、一方のモードによるメモリカード１ｂの初期化中に、他のモードの初期化コマンドが入力されても、該メモリカード１ｂに入力されたすべてのモードの初期化を順次実行するのでメモリカード１ｂの初期化動作不良を確実に防止することができ、該メモリカード１ｂの信頼性を大幅に向上することができる。
以上、本発明者によってなされた発明を発明の実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】  以上のように、本発明にかかるメモリカードおよびその初期化設定方法は、ＳＤカードの規格とマルチメディアカードの規格との両規格で動作するメモリカードにおける誤動作回避化技術に適している。
【図１】
2004084127.tif 000003
【図２】
2004084127.tif 000004
【図３】
2004084127.tif 000005
【図４】
2004084127.tif 000006
【図５】
2004084127.tif 000007
【図６】
2004084127.tif 000008
【図７】
2004084127.tif 000009
【図８】
2004084127.tif 000010
【図９】
2004084127.tif 000011
【図１０】
2004084127.tif 000012
【図１１】
2004084127.tif 000013
【図１２】
2004084127.tif 000014
【図１３】
2004084127.tif 000015
【図１４】
2004084127.tif 000016
【国際調査報告】
2004084127.tif 000017
2004084127.tif 000018