(57)【要約】【課題】スタンバイ状態に達する前に外部へ所定の情報を通知できるようにする。【解決手段】基板２は、複数の端子を有する。コントローラ４は、基板２上に設けられ、複数の端子３０を有し、外部とのインタフェース処理を行うとともに不揮発性半導体メモリを制御することが可能である。この構成において、コントローラ４に設けられる個々の端子がそれぞれ基板２上の個々の端子に電気的に接続されているか否かに応じて、外部へ通知すべき情報が決定される。【選択図】      図１２
2006107049.tif 000002
【特許請求の範囲】
【請求項１】
内部クロックに従って動作する第１の回路と、
外部へ通知すべき情報を生成する第２の回路と、
外部から所定のコマンドを受けた場合、前記第１の回路を用いずに、前記第２の回路によって生成される前記情報を外部へ通知するインタフェース部と、
基板上に設けられた電源端子または接地端子に接続可能な複数の端子と
を具備し、前記複数の端子がそれぞれ前記基板上の電源端子と接地端子のいずれに電気的に接続されているか否かに応じて、前記情報が決定されることを特徴とする半導体装置。
【請求項２】
内部クロックに従って動作する第１の回路と、
外部へ通知すべき情報を生成する第２の回路と、
外部から所定のコマンドを受けた場合、前記第１の回路を用いずに、前記第２の回路によって生成される前記情報を外部へ通知するインタフェース部と、
基板上に設けられた複数の第１の端子に接続可能な複数の第２の端子と
を具備し、前記複数の第２の端子がそれぞれ前記基板上の個々の第１の端子に電気的に接続されているか否かに応じて、前記情報が決定されることを特徴とする半導体装置。
【請求項３】
前記複数の第１の端子は接地端子であり、
前記複数の第２の端子と電源との間にそれぞれ接続され、当該端子から得られる信号レベルをプルアップするプルアップ動作の有効／無効の切替が可能なプルアップ抵抗と、
前記信号レベルの高／低に応じて前記プルアップ抵抗によるプルアップ動作の有効／無効を切替制御する制御回路と
を更に具備することを特徴とする請求項２に記載の半導体装置。
【請求項４】
前記複数の第１の端子は電源端子であり、
前記複数の第２の端子とグランドとの間にそれぞれ接続され、当該端子から得られる信号レベルをプルダウンするプルダウン動作の有効／無効の切替が可能なプルダウン抵抗と、
前記信号レベルの低／高に応じて前記プルダウン抵抗によるプルダウン動作の有効／無効を切替制御する制御回路と
を更に具備することを特徴とする請求項２に記載の半導体装置。
【請求項５】
電源端子及び接地端子を有する基板と、
前記基板上に設けられる不揮発性半導体メモリと、
前記基板上に設けられ、複数の端子を有し、外部とのインタフェース処理を行うとともに前記不揮発性半導体メモリを制御することが可能なコントローラと
を具備し、前記コントローラに設けられる個々の端子がそれぞれ前記基板上の電源端子と接地端子とのいずれに電気的に接続されているかに応じて、外部へ通知すべき情報が決定されることを特徴とするメモリカード。
【請求項６】
複数の端子を有する基板と、
前記基板上に設けられる不揮発性半導体メモリと、
前記基板上に設けられ、複数の端子を有し、外部とのインタフェース処理を行うとともに前記不揮発性半導体メモリを制御することが可能なコントローラと
を具備し、前記コントローラに設けられる個々の端子がそれぞれ前記基板上の個々の端子に電気的に接続されているか否かに応じて、外部へ通知すべき情報が決定されることを特徴とするメモリカード。
【請求項７】
前記情報は、前記不揮発性半導体メモリの記憶容量を示す情報を含むことを特徴とする請求項５又は６のいずれか１項に記載のメモリカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部との情報の送受を行うことが可能なコントローラを備えた半導体装置に関し、特に電源投入時点から一定期間内に外部から受けるコマンドに応じることが可能な半導体装置およびその半導体装置を備えたメモリカードに関する。
【背景技術】
【０００２】
近年、種々なメモリカードが登場してきている。ある種類のメモリカードにおいては、ホスト機器から電源供給を受けた直後に所定のコマンドを受けた場合、メモリの容量などを示す情報をホスト機器側へ即座に通知しなければならない。この情報の通知は、当該メモリカードの仕様に規定された期間内に行う必要がある。
【０００３】
ホスト機器から送られてくるコマンドの処理は、一般に、メモリを制御するコントローラに搭載されるＣＰＵ等を通じて行われる。電源供給直後においては、ＣＰＵの動作に必要なクロックの発振及びＰＬＬの設定に関するセットアップ処理が行われ、ＣＰＵはそのセットアップ処理の完了後に通常の動作が可能となる。このため、メモリカードがスタンバイ状態（ホスト機器からのアクセスコマンドに応じることが可能な状態）となるまでにかなりの時間を費やしてしまい、メモリカードの仕様に規定された期間内にメモリの容量などを示す情報をホスト機器へ通知することができない場合があり得る。
【０００４】
なお、特許文献１には、電源電圧が所定動作電圧に達するまでの不安定な動作を改善する技術が開示されている。
【特許文献１】特開平９−０６２８０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記文献の技術では、電源電圧が一定値以下となっている期間において内部回路をリセットすることによって当該内部回路の正常動作を保証しているが、電源が投入された後スタンバイ状態に達する前にホスト機器から送られてくるコマンドを処理することができず、そのコマンドが要求しているメモリの容量などを示す情報をホスト機器へ通知することができない。
【０００６】
本発明は上記課題を解決するためになされたものであり、スタンバイ状態に達する前に外部へ所定の情報を通知することが可能な半導体装置及びメモリカードを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る半導体装置は、内部クロックに従って動作する第１の回路と、外部へ通知すべき情報を生成する第２の回路と、外部から所定のコマンドを受けた場合、前記第１の回路を用いずに、前記第２の回路によって生成される前記情報を外部へ通知するインタフェース部と、基板上に設けられた電源端子または接地端子に接続可能な複数の端子とを具備し、前記複数の端子がそれぞれ前記基板上の電源端子と接地端子のいずれに電気的に接続されているか否かに応じて、前記情報が決定されることを特徴とする。
【０００８】
また、本発明に係る半導体装置は、内部クロックに従って動作する第１の回路と、外部へ通知すべき情報を生成する第２の回路と、外部から所定のコマンドを受けた場合、前記第１の回路を用いずに、前記第２の回路によって生成される前記情報を外部へ通知するインタフェース部と、基板上に設けられた複数の第１の端子に接続可能な複数の第２の端子とを具備し、前記複数の第２の端子がそれぞれ前記基板上の個々の第１の端子に電気的に接続されているか否かに応じて、前記情報が決定されることを特徴とする。
【０００９】
また、本発明に係るメモリカードは、電源端子及び接地端子を有する基板と、前記基板上に設けられる不揮発性半導体メモリと、前記基板上に設けられ、複数の端子を有し、外部とのインタフェース処理を行うとともに前記不揮発性半導体メモリを制御することが可能なコントローラとを具備し、前記コントローラに設けられる個々の端子がそれぞれ前記基板上の電源端子と接地端子とのいずれに電気的に接続されているかに応じて、外部へ通知すべき情報が決定されることを特徴とする。
【００１０】
また、本発明に係るメモリカードは、複数の端子を有する基板と、前記基板上に設けられる不揮発性半導体メモリと、前記基板上に設けられ、複数の端子を有し、外部とのインタフェース処理を行うとともに前記不揮発性半導体メモリを制御することが可能なコントローラとを具備し、前記コントローラに設けられる個々の端子がそれぞれ前記基板上の個々の端子に電気的に接続されているか否かに応じて、外部へ通知すべき情報が決定されることを特徴とする。
【発明の効果】
【００１１】
スタンバイ状態に達する前に外部へ所定の情報を通知することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して、本発明の一実施形態について説明する。  
図１は、本発明の一実施形態に係るメモリカードに搭載されるデバイス類の概略構成を示す斜視図である。  
本実施形態に係るメモリカード１は、図示のように、ＰＣＢ（Printed Circuit Board）基板２上にＮＡＮＤ型フラッシュメモリ３及びコントローラ４が配置されたものとなっている。上記コントローラ４には、ＣＰＵ（Central Processing Unit）８やＲＯＭ（Read-Only Memory）９などの機能ブロックが搭載されている。各デバイスの詳細については後で述べる。なお、ＮＡＮＤ型フラッシュメモリ３は、１つのメモリセルに１ビットの情報を記憶する２値メモリであっても良いし、１つのメモリセルに１ビットより多い情報（例えば２ビット）を記憶する多値メモリであっても良い。また、図１では、ＰＣＢ（Printed Circuit Board）基板２上にＮＡＮＤ型フラッシュメモリ３及びコントローラ４が配置された場合を示したが、ＮＡＮＤ型フラッシュメモリ３及びコントローラ４は、同一のＬＳＩ（Large-scale Integration）基板上に配置されても良い。
【００１３】
以下の説明において使用する用語「論理ブロックアドレス」，「物理ブロックアドレス」は、それぞれ、ブロック自体の論理アドレス，物理アドレスを意味するものである。また、「論理アドレス」，「物理アドレス」は、主に、ブロック自体の論理アドレス，物理アドレスを意味するものではあるが、ブロック単位よりも細かい分解能の単位に相当するアドレスである場合もあり得ることを示すものである。
【００１４】
図２は、ホストと上記メモリカードとを含む構成を示すブロック図である。なお、図１と共通する要素には同一の符号を付している。
【００１５】
ホスト機器（以下、ホストと称す）２０は、接続されるメモリカードに対してアクセスを行うためのハードウェア及びソフトウェア（システム）を備えている。このホスト２０は、メモリカード内部の物理状態（何処の物理ブロックアドレスに、何番目の論理セクタアドレスデータが含まれているか、或いは、何処のブロックが消去状態であるか）を管理し、メモリカード内のフラッシュメモリを直接制御するものとして構築されている。
【００１６】
また、ホスト２０は、消去時の消去ブロックサイズが16kByteに定められているＮＡＮＤ型フラッシュメモリを使用することを前提として、16kByte単位で論理・物理アドレスの割当を行い、多くの場合、論理アドレス16kByte分に関してシーケンシャルにライトアクセスもしくはリードアクセスを行う（該当するコマンドを発行する）。
【００１７】
メモリカード１は、ホスト２０に接続されたときに電源供給を受けて動作し、ホスト２０からのアクセスに応じた処理を行う。このメモリカード１は、前述したようにＮＡＮＤ型フラッシュメモリ３及びコントローラ４を有する。
【００１８】
ＮＡＮＤ型フラッシュメモリ３は、消去時の消去ブロックサイズ（消去単位のブロックサイズ）が256kByteに定められている不揮発性メモリであり、例えば16kByte単位でデータの書込・読出を行うようになっている。このＮＡＮＤ型フラッシュメモリ３は、例えば0.09μｍプロセス技術を用いて製作される。即ち、ＮＡＮＤ型フラッシュメモリ３のデザインルールは、0.1μｍ未満となっている。
【００１９】
コントローラ４は、前述したＣＰＵ８及びＲＯＭ９のほかに、メモリインタフェース部５、ホストインタフェース部６、バッファ７、及びＲＡＭ（Random Access Memory）１０を搭載している。
【００２０】
メモリインタフェース部５は、コントローラ４とＮＡＮＤ型フラッシュメモリ３との間のインタフェース処理を行うものである。ホストインタフェース部６は、コントローラ４とホスト２０との間のインタフェース処理を行うものである。
【００２１】
バッファ７は、ホスト２０から送られてくるデータをＮＡＮＤ型フラッシュメモリ３へ書き込む際に、一定量のデータ（例えば１ページ分）を一時的に記憶したり、ＮＡＮＤ型フラッシュメモリ３から読み出されるデータをホスト２０へ送り出す際に、一定量のデータを一時的に記憶したりするものである。
【００２２】
ＣＰＵ８は、メモリカード１全体の動作を司るものである。このＣＰＵ８は、例えば、メモリカード１が電源供給を受けた際に、ＲＯＭ９の中に格納されているファームウェア（制御プログラム）をＲＡＭ１０上にロードして所定の処理を実行することにより、各種のテーブルをＲＡＭ１０上で作成したり、ホスト２０から書込コマンド，読出コマンド，消去コマンドを受けてＮＡＮＤ型フラッシュメモリ３上の該当領域に対するアクセスを実行したり、バッファ７を通じたデータ転送処理を制御したりする。
【００２３】
ＲＯＭ９は、ＣＰＵ８により使用される制御プログラムなどを格納するメモリである。ＲＡＭ１０は、ＣＰＵ８の作業エリアとして使用され、制御プログラムや各種のテーブルを記憶する揮発性メモリである。
【００２４】
図３は、ホスト２０が想定しているフラッシュメモリと、実際に使用するフラッシュメモリ（即ち、メモリカード１内のＮＡＮＤ型フラッシュメモリ３）との、データ配置の違いを示している。  
ホスト２０が想定しているフラッシュメモリでは、各ページは528Byte（512Byte分のデータ記憶部＋16Byte分の冗長部）を有しており、３２ページ分が１つの消去単位（即ち、16kByte＋0.5kByte（ここで、kは1024））となる。以下では、このようなフラッシュメモリを搭載したカードを、「小ブロックカード」と称す場合がある。
【００２５】
一方、実際に使用するフラッシュメモリ３では、各ページは2112Byte（例えば512Byte分のデータ記憶部×４＋10Byte分の冗長部×４＋24Byte分の管理データ記憶部）を有しており、１２８ページ分が１つの消去単位（即ち、256kByte＋8kByte）となる。以下では、このようなフラッシュメモリ３を搭載したカードを、「大ブロックカード」と称す場合がある。なお、以下の説明においては、便宜上、小ブロックカードの消去単位を16kByteと呼び、大ブロックカードの消去単位を256kByteと呼ぶ。
【００２６】
また、ホスト２０が想定しているフラッシュメモリと、実際に使用するフラッシュメモリ３とは、それぞれ、フラッシュメモリへのデータ入出力を行うためのページバッファを備えている。ホスト２０が想定しているフラッシュメモリに備えられるページバッファの記憶容量は、528Byte（512Byte＋16Byte）である。一方、実際に使用するフラッシュメモリ３に備えられるページバッファの記憶容量は、2112Byte（2048Byte＋64Byte）である。データ書込などの際には、各ページバッファは、フラッシュメモリに対するデータ入出力処理を、自身の記憶容量に相当する１ページ分の単位で実行する。
【００２７】
図３の例では、実際に使用するフラッシュメモリ３の消去ブロックサイズが、ホスト２０が想定しているフラッシュメモリの消去ブロックサイズの１６倍である場合を示したが、本発明はこれに限定されるものではなく、略整数倍であれば別の倍率となるように構成することも可能である。
【００２８】
大ブロックカードを実用上有効な製品とするためには、図３に示したフラッシュメモリ３の記憶容量は１Ｇビット以上であることが望ましい。フラッシュメモリ３の記憶容量が例えば１Ｇビットである場合、256kByteブロック（消去単位）の数は、512個となる。
【００２９】
また、図３においては消去単位が256kByteブロックである場合を例示しているが、消去単位が例えば128kByteブロックとなるように構築することも実用上有効である。この場合、128kByteブロックの数は、1024個となる。
【００３０】
また、図３の例では、実際に使用するフラッシュメモリ３の消去ブロックサイズが、ホスト２０が想定しているフラッシュメモリの消去ブロックサイズよりも大きい場合を示したが、本発明はこれに限定されるものではなく、実際に使用するフラッシュメモリ３の消去ブロックサイズが、ホスト２０が想定しているフラッシュメモリの消去ブロックサイズよりも小さいものとして構成することも可能である。
【００３１】
図４は、ホスト２０側システム及びメモリカード１（大ブロックカード）の各コミュニケーション階層を示す図である。
【００３２】
ホスト２０側のシステムは、アプリケーションソフト２１、ファイルシステム２２、ドライバソフト２３、及び小ブロックカード物理アクセス層２４を有する。一方、メモリカード１（大ブロックカード）は、小ブロックカード物理アクセス層１１、小ブロックカード物理・小ブロックカード論理変換層１２、小ブロックカード論理・大ブロックカード物理変換層１３、及び大ブロックカード物理アクセス層１４を有する。
【００３３】
例えば、ホスト２０側のアプリケーションソフト２１がファイルの書込をファイルシステム２２に要求すると、ファイルシステム２２は、小ブロックカードの論理ブロックアドレスに基づきシーケンシャルなセクタ書込をドライバソフト２３に指示する。これを受けて、ドライバソフト２３は、小ブロックカードの論理ブロックアドレスに基づく16kByteブロック毎のシーケンシャルな書込を実現するにあたり、論理・物理ブロック変換を行い、小ブロックカード物理アクセス層２４を通じて、小ブロックカードの物理ブロックアドレスによるランダムな書込コマンドを大ブロックカードに対して発行し、データ転送を行う。
【００３４】
なお、ライトアクセスにおいては、小ブロックカードの場合も大ブロックカードの場合も、プロトコル上、（１）コマンド、（２）ページアドレス（ロウアドレス）、（３）カラムアドレス、（４）データ、（５）プログラム確認コマンド、といった順序で情報の送受が行われることが前提となっている。
【００３５】
大ブロックカード側における小ブロックカード物理アクセス層１１は、ホスト２０から小ブロックカードの物理ブロックアドレスによる書込コマンドを受けると、物理ブロックアドレスやデータのほか、これに付随する付随データに含まれている論理ブロックアドレスを取得する。
【００３６】
小ブロックカード物理・小ブロックカード論理変換層１２は、データ読出などの際に小ブロックカードの物理ブロックアドレス（16kByteブロック分に対応）から小ブロックカードの論理ブロックアドレス（16kByteブロック分に対応）への変換処理を行うための第１のテーブルを有している。変換層１２は、小ブロックカード物理アクセス層１１が書込コマンドを受けて小ブロックカードの論理ブロックアドレスを取得したときにはこれを上記第１のテーブルに反映させる。物理ブロックアドレスに関しても、上記第１のテーブルに反映させる。
【００３７】
小ブロックカード論理・大ブロックカード物理変換層１３は、データ読出などの際に小ブロックカードの論理ブロックアドレス（シーケンシャルな16kByteブロック×１６個分に対応）から大ブロックカードの物理ブロックアドレス（256kByte物理ブロック分に対応）への変換処理を行うための第２のテーブルを有している。変換層１２は、小ブロックカード物理アクセス層１１が書込コマンドを受けて小ブロックカードの論理ブロックアドレスを取得したときにはこれを上記第２のテーブルに反映させる。
【００３８】
大ブロックカード物理アクセス層１４は、小ブロックカード物理アクセス層１１が書込コマンドを受けて取得した小ブロックカードの論理ブロックアドレスに基づき、フラッシュメモリ３内部のデータ配置を決定し、256kByte物理ブロック内において2kByte（１ページ）単位でシーケンシャルに16kByte分のデータを書き込む。また、大ブロックカード物理アクセス層１４は、取得した小ブロックカードの論理ブロックアドレスや物理ブロックアドレスをフラッシュメモリ３内部における管理データ領域内の所定の領域に格納する。
【００３９】
このようにホスト２０は小ブロックカードの物理ブロックアドレスに基づくコマンドを発行するので、大ブロックカード側では、小ブロックカードの物理ブロックアドレスに対応するデータがどの256kByte物理ブロックの中に存在するのかが分かるように管理する。具体的には、16kByteブロック毎に小ブロックカードの論理・物理ブロックアドレスの対応関係を管理すると共に、小ブロックカードの連続した256kByteブロック分の論理ブロックアドレスに対応するデータが大ブロックカード内のどの256kByte物理ブロックに格納されているかが分かるように管理する。
【００４０】
図５は、ホスト２０側から送られてくるコマンドのフォーマットを示す図である。  
ホスト２０側から送られてくるコマンドのパケットは、図５（ａ）に示されるように、コマンド種別情報（ここでは「書込」），アドレス（物理ブロックアドレス），データ（コンテンツなどの実データ及び付随データ（512Byte＋16Byte））といった各種情報を含んでいる。  
このようなフォーマットのパケットにおいては、図５（ｂ）に示されるように、付随データ16Byte中の所定の位置に小ブロックカードの「論理ブロックアドレス」（アクセス対象となる16kByteブロックに対応する論理アドレス）が配置されている。大ブロックカードは、コマンド種別情報，物理ブロックアドレス，データを取得するほか、特に上記「論理ブロックアドレス」を取得する。なお、この「論理ブロックアドレス」は、読出コマンドの場合には付加されない。
【００４１】
図６は、ホスト２０側が想定しているブロック書込操作と、メモリカード１（大ブロックカード）側が実際に行う書込処理とを、対比して示す図である。  
ホスト２０側（同図の左側）では、小ブロックカードの論理アドレスに基づく16kByteブロック単位のシーケンシャルな書込操作の発生時に、小ブロックカードの物理ブロックアドレスによる16kByteブロック単位のランダムな書込操作を行う。
【００４２】
一方、大ブロックカード側（同図の右側）では、ホスト２０側から書込コマンドを受けた場合、小ブロックカードの論理ブロックアドレスに基づく16kByteブロック単位のデータをフラッシュメモリ３内にシーケンシャルに書き込む。
【００４３】
前述のように、ホスト２０は、小ブロックの物理アドレスによる16Byte単位のランダムな書込操作を行う。このようなランダムな書込操作では、一般に、大ブロック（256kByte）の一部のみを書き換えるための処理が多発する。ＮＡＮＤ型フラッシュメモリではブロック単位でしか消去を行えないため、ブロックの一部のみを書き換える場合は、書き換える新データを消去済みの新ブロックに書き込み、新データに書き換えられる旧データを含む旧ブロックから、書き換えられない残りのデータを新ブロックにコピーする必要がある。このように、ブロックの一部のみを書き換える処理は、書き換えられないデータのコピー動作（以下、「巻き添えデータコピー」と称す）を伴うため、ブロックの一部のみを書き換える処理が多発すると、オーバーヘッドが非常に増大することになる。そこで、本実施形態では、ホスト２０側から得られる論理アドレスの順序に従って、大ブロックカード側で物理アドレスを再度割り当てることにより、ブロックの一部のみの書込の発生を低減し、オーバーヘッドの増大を抑制している。
【００４４】
図７は、本実施形態のメモリカード１に対してホスト２０が書込を行う際の、当該メモリカード１のＩ／ＯピンとＲ／Ｂピンとの信号の例を示すタイミングチャートである。
【００４５】
ホスト２０は、メモリカードは16kByteの消去ブロックサイズを有する不揮発性メモリであると仮定してメモリカードを制御している。例えば、メモリカードに対する書込の際には、ホスト２０は、シリアルデータインプットコマンド８０Ｈ（Ｈは１６進を示す）をＩ／Ｏピン１〜８へ入力する。次に、ホスト２０は、カラムアドレスＣ／ＡおよびページアドレスＰ／Ａを、Ｉ／Ｏピン１〜８へ入力する。なお、ここでカラムアドレスＣ／ＡおよびページアドレスＰ／Ａは、ホスト２０がメモリカード１に対して想定している仮想物理アドレス空間におけるカラムアドレスおよびページアドレスである。
【００４６】
更に、ホスト２０は、書込データを、Ｉ／Ｏピン１〜８の個々に対し、５２８回入力する。具体的には、ホスト２０はライトイネーブルピンへの入力信号を５２８回クロッキングしながら、それぞれのＩ／Ｏピンに対し５２８ビット（すべてのＩ／Ｏピン合計で５２８バイト）のデータを順次シフトインする。データのシフトインが完了すると、ホスト２０は、プログラムコマンド１０ＨをＩ／Ｏピン１〜８へ入力する。これに応答してメモリカードは、そのＲ／Ｂピンにロウレベルの信号を出力し、メモリカードがビジー状態であることを示す。その後、所定期間後にＲ／Ｂピンにハイレベルの信号を出力することでメモリカードがレディ状態になったことを示す。
【００４７】
しかしながら、図７におけるＲ／Ｂピンの状態は、あくまでもホスト２０に対してメモリカード１がどのような状態かを示すものである。つまり、図７において、プログラムコマンド１０Ｈの入力に応答して、Ｒ／Ｂピンがビジー状態（つまりロウレベルを出力）を示したとしても、内部でＮＡＮＤ型フラッシュメモリ３に対する書込動作（つまり、ページバッファからメモリセルアレイへのデータ転送）が実際に行われているとは限らない。また、Ｒ／Ｂピンがレディ状態に復帰したとしても、内部でＮＡＮＤ型フラッシュメモリ３に対する書込動作が実際に完了しているとは限らない。
【００４８】
図８は、本実施形態のメモリカード１内のＮＡＮＤ型フラッシュメモリ３に対して、当該メモリカード１内のコントローラ４が書込を行う際の、ＮＡＮＤ型フラッシュメモリ３のＩ／ＯピンとＲ／Ｂピンとの信号の例を示すタイミングチャートである。
【００４９】
コントローラ４は、ＮＡＮＤ型フラッシュメモリ３は256kByteの消去ブロックサイズを有する不揮発性メモリであると認識している。例えば、ＮＡＮＤ型フラッシュメモリ３に対する書込の際には、コントローラ４は、シリアルデータインプットコマンド８０Ｈ（Ｈは１６進を示す）をＩ／Ｏピン１〜８へ入力する。次に、コントローラ４は、カラムアドレスＣ／ＡおよびページアドレスＰ／Ａを、Ｉ／Ｏピン１〜８へ入力する。なお、ここでカラムアドレスＣ／ＡおよびページアドレスＰ／Ａは、コントローラ４がＮＡＮＤ型フラッシュメモリ３に対して想定している実物理アドレス空間におけるカラムアドレスおよびページアドレスである。したがって、図７におけるカラムアドレスＣ／ＡおよびページアドレスＰ／Ａとは必ずしも一致していない。
【００５０】
更に、コントローラ４は、書込データを、Ｉ／Ｏピン１〜８の個々に対し、２１１２回入力する。具体的には、コントローラ４は、ライトイネーブルピンへの入力信号を２１１２回クロッキングしながら、それぞれのＩ／Ｏピンに対し２１１２ビット（すべてのＩ／Ｏピン合計で２１１２バイト）のデータを順次シフトインする。データのシフトインが完了すると、コントローラ４は、プログラムコマンド１０ＨをＩ／Ｏピン１〜８へ入力する。これに応答してメモリカードは、そのＲ／Ｂピンにロウレベルの信号を出力し、メモリカードがビジー状態であることを示す。その後、所定期間後にＲ／Ｂピンにハイレベルの信号を出力することでメモリカードがレディ状態になったことを示す。図８におけるＲ／Ｂピンの状態は、コントローラ４に対してＮＡＮＤ型フラッシュメモリ３が実際にどのような状態かを示すものである。
【００５１】
なお、上記図７および図８においては、カラムアドレスＣ／ＡおよびページアドレスＰ／Ａの入力をそれぞれ１つのサイクルで示しているが、メモリカード１の容量またはＮＡＮＤ型フラッシュメモリ３の容量に応じて、適宜２サイクル以上になる場合もある。
【００５２】
上記図７および図８からわかるように、メモリカードがビジー状態でいられる時間には制約があるため、その間にデータ書込を行い、所定期間後には当該メモリカードがレディ状態になったことをホスト側に示さなければならない。
【００５３】
図９は、本実施形態のメモリカード１に対して電源投入直後にホスト２０が発行するコマンドとＲ／Ｂピンの信号との関係を示すタイミングチャートである。
【００５４】
例えば、メモリカード１がホスト２０にスロットに挿入されると、ホスト２０からメモリカード１への電源投入（電源供給）が行われる。メモリカード１においては、電源投入後（具体的には電源が安定する電圧レベル（例えば、3.0V）に達してから）、期間「tPWON(min)」（例えば、少なくとも2ms）の経過時もしくはその後に、初期化のためのリセットコマンド「ＦＦ」（もしくは、メモリカードの識別情報などの読出を要求するＩＤリードコマンド「９０Ｈ，９１Ｈ，又は９ＡＨ」）がホスト２０から送られてくることが想定されている。この時点では、ＣＰＵ８に必要なクロックはまた形成されておらず、ＣＰＵ８は上記リセットコマンドもしくはＩＤリードコマンドを受け付けることができない。
【００５５】
本実施形態のメモリカード１は、上記リセットコマンドもしくはＩＤリードコマンドを受けた場合には、当該コマンドの要求に応じ、所定の情報（例えば、フラッシュメモリの記憶容量を示す情報）を、ＣＰＵ８等を経由せずに、ホスト２０へ通知することができるものとなっている。その詳細については後で述べる。
【００５６】
メモリカード１は、上記コマンドを受けた後、初期化処理等が完了するまでの期間「tRST(Ready)」が経過するまでの間は、ホスト２０からのアクセスコマンド（フラッシュメモリ３に対するデータのライトやリードなどのコマンド）は受け付けない。この期間においては、コントローラ４は、Ｒ／Ｂピンにロウレベルの信号を出力することでメモリカード１がビジー状態であることを示し、ＣＰＵ８等の動作に必要なクロックの発振やＰＬＬの設定に関するセットアップ処理を実行する。
【００５７】
期間「tRST(Ready)」が経過すると、メモリカード１はホスト２０からのアクセスコマンドの受け付けが可能なスタンバイ状態となる。このとき、コントローラ４は、Ｒ／Ｂピンにハイレベルの信号を出力することでメモリカード１がレディ状態であることを示し、ホスト２０から送られてくるアクセスコマンドに応じた処理を行う。
【００５８】
図１０は、コントローラ４の構成の一例を示す図である。なお、図１や図２と共通する要素には同一の符号を付している。  
コントローラ４には、前述の図１に示されるＰＣＢ基板２上の端子群（又はパッド）とのボンディング（又はバンプ）による配線接続を可能とする端子群３０（電源端子、接地端子など）が設けられている。また、コントローラ４には、前述のホストインタフェース部６のほか、ＩＤリード回路（第１の回路）３１、メイン回路（第２の回路）３２、発振器（ＯＳＣ）３５、ＰＬＬ（Phase Locked Loop）回路３６などが設けられている。
【００５９】
上記ＩＤリード回路３１は、メモリカード１がスタンバイ状態になるまでの期間にホスト２０が発行するコマンド（例えば、前述のＩＤリードコマンド）を処理するために使用される。一方、メイン回路３２は、メモリカード１がスタンバイ状態になった後にホスト２０が発行するコマンド（例えば、前述のアクセスコマンド）を処理するために使用される。このメイン回路３２は、前述のＣＰＵ８、ＲＯＭ９、ＲＡＭ１０などを含んでいる。
【００６０】
ＩＤリード回路３１は、デコーダ３３やシーケンサ３４などを含んでいる。また、端子群３０のうち、デコーダ３３に比較的近い位置に存在するいくつかの端子（例えば、３つの端子３０Ａ,３０Ｂ,３０Ｃ）は、それぞれ配線などを通じてデコーダ３３に電気的に接続されている。特に、上記３つの端子３０Ａ,３０Ｂ,３０ＣとＰＣＢ基板２（図１参照）上の３つの端子との間の電気的な接続関係（８通りの接続形態のうちの１つ）に基づいて、例えばフラッシュメモリ３の記憶容量（８種類の記憶容量のうちの１つ）を示す情報が決定されるようになっている。なお、この接続関係は、例えば製品出荷前のアセンブリ工程でのボンディング処理（またはバンプ処理）の段階で確定される。
【００６１】
デコーダ３３は、上記３つの端子３０Ａ,３０Ｂ,３０Ｃの信号レベルの高／低の組合せに基づき、８ビットデータ（後述）を生成してシーケンサ３４へ送る。シーケンサ３４は、デコーダ３３から得られる情報とその他の必要な情報（フラッシュメモリ３の記憶容量以外にホスト２０に通知すべき情報）とを、シーケンシャルにホストインタフェース６へ送る。
【００６２】
発振器（ＯＳＣ）３５は、コントローラ４における内部クロック（基準周波数）を生成するものである。ＰＬＬ回路３６は、発振器３５から得られる基準周波数に基づき、ＣＰＵ８が使用するための高周波化された信号を生成するものである。
【００６３】
ホストインタフェース６は、ホスト２０から送られてくるコマンドの種類を判定し、その判別結果に応じて、上記ＩＤリード回路３１を用いて当該コマンドを処理すべきか、それとも上記メイン回路３２を用いて処理すべきかを決定する。例えば、メモリカード１がスタンバイ状態となる前に前述のＩＤリードコマンドを受けた場合には、メイン回路３２を用いることなく、ＩＤリード回路３１から得られる情報をホスト２０へ通知する。一方、メモリカード１がスタンバイ状態となった後に前述のアクセスコマンドを受けた場合には、メイン回路３２に当該コマンドの処理を実行させ、その処理結果をホスト２０へ通知する。
【００６４】
次に、上記３つの端子３０Ａ,３０Ｂ,３０ＣとＰＣＢ基板２上の３つの端子との間の接続関係の具体例を２つ挙げて説明する。
【００６５】
図１１は、ＰＣＢ基板２上に複数の電源端子と接地端子との組合せを設ける形態（第１のボンディングオプション）を示す図である。また、図１２は、ＰＣＢ基板２上に複数の接地端子（又は電源端子）を設ける形態（第２のボンディングオプション）を示す図である。
【００６６】
図１１に示される第１のボンディングオプション４０Ａによれば、ＰＣＢ基板２上に、複数の電源端子と接地端子との組合せが設けられる。ボンディングによる配線接続の際には、コントローラ４側の端子３０Ａ，３０Ｂ，３０Ｃを、それぞれ、ＰＣＢ基板２側の電源端子又は接地端子に選択的に配線接続する。例えば、数値「１」を表現する場合には電源端子との配線接続を行い、数値「０」を表現する場合には接地端子との配線接続を行う（勿論、逆の形態を採用してもよい）。図示の例では、端子３０Ａ，３０Ｃがそれぞれ電源端子に接続され、端子３０Ｂが接地端子に接続されている。
【００６７】
この第１のボンディングオプション４０Ａによれば、配線接続の際に、ＰＣＢ基板２上に用意された電源端子／接地端子を選択するだけで、容易に８通りの情報を表現することができる。
【００６８】
一方、図１２に示される第２のボンディングオプション４０Ｂによれば、ＰＣＢ基板２上に、複数の接地端子（又は電源端子）が設けられる。また、コントローラ４側において、端子３０Ａ，３０Ｂ，３０Ｃと電源（又はグランド）との間に、それぞれ、プルアップ抵抗（又はプルダウン抵抗）４１が設けられる。ボンディングによる配線接続の際には、コントローラ４側の端子３０Ａ，３０Ｂ，３０Ｃを、それぞれ、ＰＣＢ基板２側の接地端子（又は電源端子）に配線接続するか、配線接続しない状態（オープン）にする。例えば、数値「１」を表現する場合にはオープンにし、数値「０」を表現する場合には接地端子との配線接続を行う（勿論、逆の形態を採用してもよい）。図示の例では、端子３０Ａ，３０Ｃがそれぞれオープンにされ、端子３０Ｂが接地端子に接続されている。
【００６９】
この第２のボンディングオプション４０Ｂによれば、前述した第１のボンディングオプション４０Ａに比べ、ＰＣＢ基板２に用意する端子群の数を減らすことができ、その専有面積を縮小できる。また、ボンディングの処理における歩留まりの低下を低減することができる。但し、図１２の構成では、端子３０Ｂのように接地端子へのボンディングがなされていると、プルアップ抵抗４１を介して電源側から接地側へスタティックな電流が流れてしまい、端子からデコーダ３３へ送られる信号のレベル等に悪影響を及ぼす可能性がある。このため、上記電流の流れを抑制し、信号レベルを安定させるための制御機構を設けることが望ましい。その詳細については、後で述べる。
【００７０】
図１３は、フラッシュメモリ３の記憶容量を示す情報を説明するための図である。  
フラッシュメモリ３の記憶容量としては、「16MByte」，「32MByte」，「64MByte」，「128MByte」，「256MByte」，「512MByte」，「1GByte」，「2GByte」の８種類が想定されており、それぞれが、例えば８ビットデータ（Ｄ７〜Ｄ０）で定義される。当該８ビットデータは、ＩＤリード回路３１からホストインタフェース６へ渡され、Ｉ／Ｏピン１〜８を通じてホスト２０へ伝えられることになる。
【００７１】
図示の例では、記憶容量「16MByte」がビットデータ「01110011」で表現され、記憶容量「32MByte」がビットデータ「01110101」で表現され、記憶容量「64MByte」がビットデータ「01110110」で表現され、記憶容量「128MByte」がビットデータ「01111001」で表現され、記憶容量「256MByte」がビットデータ「01110001」で表現され、記憶容量「512MByte」がビットデータ「11011100」で表現され、記憶容量「1GByte」がビットデータ「11010011」で表現され、記憶容量「2GByte」がビットデータ「11010101」で表現されている。
【００７２】
図１４は、ホストインタフェース６及びＩＤリード回路３１の詳細な構成を示すブロック図である。  
ホストインタフェース６は、各種のピンを通じてホスト２０との間で各種の信号（前述のＲ／ＢやＤ０〜Ｄ７のほか、ＣＬＥ，ＣＥ，ＷＥ，ＡＬＥ，ＲＥ）の送受を行う。
【００７３】
ＣＬＥ（Command Latch Enable）信号は、ホストインタフェース６内部のコマンドレジスタへのコマンドの取り込みを制御するために使用される信号である。ＣＥ信号（但し、ロウ・アクティブ）は、カード選択のための信号である。この信号がハイレベルになったときには、メモリカードは動作モードとなる。ＷＥ（但し、ロウ・アクティブ）は、Ｄ０〜Ｄ７に対応するＩ／Ｏピンを通じてコマンド，アドレス，データを取得するための制御に使用される信号である。
【００７４】
ＡＬＥ（Address Latch Enable）信号は、ホストインタフェース６内部のアドレス／データレジスタへのアドレスの取り込みを制御するために使用される信号である。ＲＥ信号（但し、ロウ・アクティブ）は、データのシリアルな出力を制御するために使用される信号である。
【００７５】
ホストインタフェース６は、ホスト２０から送られてくるコマンドの種類を判定するコマンド判定回路６０を有する。このコマンド判定回路６０は、受信されるコマンドがもしＩＤリードコマンドである場合には、コマンドイネーブル信号をＩＤリード回路３１側へ出力する。また、コマンド判定回路６０は、データをホスト２０へデータを出力させるためのＲＥ信号（但し、ロウ・アクティブ）をＩＤリード回路３１側へ出力する。ホストインタフェース６は、マルチプレクサ５６からデータが送られてきた場合には、当該データを、Ｄ０〜Ｄ７ピンを通じてホスト２０へ送る。
【００７６】
一方、ＩＤリード回路３１の中には、前述したデコーダ３３やシーケンサ３４のほか、ＡＮＤ回路５７、カウンタ５８などが設けられる。上記シーケンサ３４には、フリップフロップ群５１〜５５及びマルチプレクサ５６が含まれる。各フリップフロップ群は、８個のフリップフロップからなる。ＡＮＤ回路５７の入力端には、コマンドイネーブル信号及びＲＥ信号が供給される。ＡＮＤ回路５７の出力信号は、フリップフロップ群５１〜５５のクロック端子に供給される。また、ＡＮＤ回路５７の出力信号は、カウンタ５８の入力端に供給される。
【００７７】
デコーダ３３は、前述したように、３つの端子３０Ａ,３０Ｂ,３０Ｃの信号レベルの高／低の組合せに対応した８ビットデータを生成してシーケンサ３４へ送る。
【００７８】
フリップフロップ群５１〜５５のうち、フリップフロップ群５２は、デコーダ３３から送られてくる８ビットデータを入力し、ＡＮＤ回路５７から供給される信号に応じて、当該８ビットデータを出力する。その他のフリップフロップ群５１，５３〜５５は、それぞれ、固定値としての８ビットデータを入力し、ＡＮＤ回路５７からの信号に応じて、当該８ビットデータを出力する。上記固定値としてのデータの例としては、例えば、メモリカードの特性を表すコードや、メモリカードのＩＤを表すコードなどが挙げられる。フリップフロップ群５１〜５５から出力される８ビットデータは、それぞれ「1st Byte」，「2nd Byte」，「3rd Byte」，「4th Byte」，「5th Byte」と称することで識別する場合がある。
【００７９】
マルチプレクサ５６は、フリップフロップ群５１〜５５から出力されてくる８ビットデータを順次取り込み、それらをシーケンシャルにホストインタフェース６へ出力する。
【００８０】
ＡＮＤ回路５７は、ホストインタフェース６側から送られてくるＲＥ信号とコマンドイネーブル信号との論理積処理を行って出力する。カウンタ５８は、ＡＮＤ回路５７の出力信号に応じて、計時処理を実行し、マルチプレクサ５６の動作タイミングを制御する。
【００８１】
次に、図１５のタイミングチャートを参照して、コントローラ４中のホストインタフェース６がＩＤリードコマンドを受けた場合の動作を説明する。
【００８２】
ホストインタフェース６がホスト２０からＩＤリードコマンドなどを受ける際、ＣＬＥ信号はハイとなり、ＩＤリードコマンドのコマンドレジスタへの取り込みが行われる。このとき、ＣＥ信号はロウとなり、メモリカードがスタンバイ状態に変わるまでの期間は当該ロウの状態が維持される。また、ＷＥ信号に従って、Ｄ０〜Ｄ７に対応するＩ／Ｏピンを通じて上記コマンド及びアドレスが取得される。更に、ＡＬＥ信号に従って、アドレスの内部アドレスレジスタへの取り込みなどが行われる。最後に、ＲＥ信号に従って、ＩＤリード回路３１から出力されるデータが、Data0，Data1，Data2，Data3，…（例えば、前述の「1st Byte」，「2nd Byte」，「3rd Byte」，「4th Byte」，…にそれぞれ該当）として、Ｄ０〜Ｄ７に対応するＩ／Ｏポートを通じてホスト２０側へシリアルに送られる。
【００８３】
次に、図１６〜図１８を参照して、前述の図１２にて説明したプルアップ抵抗４１（もしくはプルダウン抵抗）を介して電源側から接地側へ流れるスタティックな電流の流れを抑制するための手法について説明する。
【００８４】
図１６は、図１２に示される構成においてプルアップ抵抗４１を介して電源側から接地側へ流れるスタティックな電流の流れを抑制するための回路の一例を示す図である。ここでは、図１２に示される端子群３０のうちの１つの端子に関して説明する。なお、この端子は、図示のようにグランドに配線接続されている場合と、解放（オープン）にされている場合（不図示）とがあり得るものとする。
【００８５】
図１６に示される回路は、前述のコントローラ４内に設けられ、スイッチャブルなプルアップ抵抗４１Ａを有するスイッチャブル・プルアップＩ／Ｏセル６１Ａや、端子３０から入力される信号を伝送する信号線７０の信号レベルを監視するとともに上記Ｉ／Ｏセル６１Ａの動作を制御する監視／制御回路６２、この監視／制御回路６２の動作期間を制御するカウンタ回路６３などを備えている。監視／制御回路６２やカウンタ回路６３は、例えばＩＤリード回路３１の中に設けられていてもよい。
【００８６】
スイッチャブル・プルアップＩ／Ｏセル６１Ａは、スイッチャブルなプルアップ抵抗４１Ａのほか、信号処理器７１を含む。プルアップ抵抗４１Ａは、端子３０に接続された信号線７０と電源ＶＤＤとの間に接続され、信号線７０の信号レベルをプルアップするプルアップ動作の有効／無効（enable/disable）の切替ができるように構成されている。信号処理器７１は、監視／制御回路６２から送られてくる制御信号に応じた信号Ｚｎをプルアップ抵抗４１Ａへ送ることにより、プルアップ抵抗４１Ａのプルアップ動作の有効／無効を切替制御する。なお、電源投入の時点においては、プルアップ動作は有効に設定される。
【００８７】
監視／制御回路６２は、信号処理器７２を含む。信号処理器７２は、電源投入時などに、カウンタ回路６３から送られてくるリセット信号Ｒｅｓｅｔに応じて監視／制御の動作を開始し、上記プルアップ動作を有効とするための制御信号を信号処理器７１へ送る。また、信号処理器７２は、カウンタ回路６３から送られてくるカウント信号に従って、一定期間、信号線７０の信号レベルを監視し、当該信号レベルがハイであれば上記プルアップ動作を有効とするための制御信号をそのまま維持し、一方、当該信号レベルがロウであれば上記プルアップ動作を無効とするための制御信号に切り替える。特に、端子３０が図示のようにグランドに配線接続されている場合には、信号レベルがロウとなるため、プルアップ動作は無効に切り替えられ、プルアップ抵抗を通じてスタティックな電流が電源からグランドへ流れることが防止される。また、信号処理器７２は、上記一定期間が経過した時点で、上記制御信号の状態を確定する。
【００８８】
カウンタ回路６３は、カウンタ７３を含んでいる。このカウンタ７３は、電源投入時などにリセット信号を信号処理器７２へ送るとともに、ホスト２０側から供給されるクロックなどに基づいて、信号線７０の信号レベルを監視すべき一定の時間（10msec以下）をカウントする。監視時間の開始及び終了は、ＯＲ回路７４を通じて信号処理器７２に伝えられる。
【００８９】
図１７は、図１６に示される回路の変形例を示す図である。ここでは、図１６と異なる部分について説明する。  
図１６に示される回路ではスイッチャブルなプルアップ抵抗４１Ａを使用しているのに対し、図１７に示される回路では代わりにスイッチャブルなプルダウン抵抗４１Ｂを使用している。この例においても、図１２に示される端子群３０のうちの１つの端子に関して説明する。なお、この端子は、図１７のように電源端子に配線接続されている場合と、解放（オープン）にされている場合（不図示）とがあり得るものとする。
【００９０】
プルダウン抵抗４１Ｂは、端子３０に接続された信号線７０とグランドとの間に接続され、信号線７０の信号レベルをプルダウンするプルダウン動作の有効／無効の切替ができるように構成されている。信号処理器７１は、監視／制御回路６２から送られてくる制御信号に応じた信号Ｚｎをプルダウン抵抗４１Ｂへ送ることにより、プルダウン抵抗４１Ｂのプルダウン動作の有効／無効を切替制御する。なお、電源投入の時点においては、プルダウン動作は有効に設定される。
【００９１】
また、監視／制御回路６２中の信号処理器７２は、動作中においては、信号線７０の信号レベルがロウであれば上記プルダウン動作を有効とするための制御信号を維持し、一方、当該信号レベルがハイであれば上記プルダウン動作を無効とするための制御信号に切り替える。特に、端子３０が図示のように電源端子に配線接続されている場合には、信号レベルがハイとなるため、プルダウン動作は無効に切り替えられ、プルダウン抵抗を通じてスタティックな電流が電源からグランドへ流れることが防止される。  
なお、カウンタ回路６３の構成に関しては、図１６の場合と同様であるため、その説明を省略する。
【００９２】
図１８は、図１６に示される回路の動作を示すタイミングチャートである。但し、図１８のタイミングチャートは、対象とされる端子３０がオープンの状態である場合の動作を示している。
【００９３】
例えば電源投入時に、カウンタ回路６３から監視／制御回路６２中の信号処理器７２に入力されるリセット信号がアクティブとなる。同時に、クロックＣＬＫ信号に基づき、カウンタ７３によって監視時間（10msec以下）の計時が開始され、監視時間であることを示す信号ＣＰが信号処理器７２に入力される。このとき、信号処理器７２から信号処理器７１に入力される信号ＡＥＮがアクティブとなり、プルアップ抵抗４１Ａをプルアップ動作させるための信号Ｚｎがアクティブとなる。これによりプルアップ動作が有効となるため、信号線７０の信号レベル８０はハイとなる。
【００９４】
監視時間の開始から終了までの間は、監視／制御回路６２により信号線７０の信号レベル８０が監視される。この例では端子３０がオープンにされているため、信号線７０の信号レベル８０はハイのままとなっている。
【００９５】
監視時間が終了すると、信号処理器７２に入力される信号ＣＰが監視時間の終了を示す。このとき、信号処理器７２から信号処理器７１に入力される信号ＡＥＮの状態が確定される。この例では、信号ＡＥＮがアクティブの状態で確定されるため、信号Ｚｎはアクティブであり、プルアップ動作は有効である。このため、信号レベル８０がハイである信号がＩＤリード回路３１の内部へと伝えられることになる。
【００９６】
一方、端子３０がオープンではなく、グランドに配線接続されている場合には、上記監視時間において信号線７０の信号レベル８０がロウであることが検出される。この場合、信号ＡＥＮはインアクティブに切り替わるため、信号Ｚｎはインアクティブに切り替わり、プルアップ動作は無効に切り替わる。この動作により、プルアップ抵抗を通じてスタティックな電流が電源からグランドへ流れることが防止される。そして、監視時間が終了した時点では、信号ＡＥＮがインアクティブの状態で確定されるため、信号Ｚｎはインアクティブであり、プルアップ動作は無効となっている。このため、信号レベル８０がロウである信号がＩＤリード回路３１の内部へと伝えられることになる。
【００９７】
このように本実施形態によれば、例えば電源供給直後において、ＣＰＵの動作に必要なクロックの発振及びＰＬＬの設定に関するセットアップ処理が完了する前であっても、ホストからのリセットコマンドもしくはＩＤリードコマンドに応じることができ、メモリカードの仕様に規定された期間内にメモリの容量などを示す情報をホストへ通知することができる。
【００９８】
なお、上記実施形態の説明では、実際に使用するフラッシュメモリ３の消去ブロックサイズが、ホスト２０が想定しているフラッシュメモリの消去ブロックサイズよりも大きい場合を示したが、勿論、実際に使用するフラッシュメモリ３の消去ブロックサイズが、ホスト２０が想定しているフラッシュメモリの消去ブロックサイズと同じであってもよい。
【００９９】
また、上記実施形態の説明では、不揮発性メモリとしてＮＡＮＤ型フラッシュメモリを例に挙げて説明したが、不揮発性メモリはＮＡＮＤ型フラッシュメモリに限られず、他の種類のメモリを適用してもよい。
【０１００】
また、本発明はメモリカード以外のカード（通信カードなど）にも適用することが可能である。更には、カード形状でなくても適用することが可能である。
【０１０１】
本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【０１０２】
【図１】本発明の一実施形態に係るメモリカードに搭載されるデバイス類の概略構成を示す斜視図。
【図２】ホストと上記メモリカードとを含む構成を示すブロック図。
【図３】ホストが想定しているフラッシュメモリと、実際に使用するフラッシュメモリとのデータ配置の違いを示す図。
【図４】ホスト側システム及びメモリカード（大ブロックカード）の各コミュニケーション階層を示す図。
【図５】ホスト側から送られてくるコマンドのフォーマットを示す図。
【図６】ホスト側が想定しているブロック書込操作とメモリカード（大ブロックカード）側が実際に行う書込処理とを対比して示す図。
【図７】本実施形態のメモリカードに対してホストが書込を行う際の、当該メモリカードのＩ／ＯピンとＲ／Ｂピンとの信号の例を示すタイミングチャート。
【図８】本実施形態のメモリカード内の不揮発性メモリに対して、当該メモリカード内のコントローラが書込を行う際の、メモリカード内の不揮発性メモリのＩ／ＯピンとＲ／Ｂピンとの信号の例を示すタイミングチャート。
【図９】本実施形態のメモリカードに対して電源投入直後にホストが発行するコマンドとＲ／Ｂピンの信号との関係を示すタイミングチャート。
【図１０】コントローラの構成の一例を示す図。
【図１１】ＰＣＢ基板上に複数の電源端子と接地端子との組合せを設ける形態（第１のボンディングオプション）を示す図。
【図１２】ＰＣＢ基板上に複数の接地端子又は電源端子を設ける形態（第２のボンディングオプション）を示す図。
【図１３】フラッシュメモリの記憶容量を示す情報を説明するための図。
【図１４】ホストインタフェース及びＩＤリード回路の詳細な構成を示すブロック図。
【図１５】コントローラ中のホストインタフェースがＩＤリードコマンドを受けた場合の動作を示すタイミングチャート。
【図１６】図１２に示される構成においてプルアップ抵抗を介して電源側から接地側へ流れるスタティックな電流の流れを抑制するための回路の一例を示す図。
【図１７】図１６に示される回路の変形例を示す図。
【図１８】図１６に示される回路の動作を示すタイミングチャート。
【符号の説明】
【０１０３】
１…メモリカード（大ブロックカード）、２…ＰＣＢ基板、３…ＮＡＮＤ型フラッシュメモリ、４…コントローラ、５…メモリインタフェース部、６…ホストインタフェース部、７…バッファ、８…ＣＰＵ、９…ＲＯＭ、１０…ＲＡＭ、１１…小ブロックカード物理アクセス層、１２…小ブロックカード物理・小ブロックカード論理変換層、１３…小ブロックカード論理・大ブロックカード物理変換層、１４…大ブロックカード物理アクセス層、２０…ホスト機器、２１…アプリケーションソフト、２２…ファイルシステム、２３…ドライバソフト、２４…小ブロックカード物理アクセス層、３０…端子群、３１…ＩＤリード回路（第１の回路）、３２…メイン回路（第２の回路）、３３…デコーダ、３４…シーケンサ、３５…発振器（ＯＳＣ）、３６…ＰＬＬ回路、４０Ａ…第１のボンディンングオプション、４０Ｂ…第２のボンディンングオプション、４１…プルアップ抵抗、４３…プルダウン抵抗、５１〜５５…フリップフロップ群、５６…マルチプレクサ、５７…ＡＮＤ回路、５８…カウンタ、６０…コマンド判定回路、６１Ａ…スイッチャブル・プルアップＩ／Ｏセル、６１Ｂ…スイッチャブル・プルダウンＩ／Ｏセル、６２…監視／制御回路、６３…カウンタ回路。
【図１】
2006107049.tif 000003
【図２】
2006107049.tif 000004
【図３】
2006107049.tif 000005
【図４】
2006107049.tif 000006
【図５】
2006107049.tif 000007
【図６】
2006107049.tif 000008
【図７】
2006107049.tif 000009
【図８】
2006107049.tif 000010
【図９】
2006107049.tif 000011
【図１０】
2006107049.tif 000012
【図１１】
2006107049.tif 000013
【図１２】
2006107049.tif 000014
【図１３】
2006107049.tif 000015
【図１４】
2006107049.tif 000016
【図１５】
2006107049.tif 000017
【図１６】
2006107049.tif 000018
【図１７】
2006107049.tif 000019
【図１８】
2006107049.tif 000020