(57)【要約】【課題】プログラムメモリを新たに追加すること無く内蔵データ処理装置にテスト用などの新たなプログラムを実行可能なメモリカードを提供する。【解決手段】電気的にデータの書換可能な不揮発性メモリ（４）と、プログラムを格納可能な揮発性メモリ（７）と、メモリカード外部からのコマンド入力を可能とするコマンド端子と、前記コマンド端子からの第１の転送制御コマンド（CMD2）の入力に応じて、前記メモリカード外部からの第１のプログラムを前記揮発性メモリへ格納させる、前記不揮発性メモリに格納された第１の転送プログラムを実行し、前記コマンド端子からの実行コマンド（CMD1）の入力に応じて、前記揮発性メモリに格納された第１のプログラムを実行するデータ処理装置とを設け、テスト用などの新たなプログラムの実行を可能にする。【選択図】図１
2006221677.tif 000002
【特許請求の範囲】
【請求項１】
電気的にデータの書換可能な不揮発性メモリと、
プログラムを格納可能な揮発性メモリと、
メモリカード外部からのコマンド入力を可能とするコマンド端子と、
前記コマンド端子からの第１の転送制御コマンドの入力に応じて、前記メモリカード外部からの第１のプログラムを前記揮発性メモリへ格納させる、前記不揮発性メモリに格納された第１の転送プログラムを実行し、
前記コマンド端子からの実行コマンドの入力に応じて、前記揮発性メモリに格納された第１のプログラムを実行する、データ処理装置と、を備える、メモリカード。
【請求項２】
前記データ処理装置は、前記コマンド端子からの第２の転送制御コマンドの入力に応じて、前記不揮発性メモリに格納された第３のプログラムを前記揮発性メモリへ格納させる、前記不揮発性メモリに格納された第２の転送プログラムを実行し、前記コマンド端子からの実行コマンドの入力に応じて、前記揮発性メモリに格納された第３のプログラムを実行する、請求項１記載のメモリカード。
【請求項３】
前記メモリカードは、メモリカード外部とのデータ入出を可能とするデータ端子を備え、
前記揮発性メモリは、前記データ端子から入力されるデータを前記不揮発性メモリへ格納する際に、又は、前記不揮発性メモリから読出したデータを、前記データ端子を介して出力する際に、データの一時的格納にも用いられる、請求項１又は２記載のメモリカード。
【請求項４】
前記第１のプログラムは、メモリカードをテストするテストプログラムである、請求項１乃至３のいずれか１項記載のメモリカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルメモリのようなメモリカードに関し、例えば１チップにファイルメモリの機能を搭載したメモリカードに適用して有効な技術に関するものである。
【背景技術】
【０００２】
ファイルメモリはハードディスクにおけるＦＡＴ（ファイル・アロケーション・テーブル）によるファイル配置の管理と同じような手法でファイルデータを格納することができるメモリカードである。ファイルメモリには例えば電気的に書換え可能なフラッシュメモリをファイルデータの格納領域として用いる。ファイルデータのアクセスに際して、データは一旦、バッファメモリに蓄えられる。書き込みのためにバッファメモリに格納されたファイルデータは、例えばＥＣＣ回路によってＥＣＣコードが付されてからフラッシュメモリに書き込まれ、また、フラッシュメモリから読み出されてバッファメモリに格納されたファイルデータはＥＣＣコードによるエラーチェックと訂正が行なわれた後に外部へ出力される。
【０００３】
ファイルメモリは、ファイル管理やバッファメモリのアクセス制御用などにマイクロコンピュータなどのデータ処理装置を内蔵している場合が多い。
【０００４】
尚、ファイルメモリの一種であるＰＣＭＣＩＡ−ＡＴＡ方式のフラッシュメモリーカードについて「日経エレクトロニクス（１９９４年４月１１日発行）」の第７８頁及び第７９頁に記載がある。
【０００５】
【非特許文献１】日経エレクトロニクス（１９９４年４月１１日発行、第７８頁及び第７９頁）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明者はデータ処理装置を有するファイルメモリの制御用プログラム領域について検討した。ファイルメモリには通常のファイル管理のためのプログラムの他に、デバッグ若しくはテスト用のプログラムも必要である。ファイルメモリにマイクロコンピュータなどのデータ処理装置が内蔵されていても、本来そのようなデータ処理装置はメモリカードの外部をアクセスする機能は不要であるから、必要なプログラムをメモリカード内部に内蔵させておくのが普通である。そうすると、デバッグ若しくはテスト用のプログラム等によってプログラム格納用のＲＯＭの記憶容量が大きくなり、回路規模が増大すると言う問題点が有る。特に、ファイルメモリのようなメモリカードの機能を１チップに搭載して半導体集積回路化しようとするとき、チップサイズ等の制約からＲＯＭの記憶容量をむやみに増すことが許されない場合には、新たな対策を施す必要性が本発明者によって見出された。
【０００７】
本発明の目的は、プログラムメモリを新たに追加すること無く内蔵データ処理装置にテスト用又はデバッグ用などの新たなプログラムを実行させることができるメモリカードを提供することにある。
【０００８】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１０】
すなわち、電気的に書換え可能な不揮発性メモリ（４）と、命令実行機能を有し前記不揮発性メモリにおけるファイルデータの配置を管理可能なデータ処理装置（３）と、外部とのインタフェース機能を有し外部からコマンドを受け付けて前記データ処理装置による命令実行を制御すると共に前記不揮発性メモリに対するアクセス制御を行うインタフェース制御回路（２）と、前記ファイルデータを一時的に格納するバッファメモリ（７）と、を有するメモリカード（１）において、前記バッファメモリをプログラムメモリとして流用可能にするものである。詳しくは、前記インタフェース制御回路に、外部から与えられる第１のコマンド（ＣＭＤ１）を解読して前記データ処理装置に前記バッファメモリから命令をフェッチして動作することを指示するコマンド制御手段（２４，２６）を設ける。したがって、プログラムメモリを新たに追加すること無く内蔵データ処理装置にテスト用又はデバッグ用等の新たなプログラムを実行させることができるようになる。
【００１１】
前記バッファメモリに格納されたプログラム（ＰＧＭ１）をデータ処理装置に実行させる制御方式として割り込みを用いてもよい。このとき、前記コマンド制御手段には、前記第１のコマンドを解読することによって、前記データ処理装置に、割り込みを要求し、且つ、第１の割り込み要因を通知する構成を採用すればよい。
【００１２】
割り込み制御方式としてベクタ制御を用いる場合、前記データ処理装置は、割込み要因に応じてベクタテーブル（３４０）から検索したベクタによって示される命令アドレスに処理を移して割り込みに応答可能な中央処理装置（３０）と、前記中央処理装置によってアクセスされるＲＯＭ（３４）とを有する。このとき、前記ＲＯＭは、前記ベクタテーブル（３４０）とプログラム領域（３４１）を有し、前記ベクタテーブルは、前記第１の割り込み要因に対応する第１のベクタ（ＶＣＴ１）を有する。これによって、中央処理装置は、第１のベクタで示されるバッファメモリ内のプログラムの先頭から命令を実行することができる。
【００１３】
前記バッファメモリへのプログラム（ＰＧＭ１）の転送は外部から、或いは内蔵フラッシュメモリから行えばよい。このバッファメモリへのプログラムの転送処理についてもファイルメモリそれ自体が制御できるようにすることが、ファイルメモリの使い勝手を向上させる。例えばファイルメモリの外部からバッファメモリにプログラム（ＰＧＭ１）をストア可能にする場合には、前記コマンド制御手段は更に、外部から与えられる第２のコマンド（ＣＭＤ２）を解読することによって前記データ処理装置に割り込みを要求し、且つ、第２の割り込み要因を通知する。前記ＲＯＭのベクタテーブルは更に、前記第２の割り込み要因に応答する第２のベクタ（ＶＣＴ２）を有する。前記ＲＯＭのプログラム領域は更に、外部から供給されるプログラムを前記バッファメモリの第１のアドレスを起点に格納させる転送制御プログラム（ＰＧＭ２）を有する。このとき、前記第２のベクタは前記転送制御プログラムの先頭アドレスを示す情報であり、前記第１のアドレスは前記第１のベクタ（ＶＣＴ１）が指すアドレスに一致するアドレスである。
【００１４】
ファイルメモリ内蔵の不揮発性メモリからバッファメモリにプログラム（ＰＧＭ１）をストア可能にする場合には、前記コマンド制御手段は更に、外部から与えられる第３のコマンド（ＣＭＤ３）を解読することによって前記データ処理装置に割り込みを要求し、且つ、第３の割り込み要因を通知する。前記ＲＯＭのベクタテーブルは更に、前記第３の割り込み要因に応答する第３のベクタ（ＶＣＴ３）を有する。前記ＲＯＭのプログラム領域は更に、前記不揮発性メモリから供給されるプログラムを前記バッファメモリの第１のアドレスを起点に格納させる転送制御プログラム（ＰＧＭ３）を有する。このとき、前記第３のベクタは前記転送制御プログラムの先頭アドレスを示す情報であり、前記第１のアドレスは前記第１のベクタが指すアドレスに一致するアドレスである。
【００１５】
１チップで構成された前記メモリカード（１）においては、チップサイズ等の制約からＲＯＭの記憶容量をむやみに増すことが許されない場合にも、その制約を満足してデバッグ若しくはテスト用プログラム等の実行を可能にできる。
【発明の効果】
【００１６】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００１７】
すなわち、ファイルデータの書き込み及び読み出しに利用されるバッファメモリをプログラムメモリとして流用可能にするから、プログラムメモリを新たに追加すること無く、バッファメモリを流用してメモリカードのテスト用又はデバッグ用等の新たなプログラムを実行させることができるようになる。１チップで構成されたメモリカードにおいては、チップサイズ等の制約からＲＯＭの記憶容量をむやみに増すことが許されない場合にも、その制約を満足してデバッグ若しくはテスト用プログラム等の実行を可能にできる。また、前記バッファメモリへの拡張プログラムの転送制御は、外部から供給される拡張プログラム、或いは内蔵フラッシュメモリに格納された拡張プログラムをファイルメモリそれ自体が転送制御できるので、拡張プログラムに関するファイルメモリの使い勝手も良好である。
【発明を実施するための最良の形態】
【００１８】
《メモリカードＬＳＩの概要》
図１には本発明の一例に係るメモリカード用の半導体集積回路が示される。同図に示される半導体集積回路は、特に制限されないが、ファイルメモリの最小ユニットを構成するシステムオンチップのＬＳＩ（半導体集積回路）として位置付けることができ、単結晶シリコンのような１個の半導体基板（チップ）に形成されている。
【００１９】
図１に示される半導体集積回路（単にメモリカードＬＳＩとも称する）１は、インタフェース制御回路２、データ処理装置の一例であるマイクロコンピュータ３、電気的に書換え可能な不揮発性メモリの一例であるフラッシュメモリ４、リセット回路５、振動子を用いたクロック発振回路６、バッファＲＡＭ７、及びワークＲＡＭ８を備えている。
【００２０】
メモリカードＬＳＩ１は動作電源として電源電圧Ｖｃｃと接地電圧Ｖｓｓを外部から入力する。入力された電源電圧Ｖｃｃ及び接地電圧Ｖｓｓは上記各回路に供給される。
【００２１】
前記インタフェース制御回路２は、相互にバス１０で接続されたホストインタフェース回路（ホストＩ／Ｆ）１１、マイコンインタフェース（マイコンＩ／Ｆ）１２、ファイルコントロールロジック（ＦＣＬ）１３、及びデータ転送ロジック（ＤＴＬ）１４を有する。
【００２２】
前記ホストインタフェース回路１１は外部からクロック信号（Ｃｌｏｃｋ）２Ａとカードセレクト信号（Ｃａｒｄ  Ｓｅｌｅｃｔ）２Ｄを入力し、コマンド（Ｃｏｍｍａｎｄ）２Ｂ及びデータ（Ｄａｔａ）２Ｃの入出力を行う。特に制限されないが、コマンド２Ｂ、データ２Ｃは、夫々ビットシリアルに入出力される。ホストインタフェース回路１１は、外部から供給されるコマンド２Ｂを受け付け、これを解読して、前記マイクロコンピュータ３及びフラッシュメモリ４の動作を指示し、前記フラッシュメモリ４に対するファイルデータのアクセス制御を行う。
【００２３】
前記マイクロコンピュータ３に対する動作の指示は、ホストインタフェース回路１１からマイコンインタフェース１２を介して割込み信号ＮＭＩと割込み要因をマイクロコンピュータ３に与えることによって行なわれる。マイコンインタフェース１２は前記割り込み信号ＮＭＩ、制御信号Ｃｔｌ、データ情報や制御情報等の各種データをマイクロコンピュータ３との間で受け渡しする。
【００２４】
ファイルコントロールロジック１３は、マイクロコンピュータ３の制御にしたがって、或いはホストインタフェース回路１１によるコマンド解読結果にしたがって、フラッシュメモリ４に対するファイルデータのアクセス制御を行う。
【００２５】
前記バッファＲＡＭ７は、外部からホストインタフェース回路１１に供給されたファイルデータを一時的に蓄え、或いはフラッシュメモリ４から読み出したファイルデータを一時的に蓄えるファイルデータバッファメモリとして利用される。更に、マイクロコンピュータ３の拡張プログラムメモリとして利用される。
【００２６】
前記バッファＲＡＭ７に対するアクセス制御はデータ転送ロジック１４を介して行なわれる。データ転送ロジック１４はＥＣＣ回路１４Ａを有し、バッファＲＡＭ７のアクセスに際してＥＣＣによるエラーチェックと訂正を行う。
【００２７】
バッファＲＡＭ７がファイルデータバッファメモリとして利用されるとき、ファイルデータの書き込み動作では、ファイルデータはデータ転送ロジック１４によってバッファＲＡＭ７からバス１０に読み出され、読み出されたファイルデータはファイルコントロールロジック１３の制御でフラッシュメモリ４に書き込まれる。ファイルデータの読み出し動作では、ファイルデータがファイルコントロールロジック１３の制御でフラッシュメモリ４からバス１０に読み出され、読み出されたファイルデータがファイル転送ロジック１４の制御でバッファＲＡＭ７に書き込まれる。バッファＲＡＭ７がファイルデータのバッファメモリとして利用される状態は、外部からファイルアクセスコマンドがインタフェース制御回路２に供給され、そのコマンドの解読結果にしたがった割り込みがマイクロコンピュータに受け付けられ、且つ、そのコマンドの解読結果がファイルコントロールロジック１３やファイル転送ロジック１４に与えられることによって得られるものである。
【００２８】
マイクロコンピュータ３（特に後述するＣＰＵ３０）のアドレス空間には前記バッファＲＡＭ７がマッピングされている。マイクロコンピュータ３は、データ転送ロジック１４を通してワークＲＡＭ８をアクセスするのと同じようにバッファＲＡＭ７をアクセスすることができる。このアクセス態様は、例えば、バッファＲＡＭ７をマイクロコンピュータ３の拡張プログラムメモリとして利用する場合である。マイクロコンピュータ３がバッファＲＡＭ７を拡張プログラムメモリとして利用する状態は、外部から拡張プログラム実行コマンドがインタフェース制御回路２に供給され、そのコマンドの解読結果に従った割り込みがマイクロコンピュータ３に受け付けられることによって得られるものである。その詳細は後述する。
【００２９】
特に制限されないが、ファイルメモリＬＳＩ１は、ハードディスク装置と互換性のあるファイルデータアクセス方式を有する。例えばアクセスの管理単位領域である１クラスタに４セクタを含め、各クラスタ毎に管理領域が割り当てられている。管理領域は、ファイルを構成するクラスタの配列を決定するためのポインタ情報、書換え回数の情報、セクタの良否識別情報等を保有している。更に、フラッシュメモリ４は、格納ファイルのファイル名とその先頭クラスタを特定するディレクトリ領域を有している。
【００３０】
前記マイクロコンピュータ３は、フラッシュメモリ４のクラスタに対するファイルデータの配列を管理するため、前記管理領域やディレクトリ領域の情報に基づいて前記内蔵ＳＲＡＭ３５に、管理テーブルを生成する。マイクロコンピュータ３は、この管理テーブルの生成と更新を制御し、ファイルデータのアクセスに際して前記管理テーブルを用いてアクセス対象となる管理単位領域を指示する情報を生成する。ファイルデータのアクセス制御情報はマイコンインタフェース１２を介してファイルコントロールロジック１３に与えられる。
【００３１】
前記マイクロコンピュータ３は、夫々内部バス３８に接続された中央処理装置（ＣＰＵ）３０、ＣＰＵ３０の動作プログラムなどが格納された内蔵ＲＯＭ（リード・オンリ・メモリ）３４、ＣＰＵ３０のワーク領域若しくはデータの一時記憶領域などに利用される内蔵ＳＲＡＭ（スタティック・ランダム・アクセス・メモリ）３５、ＣＰＵ３０のアクセス対象が外部アドレス空間であるとき外部バス３７のバスサイクルを制御するバスコントローラ（ＢＳＣ）３３、ブレークポイント制御などのデバッグを支援するためのユーザブレークコントローラ（ＵＢＣ）３１を有する。割り込み制御回路（ＩＮＴＣ）３２は割り込み信号ＮＭＩや割り込み要因を入力し、割り込みに対する優先制御を行ってＣＰＵ３０に割込みを要求する。割り込み処理プログラムは、特に制限されないが、前記内蔵ＲＯＭ３４に格納されている。
【００３２】
マイクロコンピュータ３の外部バス３７には、前記バスコントローラ３３の他に、ＣＰＵ３０の暴走等を監視するウォッチドッグタイマ（ＷＤＴ）３６が接続され、更に、前記ワークＲＡＭ８及びマイコンインタフェース１２がバスで接続されている。マイクロコンピュータ３は、その他のインタフェース回路として一つのＩ／Ｏポート３９Ａを有している。このＩ／Ｏポート３９Ａは、割り込み信号ＮＭＩの入力、Ｃｔｌで代表される制御信号の出力に専用化されている。特に制限されないが、汎用Ｉ／Ｏポートは備えられていない。
【００３３】
前記マイクロコンピュータ３は、低消費電力モードとして、特に制限されないが、スリープモード、スタンバイモードを有している。ＣＰＵ３０は、図示を省略するコントロールレジスタに設けられているスタンバイ制御ビットが第１の論理値のときにスリープ命令を実行することによって、スリープモードに遷移される。ＣＰＵ３０はスリープモードに遷移すると、レジスタの状態などをそのまま維持して動作を停止する。周辺回路は動作を続ける。スリープモードは割り込みやリセットによって解除される。一方、ＣＰＵ３０は、コントロールレジスタに設けられているスタンバイ制御ビットが第２の論理値のときにスリープ命令を実行することによって、スタンバイモードに遷移される。ＣＰＵ３０はスタンバイモードに遷移すると、レジスタの状態などをそのまま維持して動作を停止すると共に、周辺回路の動作も停止される。スタンバイモードは割り込みやリセットによって解除される。
【００３４】
マイクロコンピュータ３のクロックパルスジェネレータ３９Ｂには発振回路６からクロック信号ＣＬＫ２が供給される。例えばマイクロコンピュータ３にスタンバイモードが設定されたとき、発振回路６は、それに応答してマイクロコンピュータ３から出力される信号によって、クロック信号ＣＬＫ２の出力を停止する。この状態でマイコンインタフェース１２からポート３９Ａに割り込み信号ＮＭＩがアサートされると、その状態をクロック制御回路１５が検出する。これによって、クロック制御回路１５は、発振回路６にクロック信号ＣＬＫ２の供給を再開させる。したがって、ＣＰＵ３０が前記割り込みに応答するとき、既にクロック信号ＣＬＫ２の供給が再開されているので、マイクロコンピュータ３はスタンバイモードから抜け出すことができる。
【００３５】
前記リセット回路５は、リセット信号ＲＥＳ１によってインタフェース制御回路２をリセットし、リセット信号ＲＥＳ２によってマイクロコンピュータ３をリセットする。フラッシュメモリ４のリセット動作はファイルコントロールロジック（ＦＣＬ）１３内の制御レジスタに設けられているリセットイネーブルビットＲＳＢの値に従って制御されるリセット信号ＲＥＳ３で行なわれる。
【００３６】
図２、図３には前記メモリカードＬＳＩ１を用いたデータ処理システムの例が示される。図示は省略するが、メモリカードＬＳＩ１はコネクタを露出させた樹脂モールド等の手法でパッケージングされている。１００はホストシステム、１０１はメモリカードの装着スロットである。図２、図３は、一度に複数枚のメモリカードＬＳＩ１を装着可能とする構成を例示している。双方においてクロック２Ａ、コマンド２Ｂ、及びデータ２Ｃの各信号線は各メモリカードＬＳＩ１に共通である。複数枚装着されたメモリカードＬＳＩ１に対するカード選択は、図２の例では、メモリカードＬＳＩ１毎に固有の前記カードセレクト信号２Ｄを利用し、図３の例では、コマンドに付随して送られてくるカードアドレスを利用するようになっている。図３の例では、メモリカードＬＳＩ１は、初期化動作で自らに割り当てられたカードアドレスが入力されることによって自分が選択されたことを認識する。
【００３７】
図４には前記ホストインタフェース回路１１のブロック図が示される。図４に従えば、前記ホストインタフェース回路１１は、コマンド２Ｂを入力するコマンド入力レジスタ２０、コマンド入力に対する応答を返す応答制御回路２１、データ２Ｃを入力するデータ入力レジスタ２２、データ２Ｃを出力するデータ出力レジスタ２３を有する。入力されたコマンドはコマンドデコーダ２４で解読され、その解読結果に従って制御ロジック回路２６が、マイクロコンピュータ３に対する割込み制御、データ入出力制御、ホスト装置への応答制御等を行う。２７で示されるものは制御ロジック２６が利用する一時記憶メモリである。
【００３８】
《拡張プログラムの実行》
次に、前記バッファＲＡＭ７を前記拡張プログラムメモリとして利用可能にする構成を詳細に説明する。
【００３９】
拡張プログラムの実行には例えばマイクロコンピュータ３のベクタ方式による割込み制御を用いる。マイクロコンピュータ３によるベクタ割り込みは以下のように行なわれる。即ち、マイクロコンピュータ３はインタフェース制御回路２から割り込み信号ＮＭＩで割り込みが通知される。割り込みコントローラ３２は割り込み信号ＮＭＩによる割り込みに対して割り込み優先制御などを行い、その割り込みを受け付けるとき、割り込み要求信号ＩＮＴをＣＰＵ３０にアサートする。インタフェース制御回路２はその割り込みが受け付けられたことを検出すると、マイコンインタフェース１２を介してその割り込み要因を示す情報を外部バス３７に供給する。ＣＰＵ３０は、その割込み要因に応ずるベクタをベクタテーブルから検索する。ＣＰＵ３０は検索したベクタによって示される命令アドレスに処理を移して割り込みに応答する処理に分岐する。尚、割り込み応答処理の後に割り込み直前の状態に復帰すべき割り込みの場合には、割り込み応答処理の前に状態保存を行うことは言うまでもない。
【００４０】
図５にはＣＰＵ３０が管理可能なドレス空間に対する内蔵ＲＯＭ３４、ワークＲＡＭ８、バッファＲＡＭ７及び内蔵ＳＲＡＭ３５のアドレスマッピングが示されている。
【００４１】
前記バッファＲＡＭ７において、特に制限されないが、拡張プログラムメモリとして兼用可能な領域（プログラム兼用領域）７０はその一部とされる。このプログラム兼用領域７０に格納されるプログラムを拡張プログラムＰＧＭ１と称する。
【００４２】
前記内蔵ＲＯＭ３４は、前記ベクタテーブル３４０とプログラム領域３４１を有する。前記ベクタテーブル３４０は代表的に示された第１のベクタＶＣＴ１、第２のベクタＶＣＴ２及び第３のベクタＶＣＴ３を有する。プログラム領域３４１は、サブルーチンとしての第１の転送制御プログラムＰＧＭ２、第２の転送制御プログラムＰＧＭ３を有する。その他に、リセット処理や、ファイル管理処理などのプログラムも記憶されているが、図示を省略してある。
【００４３】
前記ベクタＶＣＴ１は前記プログラム兼用領域７０の先頭アドレスの情報を有している。拡張プログラムＰＧＭ１はプログラム兼用領域７０の先頭アドレスを起点に格納されることになる。前記ベクタＶＣＴ２は前記第１の転送制御プログラムＰＧＭ２の格納領域の先頭アドレスの情報を有している。前記ベクタＶＣＴ３は前記第２の転送制御プログラムＰＧＭ３の格納領域の先頭アドレスの情報を有している。
【００４４】
前記第１の転送制御プログラムＰＧＭ２は、メモリカードＬＳＩ１の外部から供給される拡張プログラムＰＧＭ１を前記プログラム兼用領域７０の先頭アドレスを起点に格納させる転送制御プログラムである。前記第２の転送制御プログラムＰＧＭ３は、フラッシュメモリ４にファイル転送され、或いは製造段階で予め格納された拡張プログラムＰＧＭ１を読み出して前記プログラム兼用領域７０の先頭アドレスを起点に格納させる転送制御プログラムである。
【００４５】
図６には前記プログラム兼用領域７０に格納された拡張プログラムＰＧＭ１の実行過程の概略が示される。前記プログラム兼用領域７０に格納された拡張プログラムＰＧＭ１の実行は、インタフェース制御回路２に外部から与えられる拡張プログラム実行コマンドＣＭＤ１によって指定される。インタフェース制御回路２は、拡張プログラム実行コマンドＣＭＤ１をコマンド入力レジスタ２４に入力すると、これをコマンドデコーダ２４はデコードし、そのデコード結果を受ける制御ロジック回路２６は割込み信号ＮＭＩを出力すると共に拡張プログラム実行コマンドに対応される第１の要因をＣＰＵ３０に通知する。ＣＰＵ３０は、必要な状態退避処理等を行った後、その第１の要因に対応付けられた第１のベクタＶＣＴ１をベクタテーブル３４０から検索し、これによってプログラム兼用領域７０の拡張プログラムＰＧＭ１の実行に移る。
【００４６】
図７には前記第１の転送制御プログラムＰＧＭ２の実行過程の概略が示される。前記第１の転送制御プログラムＰＧＭ２の実行は、インタフェース制御回路２に外部から与えられる拡張プログラムの外部転送制御実行コマンドＣＭＤ２によって指定される。インタフェース制御回路２は、拡張プログラムの外部転送制御実行コマンドＣＭＤ２をコマンド入力レジスタ２４に入力すると、これをコマンドデコーダ２４はデコードし、そのデコード結果を受ける制御ロジック回路２６は割込み信号ＮＭＩを出力すると共に当該外部転送制御実行コマンドに対応される第２の要因をＣＰＵ３０に通知する。ＣＰＵ３０は、必要な状態退避処理等を行った後、その第２の要因に対応付けられた第２のベクタＶＣＴ２をベクタテーブル３４０から検索し、これによって第１の転送制御プログラムＰＧＭ２の実行に移る。
【００４７】
図８には前記第２の転送制御プログラムＰＧＭ３の実行過程の概略が示される。前記第２の転送制御プログラムＰＧＭ３の実行は、インタフェース制御回路２に外部から与えられる拡張プログラムの内部転送制御実行コマンドＣＭＤ３によって指定される。インタフェース制御回路２は、前記内部転送制御実行コマンドＣＭＤ３をコマンド入力レジスタ２４に入力すると、これをコマンドデコーダ２４はデコードし、そのデコード結果を受ける制御ロジック回路２６は割込み信号ＮＭＩを出力すると共に当該内部転送制御実行コマンドに対応される第３の要因をＣＰＵ３０に通知する。ＣＰＵ３０は、必要な状態退避処理等を行った後、その第３の要因に対応付けられた第３のベクタＶＣＴ３をベクタテーブル３４０から検索し、これによって第２の転送制御プログラムＰＧＭ３の実行に移る。
【００４８】
上記より、プログラムメモリを新たに追加すること無く、バッファＲＡＭ７を流用してＣＰＵ３０にテスト用又はデバッグ用等の新たなプログラムを実行させることができるようになる。１チップで構成されたメモリカードＬＳＩ１にあっては、チップサイズ等の制約からＲＯＭ３４の記憶容量をむやみに増すことが許されない場合にも、その制約を満足してデバッグ若しくはテスト用プログラム等の実行を可能にできる。また、前記バッファＲＡＭ７への拡張プログラムＰＧＭ１の転送制御は、外部から供給される拡張プログラムＰＧＭ１、或いは内蔵フラッシュメモリ４に格納された拡張プログラムＰＧＭ１を、ファイルメモリ１それ自体が転送制御できるので、拡張プログラムに関するファイルメモリ１の使い勝手も良好である。
【００４９】
尚、バッファＲＡＭ７を用いたその他のデータ転送形態には、前述のように、ファイルデータをフラッシュメモリ４に書き込む時のデータバッファ（図９）、フラッシュメモリ４が保有するファイルデータを外部に読み出すときのデータバッファ（図１０）としての、ファイルメモリ本来の利用形態が有る。更に、図１１に示されるようにＣＰＵ３０のワークデータを外部との間で入出力するときのデータバッファ、図１２に示されるようにＣＰＵ３０のワークデータをフラッシュメモリ４との間で入出力するときのデータバッファとしての利用形態もある。
【００５０】
《メモリ》
ここで、参考として、前記フラッシュメモリ４の一例を説明する。先ず図１３を参照してフラッシュメモリの情報記憶原理について説明する。
【００５１】
図１３の（Ａ）に例示的に示されたメモリセルは、２層ゲート構造の絶縁ゲート型電界効果トランジスタにより構成されている。同図において、４３１はＰ型シリコン基板、４３２は上記シリコン基板４３１に形成されたＰ型半導体領域、４３３，４３４はＮ型半導体領域である。４３５はトンネル絶縁膜としての薄い酸化膜４３６（例えば厚さ１０ｎｍ）を介して上記Ｐ型シリコン基板４３１上に形成されたフローティングゲート、４３７は酸化膜４３８を介して上記フローティングゲート４３５上に形成されたコントロールゲートである。ソースは４３４によって構成され、ドレインは４３３，４３２によって構成される。このメモリセルに記憶される情報は、実質的にしきい値電圧の変化としてトランジスタに保持される。以下、特に述べないかぎり、メモリセルにおいて、情報を記憶するトランジスタ（以下メモリセルトランジスタとも記す）がＮチャンネル型の場合について述べる。
【００５２】
メモリセルへの情報の書込み動作は、例えばコントロールゲート４３７及びドレインに高電圧を印加して、アバランシェ注入によりドレイン側からフローティングゲート４３５に電子を注入することで実現される。この書込み動作により記憶トランジスタは、図１３の（Ｂ）に示されるように、そのコントロールゲート４３７からみたしきい値電圧が、書込み動作を行わなかった消去状態の記憶トランジスタに比べて高くなる。
【００５３】
一方消去動作は、例えばソースに高電圧を印加して、トンネル現象によりフローティングゲート４３５からソース側に電子を引き抜くことによって実現される。図１３の（Ｂ）に示されるように消去動作により記憶トランジスタはそのコントロールゲート４３７からみたしきい値電圧が低くされる。図１３の（Ｂ）では、書込み並びに消去状態の何れにおいてもメモリセルトランジスタのしきい値は正の電圧レベルにされる。すなわちワード線からコントロールゲート４３７に与えられるワード線選択レベルに対して、書込み状態のしきい値電圧は高くされ、消去状態のしきい値電圧は低くされる。双方のしきい値電圧とワード線選択レベルとがそのような関係を持つことによって、選択トランジスタを採用することなく１個のトランジスタでメモリセルを構成することができる。記憶情報を電気的に消去する場合においては、フローティングゲート４３５に蓄積された電子をソース電極に引く抜くことにより、記憶情報の消去が行われるため、比較的長い時間、消去動作を続けると、書込み動作の際にフローティングゲート４３５に注入した電子の量よりも多くの電子が引く抜かれることになる。そのため、電気的消去を比較的長い時間続けるような過消去を行うと、メモリセルトランジスタのしきい値電圧は例えば負のレベルになって、ワード線の非選択レベルにおいても選択されるような不都合を生ずる。尚、書込みも消去と同様トンネル電流を利用して行うこともできる。
【００５４】
読み出し動作においては、上記メモリセルに対して弱い書込み、すなわち、フローティングゲート４３５に対して不所望なキャリアの注入が行われないように、ドレイン及びコントロールゲート７に印加される電圧が比較的低い値に制限される。例えば、１Ｖ程度の低電圧がドレインに印加されるとともに、コントロールゲート４３７に５Ｖ程度の低電圧が印加される。これらの印加電圧によってメモリセルトランジスタを流れるチャンネル電流の大小を検出することにより、メモリセルに記憶されている情報の論理値“０”、“１”を判定することができる。
【００５５】
図１４は前記メモリセルトランジスタを用いたメモリセルアレイの構成原理を示す。同図には代表的に４個のメモリセルトランジスタＱ１乃至Ｑ４が示される。Ｘ，Ｙ方向にマトリクス配置されたメモリセルにおいて、同じ行に配置されたメモリセルトランジスタＱ１，Ｑ２（Ｑ３，Ｑ４）のコントロールゲート（メモリセルの選択ゲート）は、それぞれ対応するワード線ＷＬ１（ＷＬ２）に接続され、同じ列に配置された記憶トランジスタＱ１，Ｑ３（Ｑ２，Ｑ４）のドレイン領域（メモリセルの入出力ノード）は、それぞれ対応するデータ線ＤＬ１（ＤＬ２）に接続されている。上記記憶トランジスタＱ１，Ｑ３（Ｑ２，Ｑ４）のソース領域は、ソース線ＳＬ１（ＳＬ２）に結合される。
【００５６】
図１５の（Ａ）、（Ｂ）、（Ｃ）にはメモリセルに対する消去動作及び書込み動作のための電圧条件の一例が示される。同図においてメモリ素子はメモリセルトランジスタを意味し、ゲートはメモリセルトランジスタの選択ゲートとしてのコントロールゲートを意味する。同図において負電圧方式の消去はコントロールゲートに例えば−１０Ｖのような負電圧を印加することによって消去に必要な高電界を形成する。同図に例示される電圧条件から明らかなように、正電圧方式の消去にあっては少なくともソースが共通接続されたメモリセルに対して一括消去を行うことができる。したがって図１４の構成においてソース線ＳＬ１，ＳＬ２が接続されていれば、４個のメモリセルＱ１乃至Ｑ４は一括消去可能にされる。ソース線分割方式には図１４に代表的に示されるようなデータ線を単位とする場合（共通ソース線をデータ線方向に延在させる）の他にワード線を単位とする場合（共通ソース線をワード線方向に延在させる）がある。一方、負電圧方式の消去にあっては、コントロールゲートが共通接続されたメモリセルに対して一括消去を行うことができる。
【００５７】
図１６には前記フラッシュメモリ４の一例が示される。図１６において４０３で示されるものはメモリアレイであり、メモリマット、センスラッチ回路を有する。メモリマットは電気的に消去及び書き込み可能な不揮発性のメモリセルトランジスタを多数有する。メモリセルトランジスタは、例えば、図１３で説明したように、半導体基板若しくはメモリウェルに形成されたソース及びドレインと、チャンネル領域にトンネル酸化膜を介して形成されたフローティングゲート、そしてフローティングゲートに層間絶縁膜を介して重ねられたコントロールゲートを有して構成される。コントロールゲートはワード線４０６に、ドレインはビット線４０５に、ソースは図示を省略するソース線に接続される。
【００５８】
外部入出力端子Ｉ／Ｏ０〜Ｉ／Ｏ７は、アドレス入力端子、データ入力端子、データ出力端子、コマンド入力端子に兼用される。外部入出力端子Ｉ／Ｏ０〜Ｉ／Ｏ７から入力されたＸアドレス信号はマルチプレクサ４０７を介してXアドレスバッファ４０８に供給される。Ｘアドレスデコーダ４０９はＸアドレスバッファ４０８から出力される内部相補アドレス信号をデコードしてワード線を駆動する。
【００５９】
特に図示はしないが、前記メモリアレイ４０３に含まれるメモリマットはセンスラッチ回路のアレイの左右に構成される。即ち、センスラッチ回路の双方の入出力ノードには夫々、プリチャージ回路及びビット線などが配置されている。ビット線４０５はＹアドレスデコーダ４１１から出力される選択信号に基づいてＹゲートアレイ回路４１３で選択される。外部入出力端子Ｉ／Ｏ０〜Ｉ／Ｏ７から入力されたＹアドレス信号はＹアドレスカウンタ４１２にプリセットされ、プリセット値を起点に順次インクリメントされたアドレス信号が前記Ｙアドレスデコーダ４１１に与えられる。
【００６０】
Ｙゲートアレイ回路４１３で選択されたビット線は、データ出力動作時には出力バッファ４１５の入力端子に導通され、データ入力動作時にはデータ制御回路４１６を介して入力バッファ４１７の出力端子に導通される。出力バッファ４１５、入力バッファ４１７と前記入出力端子Ｉ／Ｏ０〜Ｉ／Ｏ７との接続は前記マルチプレクサ４０７で制御される。入出力端子Ｉ／Ｏ０〜Ｉ／Ｏ７から供給されるコマンドはマルチプレクサ４０７及び入力バッファ４１７を介してモード制御回路４１８に与えられる。前記データ制御回路４１６は、入出力端子Ｉ／Ｏ０〜Ｉ／Ｏ７から供給されるデータの他に、モード制御回路４１８の制御に従った論理値のデータをメモリアレイ４０３に供給可能にする。
【００６１】
制御信号バッファ回路４１９には、アクセス制御信号としてチップイネーブル信号ＣＥｂ、出力イネーブル信号ＯＥｂ、書き込みイネーブル信号ＷＥｂ、シリアルクロック信号ＳＣ、リセット信号ＲＥＳｂ及びコマンドイネーブル信号ＣＤＥｂが供給される。
【００６２】
モード制御回路４１８は、それら信号の状態に応じて外部との信号インタフェース機能などを制御し、また、コマンドコードに従って内部動作を制御する。入出力端子Ｉ／Ｏ０〜Ｉ／Ｏ７に対するコマンド又はデータ入力の場合、前記信号ＣＤＥｂがアサートされ、コマンドであれば更に信号ＷＥｂがアサート、データであればＷＥｂがネゲートされる。アドレス入力であれば、前記信号ＣＤＥｂがネゲートされ、信号ＷＥｂがアサートされる。これにより、モード制御回路４１８は、外部入出力端子Ｉ／Ｏ０〜Ｉ／Ｏ７からマルチプレクス入力されるコマンド、データ及びアドレスを区別できる。モード制御回路４１８は、消去や書込み動作中にレディー・ビジー信号Ｒ／Ｂｂをアサートしてその状態を外部に知らせることができる。
【００６３】
内部電源回路４２０は、書込み、消去ベリファイ、読み出しなどのための各種動作電源４２１を生成して、前記Ｘアドレスデコーダ４０９やメモリセルアレイ４０３などに供給する。
【００６４】
前記モード制御回路４１８は、コマンドに従ってフラッシュメモリ４を全体的に制御する。フラッシュメモリ４の動作は、基本的にコマンドによって決定される。
【００６５】
フラッシュメモリに割り当てられているコマンドは、例えば、読み出し、消去、書込み、などの各コマンドとされる。読み出しコマンドは第1コマンドによっ
て構成され、それ以外のコマンドは第1及び第2コマンドから構成される。
【００６６】
フラッシュメモリ４はその内部状態を示すためにステータスレジスタ４２３を有し、その内容は、信号ＯＥｂがアサートされることによって入出力端子Ｉ／Ｏ０〜Ｉ／Ｏ７から読み出すことができる。
【００６７】
前記書込みコマンドによって書込み動作が指示されると、前記センスラッチ回路はＹゲートアレイ回路４１３を介して供給される書込みデータをラッチすることができる。この例に従えば、フラッシュメモリ４は、8ビットの入出力端子Ｉ／Ｏ０〜Ｉ／Ｏ７を有するから、1回の書込みデータ入力によって８個のセンスラッチ回路に書込みデータをセットすることができる。ここでの説明では、書込みの単位をワード線単位とするので、１本分のワード線に選択端子が結合する全てのメモリセルのビット線に関するセンスラッチ回路に書込みデータをセットした後、書込み電圧が印加されて書込み動作が行なわれることになる。例えば、書込み動作では、予め全てのビット線が所定レベルにプリチャージされており、書込み選択されたメモリセルのビット線はグランド電位にディスチャージされ、書込み非選択とされたメモリセルのビット線はプリチャージレベルを維持し、書込み選択されたワード線に書き込み高電圧が印加されると、書込み選択されたメモリセルのコントロールゲートとドレインとの間に高電圧が印加され、これによって、書き込み選択されたメモリセルの閾値電圧が高くされ、書込み状態にされる。書込み動作の前にメモリセルは閾値電圧が低くされた消去状態にされている。尚、書込み、消去の閾値電圧状態を上記とは逆に定義してもよい。
【００６８】
尚、図１６のリセット信号ＲＥＳｂは図１のリセット信号ＲＥＳ３に相当する信号である。図１６においてマルチプレクサ４０７及び制御信号バッファ回路４１９の入出力信号は図１のＦＣＬ１３とやり取りされる。
【００６９】
次に、前記内蔵ＳＲＡＭ３５、ワークＲＡＭ８、バッファＲＡＭ７を構成するスタティックメモリセルの一例を参考に説明する。図１７には代表的に１個のスタティックメモリセル７０が示される。このスタティックメモリセル７０は、ｎチャンネル型ＭＯＳトランジスタ７１とｐチャンネル型ＭＯＳトランジスタ７２とから成るＣＭＯＳインバータを一対有し、相互に一方ＣＭＯＳインバータのの入力端子を他方のＣＭＯＳインバータの出力端子に交差的に結合してスタティックラッチを構成する。前記スタティックラッチの一対の記憶ノードはｎチャネル型選択ＭＯＳトランジスタ７５，７６を介して相補ビット線７８ｔ，７８ｂに結合される。選択ＭＯＳトランジスタ７５，７６のゲートはワード線７７に結合されている。
【００７０】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００７１】
例えば、バッファメモリに格納されるプログラムはテスト又はデバッグ用プログラムに限定されず、ファイルデータの圧縮プログラム等であっても良い。また、この明細書においてメモリカードはその他の機能を排除する意味出はなく、少なくともファイルデータを記憶する機能を有すると言うことを意味しており、ＭＯＤＥＭ（モデム）やＴＡ（ターミナルアダプタ）等の通信用インタフェース機能、ＬＡＮ（ローカルエリアネットワーク）等のネットワーク機能、ヴィデオキャプチャー、音声認識などの機能を兼ね備えるものであってもよい。従って、そのような機能に利用されるプログラムをバッファメモリに格納するようにしてもよい。
【００７２】
また、前記プログラム兼用領域はバッファメモリの一部の記憶領域に限定されず、全体であってもよい。
【００７３】
また、前記コマンドやデータはシリアル信号に限定されず、パラレル信号であってもよい。
【００７４】
クラスタサイズは４セクタに限定されない。フラッシュメモリのメモリマット構成、管理テーブルを展開する内蔵ＳＲＡＭの記憶容量などによって、適宜決定することができる。
【００７５】
マイクロコンピュータは命令をフェッチして実行する機能を備えた論記回路ユニットを意味しており、必ずしも、マイクロコンピュータ単体で対応するＬＳＩの検証済み設計データを流用して構成されるもに限定されない。新たにカスタム設計された回路であってもよい。
【００７６】
また、前記メモリカードＬＳＩは１チップとして説明した。１チップにすることにより、マルチチップ構成に比べて動作の高速化と低消費電力を期待できる。
【図面の簡単な説明】
【００７７】
【図１】本発明に係るメモリカードの一例であるメモリカードＬＳＩのブロック図である。
【図２】メモリカードＬＳＩ毎に固有の前記カードセレクト信号を利用したデータ処理システムの一例を示すブロック図である。
【図３】コマンドに付随して送られてくるカードアドレスを利用するデータ処理システムの一例を示すブロック図である。
【図４】ホストインタフェース回路の一例を示すブロック図である。
【図５】ＲＯＭが保有するベクタ及びバッファＲＡＭのプログラム兼用領域をＣＰＵのアドレスマップと共に示した説明図である。
【図６】拡張プログラム実行状態の一例を示す説明図である。
【図７】バッファＲＡＭに外部から拡張プログラムを格納する第１の転送制御プログラムの実行状態を示す説明図である。
【図８】バッファＲＡＭにフラッシュメモリから拡張プログラムを格納する第２の転送制御プログラムの実行状態を示す説明図である。
【図９】バッファＲＡＭをデータバッファに利用してファイルデータをフラッシュメモリに書き込む時のデータの流れを示す説明図である。
【図１０】バッファＲＡＭをデータバッファに利用してファイルデータをフラッシュメモリから読み出す時のデータの流れを示す説明図である。
【図１１】バッファＲＡＭをデータバッファに利用してＣＰＵと外部との間でワークデータを入出力する時のデータの流れを示す説明図である。
【図１２】バッファＲＡＭをデータバッファに利用してＣＰＵとフラッシュメモリとの間でワークデータを入出力する時のデータの流れを示す説明図である。
【図１３】フラッシュメモリの情報記憶原理を示した説明図である。
【図１４】フラッシュメモリセルトランジスタを用いたメモリセルアレイの構成原理を示す回路図である。
【図１５】フラッシュメモリセルに対する消去動作及び書込み動作のための電圧条件の一例を示す説明図である。
【図１６】フラッシュメモリの一例を示すブロック図である。
【図１７】スタティックメモリセルの一例を示す回路図である。
【符号の説明】
【００７８】
１  メモリカードＬＳＩ
Ｖｃｃ  電源電圧
Ｖｓｓ  接地電圧
２  インタフェース制御回路
２Ａ  クロック信号
２Ｂ  コマンド
２Ｃ  データ
２Ｄ  カードセレクト信号
３  マイクロコンピュータ
４  フラッシュメモリ
５  リセット回路
６  クロック発振回路
７  バッファＲＡＭ
１１  ホストインタフェース回路
２０  コマンド入力レジスタ
２１  応答制御回路
２２  データ入力レジスタ
２３  データ出力レジスタ
２４  コマンドデコーダ
２６  制御ロジック回路
３０  ＣＰＵ
３２  割り込みコントローラ
ＮＭＩ  割り込み信号
７０  プログラム兼用領域
１００  ホスト装置
ＶＣＴ１，ＶＣＴ２，ＶＣＴ３  ベクタ
ＰＧＭ１、ＰＧＭ２，ＰＧＭ３  プログラム
３４０  ベクタテーブル
３４１  プログラム領域
【図１】
2006221677.tif 000003
【図２】
2006221677.tif 000004
【図３】
2006221677.tif 000005
【図４】
2006221677.tif 000006
【図５】
2006221677.tif 000007
【図６】
2006221677.tif 000008
【図７】
2006221677.tif 000009
【図８】
2006221677.tif 000010
【図９】
2006221677.tif 000011
【図１０】
2006221677.tif 000012
【図１１】
2006221677.tif 000013
【図１２】
2006221677.tif 000014
【図１３】
2006221677.tif 000015
【図１４】
2006221677.tif 000016
【図１５】
2006221677.tif 000017
【図１６】
2006221677.tif 000018
【図１７】
2006221677.tif 000019