(57)【要約】【課題】複数の読み出しモードに対応できるメモリシステムを提供すること。【解決手段】不揮発性半導体メモリ１１と、不揮発性半導体メモリ１１を制御するコントローラ１２とを備え、コントローラ１２は、不揮発性半導体メモリ１１を、第１読み出しモードで使用するか、及び第１読み出しモードよりもアクセス間隔が短い第２読み出しモードで使用するかのいずれかを選択する。【選択図】図１
2007115099.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性半導体メモリと、
前記不揮発性半導体メモリを制御するコントローラと、を備え、
前記コントローラは、前記不揮発性半導体メモリを、第１読み出しモードで使用するか、及び前記第１読み出しモードよりもアクセス間隔が短い第２読み出しモードで使用するかのいずれかを選択することを特徴とするメモリシステム。
【請求項２】
前記コントローラは、
このコントローラの制御タイミングを決定に利用されるシステムクロックを発生させるシステムクロック発生部を備え、
前記システムクロック発生部は、決定された読み出しモードに応じて、前記システムクロックの周波数を変更することを特徴とする請求項１に記載のメモリシステム。
【請求項３】
前記コントローラは、
前記不揮発性半導体メモリからの読み出しデータが入力される入力回路と、
前記不揮発性半導体メモリへの書き込みデータを出力する出力回路と、
前記入力回路、及び前記出力回路を制御する入出力制御回路と、を備え、
前記入出力制御回路は、前記入力回路をイネーブルするか、及び前記出力回路をイネーブルするかのいずれかを決定するアウトイネーブル信号を発生し、
前記入出力制御回路は、決定された読み出しモードに応じて、前記アウトイネーブル信号を、内部リードイネーブル信号の変化に従って切り換えるか、内部リードイネーブル信号以外の信号の変化に従って切り換えるかのいずれかを選択することを特徴とする請求項１に記載のメモリシステム。
【請求項４】
前記コントローラは、
前記不揮発性半導体メモリからの読み出しデータが入力される入力回路と、
前記入力回路に入力された読み出しデータを、システムクロックのエッジに応じて取り込む読み出しデータ取り込み回路と、を備え、
前記読み出しデータ取り込み回路は、決定された読み出しモードに応じて、前記読み出しデータを、前記システムクロックの立ち上がりエッジで取り込むか、及び前記システムクロックの立ち下がりエッジで取り込むかのいずれかを選択することを特徴とする請求項１に記載のメモリシステム。
【請求項５】
不揮発性半導体メモリと、
前記不揮発性半導体メモリを制御し、前記不揮発性半導体メモリを、第１読み出しモードで使用するか、及び前記第１読み出しモードよりもアクセス間隔が短い第２読み出しモードで使用するかを選択するコントローラと、
を具備することを特徴とする記録メディア。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、メモリシステムに係わり、特に、データの書き換えが可能な不揮発性半導体メモリと、これをコントロールするコントローラとを有するメモリシステム、及びそのメモリシステムを利用した記録メディアに関する。
【背景技術】
【０００２】
音楽データや映像データの記録メディアとして不揮発性半導体メモリ、例えば、フラッシュメモリを用いたメモリカードが使われている。メモリカードに使用されるフラッシュメモリの代表例は、ＮＡＮＤ型フラッシュメモリである。
【０００３】
メモリカードには、ＮＡＮＤ型フラッシュメモリと、これをコントロールするコントローラとを１つのカード内に搭載したものがある。このコントローラを、本明細書では、カードコントローラ（又はメモリコントローラ）と呼ぶ。メモリカードは、消費電流を少なくするため、カードコントローラとＮＡＮＤ型フラッシュメモリとを接続するＩＯ線（データライン）にプルアップ抵抗を接続しない。ＩＯ線にプルアップ抵抗を接続しなくてもＮＡＮＤ型フラッシュメモリにデータを書き込んだり、データを読み出したりできるように、カードコントローラがＩＯ線を制御する。例えば、カードコントローラは、書き込み時にＩＯ線にデータを出力し、また、読み出し時には、Ｉ／Ｏ線をフローティングにする。
【０００４】
現在のＮＡＮＤ型フラッシュメモリは、シリアル・リードモード（Serial Read Mode）でデータを出力する。このため、カードコントローラによるＩＯ線のタイミング制御は、シリアル・リードモードに合うように行われる。
【０００５】
ところで、近時、メモリカードを記録メディアとして使うホスト機器によっては、カードに記録すべきデータの量が膨大になるものが現れてきた。このため、ＮＡＮＤ型フラッシュメモリには、シリアル・リードモードよりも速い高速読み出しモードが要求されるようになってきている。高速読み出しモードでは、例えば、ＮＡＮＤ型フラッシュメモリへのアクセス間隔が短くなる。このため、カードコントローラによるＩＯ線のタイミング制御は、シリアル・リードモードと異なってしまう。故に、メモリカードは、読み出しモードに応じて多くの品種に分かれる。このような状況は、ユーザーにとっては不便である。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
この発明は、複数の読み出しモードに対応できるメモリシステム、及びそのメモリシステムを内蔵し、複数の読み出しモードに対応できる記録メディアを提供する。
【課題を解決するための手段】
【０００７】
この発明の第１態様に係るメモリシステムは、不揮発性半導体メモリと、前記不揮発性半導体メモリを制御するコントローラと、を備え、前記コントローラは、前記不揮発性半導体メモリを、第１読み出しモードで使用するか、及び前記第１読み出しモードよりもアクセス間隔が短い第２読み出しモードで使用するかを選択する。
【０００８】
この発明の第２態様に係る記録メディアは、不揮発性半導体メモリと、前記不揮発性半導体メモリを制御し、前記不揮発性半導体メモリを、第１読み出しモードで使用するか、及び前記第１読み出しモードよりもアクセス間隔が短い第２読み出しモードで使用するかを選択するコントローラと、を具備する。
【発明の効果】
【０００９】
この発明によれば、複数の読み出しモードに対応できるメモリシステム、及びそのメモリシステムを内蔵し、複数の読み出しモードに対応できる記録メディアを提供できる。
【発明を実施するための最良の形態】
【００１０】
以下、この発明の一実施形態を、図面を参照して説明する。なお、図面においては、同一の部分については同一の参照符号を付す。
【００１１】
図１は、この発明の一実施形態に係る記録メディアの一例を示す図である。本例では、記録メディアとして、フラッシュメモリを用いたメモリカードを例示する。また、本例では、メモリカードとして、フラッシュメモリと、これをコントロールするカードコントローラとを備えたメモリカードを例示する。
【００１２】
図１に示すように、メモリカード１は、バスインタフェース１４を介してホスト機器２と情報の授受を行う。メモリカード１は、ホスト機器２に設けられたスロットに対して挿抜可能に形成される。
【００１３】
メモリカード１は、フラッシュメモリチップ１１と、このフラッシュメモリチップ１１を制御するカードコントローラチップ（メモリコントローラチップ）１２、及び複数の信号ピン（第１ピン乃至第９ピン）１３を備える。フラッシュメモリチップ１１の一例は、ＮＡＮＤ型フラッシュメモリである。信号ピン１３は、カードコントローラチップ１２に電気的に接続されるピンで、メモリカード１の外部ピンとして働く。信号ピン１３における第１ピン乃至第９ピンに対する信号の割り当ての一例を、図２に示す。
【００１４】
図２に示すように、データ０乃至データ３は、第７ピン、第８ピン、第９ピン、及び第１ピンにそれぞれ割り当てられる。なお、第１ピンは、データ３だけでなく、カード検出信号に対しても割り当てられる。さらに、第２ピンはコマンドに割り当てられ、第３ピン、及び第６ピンは接地電位Ｖｓｓに、第４ピンは電源電位Ｖｄｄに、第５ピンはクロック信号に割り当てられる。
【００１５】
信号ピン１３、及びバスインタフェース１４は、ホスト機器２内のホストコントローラ（図示せず）とメモリカード１との通信に使用される。例えば、ホストコントローラは、第１ピン乃至第９ピンを介してメモリカード１内のカードコントローラ１２と各種信号、及びデータを通信する。例えば、メモリカード１にデータを書き込むときには、ホストコントローラは、書き込みコマンドを、第２ピンを介してカードコントローラチップ１２に送信する。このとき、カードコントローラチップ１２は、第５ピンに供給されているクロック信号に応答して、第２ピンに与えられる書き込みコマンドを取り込む。コマンドの入力に割り当てられる第２ピンは、データ３用の第１ピンと接地電位Ｖｓｓ用の第３ピンとの間に配置される。
【００１６】
これに対し、フラッシュメモリチップ１１とカードコントローラチップ１２との間の通信は、ＮＡＮＤ型フラッシュメモリ用のインタフェースを介して行われる。例えば、８ビットのＩＯ線（データライン）１５である。
【００１７】
カードコントローラチップ１２がフラッシュメモリチップ１１にデータを書き込むときには、カードコントローラチップ１２は、ＩＯ線１５を介してデータ入力コマンド８０ｈ、カラムアドレス、ページアドレス、データ、及びプログラムコマンド１０ｈをフラッシュメモリチップ１１に順次入力する。ここで、コマンド８０ｈの“ｈ”は１６進数を示すものであり、実際には“１０００００００”という８ビットの信号が、８ビットのＩＯ線１５にパラレルに与えられる。つまり、ＮＡＮＤ型フラッシュメモリ用のインタフェースでは、複数ビットのコマンドがパラレルに与えられる。また、ＮＡＮＤ型フラッシュメモリ用のインタフェースでは、フラッシュメモリチップ１１に対するコマンドと、データとが同じＩＯ線１５を共用して通信される。
【００１８】
このように、ホストコントローラとカードコントローラチップ１２とが通信するインタフェースと、フラッシュメモリ１１とカードコントローラチップ１２とが通信するインタフェースとは異なる。
【００１９】
図３は、一実施形態に係るメモリカードのハード構成の一例を示すブロック図である。
【００２０】
ホスト機器２は、メモリカード１に対してアクセスを行うためのハードウェア、及びソフトウェアを備える。メモリカード１は、ホスト機器２に接続された時に電源供給を受けて動作し、ホスト機器２からのアクセスに応じた処理を行う。
【００２１】
フラッシュメモリチップ１１は、消去時の消去ブロックサイズ（消去単位のブロックサイズ）が所定サイズ（例えば、２５６ｋＢ）に定められている。また、このフラッシュメモリ１チップ１１に対して、ページと称する単位（例えば、２ｋＢ）でデータの書き込み、及び読み出しが行われる。
【００２２】
カードコントローラチップ１２は、フラッシュメモリチップ１１内部の物理状態（例えば、何処の物理ブロックアドレスに、何番目の論理セクタアドレスデータが含まれているか、あるいは、何処のブロックが消去状態であるか）を管理する。カードコントローラチップ１２は、ホストインタフェース２１、ＭＰＵ（Micro processing unit）２２、フラッシュインタフェース２３、ＲＯＭ（Read-only memory）２４、ＲＡＭ（Random access memory）２５、バッファ２６、及びレジスタ群２７を有する。
【００２３】
ホストインタフェース２１は、カードコントローラチップ１２とホスト機器２との間のインタフェース処理を行う。
【００２４】
レジスタ群２７は、各種のレジスタを有する。レジスタ群２７の構成の一例を図４に示す。
【００２５】
図４に示すように、レジスタ部２７は、例えば、カードステータスレジスタ、及びＣＩＤ、ＲＣＡ、ＤＳＲ、ＣＳＤ、ＳＣＲ、ＯＣＲを含む。これらレジスタは、以下のように定義される。
【００２６】
カードステータスレジスタは、通常動作において使用され、例えば、エラー情報が記憶される。
【００２７】
ＣＩＤ、ＲＣＡ、ＤＳＲ、ＣＳＤ、ＳＣＲ、及びＯＣＲは、主にメモリカードの初期化時に使用される。
【００２８】
ＣＩＤ（Card identification number）には、メモリカード１の個体番号が記憶される。ＲＣＡ（Relative card address）には、相対カードアドレスが記憶される。相対カードアドレスは、初期化時にホスト機器２が決める。ＤＳＲ（Driver stage register）には、メモリカード１のバス駆動力等が記憶される。ＣＳＤ（Card specific data）には、メモリカード１の特性パラメータ値が記憶される。例えば、バージョン情報、性能識別コード、及び性能パラメータなどである。ＳＣＲ（SD configuration data register）には、メモリカード１のデータ配置が記憶される。ＯＣＲ（Operation condition resister）には、動作範囲電圧に制限のあるメモリカードの場合の動作電圧が記憶される。
【００２９】
ＭＰＵ２２は、メモリカード１全体の動作を制御する。ＭＰＵ２２は、例えば、メモリカード１が電源供給を受けたときに、ＲＯＭ２４に格納されているファームウェア（制御プログラム）をＲＡＭ２５上に読み出して所定の処理を実行することにより、各種のテーブルをＲＡＭ２５上に作成する。
【００３０】
また、ＭＰＵ２２は、書き込みコマンド、読み出しコマンド、消去コマンドをホスト機器２から受け取り、フラッシュメモリチップ１１に対して所定の処理を実行したり、バッファ２６を通じたデータ転送処理を制御したりする。
【００３１】
ＲＯＭ２４は、ＭＰＵ２２により制御される制御プログラムなどを格納する。ＲＡＭ２５は、ＭＰＵ２２の作業エリアとして使用され、制御プログラムや各種のテーブルを記憶する。フラッシュコントローラ２３は、カードコントローラチップ１２とフラッシュメモリチップ１１との間のインタフェース処理を行う。
【００３２】
バッファ２６は、ホスト機器２から送られてくるデータをフラッシュメモリチップ１１へ書き込む際に、一定量のデータ（例えば、１ページ分）を一時的に記憶したり、フラッシュメモリチップ１１から読み出されるデータをホスト機器２へ送り出す際に、一定量のデータを一時的に記憶したりする。図５に、フラッシュメモリチップ１１のデータ配置の一例を示す。
【００３３】
図５に示すように、フラッシュメモリチップ１１の各ページは、例えば、２１１２Ｂ（５１２Ｂ分のデータ記憶部×４＋１０Ｂ分の冗長部×４＋２４Ｂ分の管理データ記憶部）を有する。また、例えば、１２８ページ分が１つの消去単位（２５６ｋＢ＋８ｋＢ（ここで、ｋは１０２４））となる。１つの消去単位はブロックと呼ばれる。フラッシュメモリチップ１１の記憶容量が、例えば、１Ｇビットである場合、２５６ｋＢのブロック（消去単位）の数は５１２個となる。図５は、ブロックの記憶容量が２５６ｋＢである場合を示しているが、ブロックの記憶容量は、例えば、１６ｋＢとなるように構築することも実用上有効である。この場合、各ページは５２８Ｂ（５１２Ｂ分のデータ記憶部＋１６Ｂ分の冗長部）を有しており、３２ページ分が１つの消去単位（１６ｋＢ＋０．５ｋＢ）である。
【００３４】
フラッシュメモリチップ１１は、フラッシュメモリチップ１１へのデータ入出力を行うためのページバッファ１１Ａを備えている。ページバッファ１１Ａの記憶容量の一例は、２１１２Ｂ（２０４８Ｂ＋６４Ｂ）である。データ書き込みなどの際、ページバッファ１１Ａは、フラッシュメモリ１１に対するデータ入出力処理を、自身の記憶容量に相当する１ページ分の単位で実行する。図６に、フラッシュメモリチップ１１のデータ記憶領域の一例を示す。
【００３５】
図６に示すように、フラッシュメモリチップ１１のデータが書き込まれる領域（データ記憶領域）は、保存されるデータに応じて複数の領域に区分けされる。フラッシュメモリチップ１１は、データ記憶領域として、例えば、管理データ領域３１、機密データ領域３２、保護データ領域３３、及びユーザデータ領域３４を備える。
【００３６】
管理データ領域３１は、主にメモリカードに関する管理情報を格納する。管理データ量域３１は、例えば、メモリカード１のセキュリティ情報やメディアＩＤなどのカード情報を格納する。
【００３７】
機密データ領域３２は、暗号化に用いる鍵情報や認証時に使用する機密データを格納する。機密データ領域３２は、例えば、ホスト機器２からはアクセス不可能な領域である。
【００３８】
保護データ領域３３は、重要なデータを格納する。保護データ領域３３は、例えば、メモリカード１に接続されたホスト機器２との相互認証によりホスト機器２の正当性が証明された場合にのみアクセスが可能となる領域である。
【００３９】
ユーザデータ領域３４は、ユーザデータを格納する、ユーザデータ領域３４は、メモリカード１を使用するユーザーが自由にアクセス及び使用することが可能な領域である。
【００４０】
また、本例に係るメモリカード１は、動作モードとして、例えば、ＳＤモードと、ＳＰＩモードとを含む。さらに、ＳＤモードは、例えば、ＳＤ４ｂｉｔモードと、ＳＤ１ｂｉｔモードとに分かれる。動作モードに応じた信号ピンに対する信号の割り当ての一例を図７に示す。
【００４１】
図７に示すように、ＳＤモードにおいては、メモリカード１はホスト機器２からのバス幅変更コマンドによって、ＳＤ４ｂｉｔモード、又はＳＤ１ｂｉｔモードに設定される。
【００４２】
ここで、４つのデータ０ピン（ＤＡＴ０）乃至データ３ピン（ＤＡＴ３）に着目すると、４ビット幅単位でデータ転送を行うＳＤ４ｂｉｔモードでは、４つのデータ０ピン乃至データ３ピンの全てをデータ転送に用いる。
【００４３】
１ビット幅単位でデータ転送を行うＳＤ１ｂｉｔモードでは、データ０ピン（ＤＡＴ０）のみがデータ転送に使用され、データ１ピン（ＤＡＴ１）、データ２ピン（ＤＡＴ２）は使用しない。また、データ３ピン（ＤＡＴ３）は、例えば、メモリカード１９からホスト機器２への非同期割り込み等のために使用される。
【００４４】
ＳＰＩモードでは、データ０ピン（ＤＡＴ０）を、メモリカード１からホスト機器２へのデータ信号線（ＤＡＴＡ  ＯＵＴ）に用いる。コマンドピン（ＣＭＤ）はホスト機器２からメモリカード１９へのデータ信号線（ＤＡＴＡ  ＩＮ）に用いる。データ１ピン（ＤＡＴ１）、データ２ピン（ＤＡＴ２）は使用しない。また、ＳＰＩモードでは、データ３ピン（ＤＡＴ３）は、ホスト機器２からメモリカード１へのチップセレクト信号ＣＳの送信に用いる。
【００４５】
ホスト機器２は、ファイルシステムを搭載する。ファイルシステムは、メモリに記録されたファイル（データ）を管理する方式であり、メモリに設けられた管理領域や管理情報を示す。また、ファイルシステムには、メモリにおけるファイルやフォルダなどのディレクトリ情報の作成方法、ファイルやフォルダなどの移動方法や削除方法、データの記録方式、管理領域の場所や利用方法などが定められる。
【００４６】
さらに、本形態は、以下の構成を含む。
【００４７】
図３に示すカードコントローラ１２は、フラッシュメモリチップ１１を、第１読み出しモードで使用するか、及び第１読み出しモードよりもアクセス間隔が短い第２読み出しモードで使用するかのいずれかを選択する。そして、本例では、カードコントローラ１２のフラッシュインタフェース２３が、選択された読み出しモードに応じて、例えば、ＩＯ線１５のタイミング制御を、第１読み出しモード、又は第２読み出しモードに合うように変更する。この変更は、読み出しモード切り換え信号ＲＥ_ＳＥＬに応じて決定される。
【００４８】
第１読み出しモードの一例は、シリアル・リードモード（Serial Read Mode、以下ＳＲモードと略す）である。また、第２読み出しモードは、第１読み出しモードよりもアクセス間隔が短い読み出しモードである。アクセス間隔が短い、という事項の一例は、リードサイクル時間ｔＲＣが短い読み出しモードである。リードサイクル時間ｔＲＣが短い読み出しモードの一例は、例えば、第１読み出しモードをＳＲモードとしたときには、例えば、エクステンディッド・データ・アウトモード（Extended Data Out Mode、以下ＥＤＯモードと略す）である。ＳＲモードの動作波形の一例を図８Ａに、ＥＤＯモードの動作波形の一例を図８Ｂに示す。なお、図８Ａ、及び図８Ｂにはリードイネーブル信号/ＲＥ、ＩＯ線ＩＯ、レディ／ビジー信号ＲＹ／/ＢＹのみを示す。
【００４９】
図８Ａ、及び図８Ｂに示すように、ＥＤＯモードのリードサイクル時間ｔＲＣＳは、ＳＲモードのリードサイクル時間ｔＲＣよりも短くすることができる。故に、ＥＤＯモードは、ＳＲモードよりもアクセス間隔を短くすることができる。ＥＤＯモードにおけるリードサイクル時間ｔＲＣＳの一例は、例えば、温度０〜７０℃、電源電圧２．７Ｖ〜３．６Ｖの動作条件のとき、３０ｎｓ（最小）である。対して、ＳＲリードモードにおけるリードサイクル時間ｔＲＣの一例は、同じ動作条件のとき、５０ｎｓ(最小)である。
【００５０】
リードサイクル時間ｔＲＣＳは、リードサイクル時間ｔＲＣよりも短くできるので、リードイネーブルアクセス時間ｔＲＥＡＳ、リードパルス幅ｔＲＰＳ、リードイネーブル“Ｈ”レベル保持時間ｔＲＨＳについては以下のようになる。ＳＲモードの場合とＥＤＯモードの場合とを比較して示す。なお、動作条件は、上記の通りである。
【００５１】
・リードサイクル時間
ＳＲモード  ：ｔＲＥＡ  ＝３５ｎｓ（最大）ただし、負荷は１００ｐＦ
ＥＤＯモード：ｔＲＥＡＳ＝２５ｎｓ（最大）ただし、負荷は５０ｐＦ
・リードパルス幅
ＳＲモード  ：ｔＲＰ    ＝３５ｎｓ（最小）
ＥＤＯモード：ｔＲＰＳ  ＝１５ｎｓ（最小）
・リードイネーブル“Ｈ”レベル保持時間
ＳＲモード  ：ｔＲＥＨ  ＝１５ｎｓ（最小）
ＥＤＯモード：ｔＲＨＳ  ＝１５ｎｓ（最小）
また、データ出力保持時間ｔＲＬＯＨ、ｔＯＨは、次のようになる。動作条件は、上記の通りである。
【００５２】
・データ出力保持時間
ＳＲモード  ：ｔＯＨ    ＝１０ｎｓ（最小）
ＥＤＯモード：ｔＲＬＯＨ＝  ５ｎｓ（最小）
なお、信号ＲＹ／/ＢＹがレディになってからリードイネーブル信号/ＲＥが立ち下がるまでの時間ｔＲＲは、例えば、ＳＲモード、及びＥＤＯモードとも同じで良い。例えば、動作条件を上記の通りとしたとき、２０ｎｓ（最小）である。
【００５３】
ＳＲモードは、データを出力した後、リードイネーブル信号/ＲＥが立ち上がると、ＩＯ線をハイインピーダンスにする。信号/ＲＥが立ち上がってからＩＯ線がハイインピーダンスになるまでの時間ｔＲＨＺは、例えば、動作条件を上記の通りとしたとき、３０ｎｓ（最大）である。また、ＳＲモードは、ＳＲチップイネーブル信号/ＣＥが立ち上がった場合にもＩＯ線をハイインピーダンスにする。信号/ＣＥが立ち上がってからＩＯ線がハイインピーダンスになるまでの時間ｔＣＨＺは、例えば、動作条件を上記の通りとしたとき、２０ｎｓ（最大）である。これらの動作波形の一例を図９Ａに示す。
【００５４】
対して、ＥＤＯモードは、データを出力した後、リードイネーブル信号/ＲＥが立ち上がっても、ＩＯ線をハイインピーダンスにしない。ＥＤＯモードは、図８Ｂ中の参照符号１００に示すように、読み出し動作の間は、リードイネーブル信号/ＲＥが立ち下がるまでデータを保持し続ける。ＥＤＯモードにおいて、ＩＯ線をハイインピーダンスとするのは、下記のときである。
【００５５】
（１）  コマンドラッチイネーブル信号ＣＬＥが立ち上がったとき
（２）  ライトイネーブル信号/ＷＥが立ち下がったとき
（３）  アドレスラッチイネーブル信号ＡＬＥが立ち上がったとき
（４）  チップイネーブル信号/ＣＥが立ち上がったとき
ＥＤＯモードでは、信号ＣＬＥが立ち上がってからＩＯ線がハイインピーダンスになるまで、又は信号/ＷＥが立ち下がってからＩＯ線がハイインピーダンスになるまで、又は信号ＡＬＥが立ち上がってからＩＯ線がハイインピーダンスになるまでの時間を、それぞれ時間ｔＲＨＺとする。ＥＤＯモードにおける時間ｔＲＨＺは、例えば、動作条件を上記の通りとしたとき、３０ｎｓ（最大）である。また、ＥＤＯモードにおいても、チップイネーブル信号/ＣＥが立ち上がった場合にはＩＯ線をハイインピーダンスにする。信号/ＣＥが立ち上がってからＩＯ線がハイインピーダンスになるまでの時間ｔＣＨＺは、例えば、動作条件を上記の通りとしたとき、２０ｎｓ（最大）である。これらの動作波形の一例を図９Ｂに示す。
【００５６】
以上説明したように、第１読み出しモード、及び第２読み出しモード、本例では、ＳＲモード、及びＥＤＯモードでは、リードサイクル時間ｔＲＣ、及びＥＤＯモードのリードサイクル時間ｔＲＣＳが、互いに異なる場合がある。この場合には、読み出しモードに応じて、カードコントローラ内で使用されるシステムクロックの周波数を変えなければならない。システムクロックの周波数を変える場合には、カードコントローラ１２に与えられる外部クロック自体の周波数を、ＳＲモードの場合とＥＤＯモードの場合とで変えるようにしても良い。しかし、本例では、カードコントローラ１２の内部で、システムクロックの周波数変換を行う。これにより、本例では、カードコントローラチップ１２を、ＳＲモードとＥＤＯモードとの双方に対応できるようにする。システムクロックの周波数変換を、カードコントローラ１２の内部で行う場合の構成の一例を図１０に示す。なお、図１０においては、図３に示したＭＰＵ２２、ＲＯＭ２４、ＲＡＭ２５、及びレジスタ群２７の図示は省略する。
【００５７】
図１０に示すように、本例に係るカードコントローラ１２は、システムクロック発生部３０を有する。本例のシステムクロック発生部３０は、外部クロックＣＬＫを受け、システムクロックＳＹＳ_ＣＬＫを発生させる。システムクロックＳＹＳ_ＣＬＫは、カードコントローラチップ１２の制御タイミングの計測に利用され、その制御タイミングの決定に利用される。本例のシステムクロック発生部３０は、決定された読み出しモードに応じて、システムクロックＳＹＳ_ＣＬＫの周波数を変更する。このために、本例のシステムクロック発生部３０は、周波数変換回路を含む。周波数変換回路の一例を図１１に示す。
【００５８】
図１１に示すように、周波数変換回路３０１は、読み出しモード切り換え信号ＲＥ_ＳＥＬに応じて、外部クロックＣＬＫの周波数を変換して、システムクロックＳＹＳ_ＣＬＫを出力する。本例では、読み出しモード切り換え信号ＲＥ_ＳＥＬが“０”のとき、システムクロックＳＹＳ_ＣＬＫの周波数を、ＳＲモードに応じたものとし、読み出しモード切り換え信号ＲＥ_ＳＥＬが“１”のとき、システムクロックＳＹＳ_ＣＬＫの周波数を、ＥＤＯモードに応じたものとする。周波数変換回路３０１の一例としては、例えば、ＰＬＬ（Phase Locked Loop）回路を使うことができる。また、外部クロックＣＬＫの発振源としては、ＣＲ発振回路、発信器、水晶発振子などを使うことができる。周波数変換の例を図１２Ａ〜図１２Ｃに示す。
【００５９】
図１２Ａ、図１２Ｂは、ＳＲモードの例を示す。図１２Ａに示す例は、１サイクル＝７０ｎｓでデューティが“Ｌｏｗ＝１／２、Ｈｉｇｈ＝１／２”の例である。図１２Ｂに示す例は、１サイクル５０ｎｓでデューティが“Ｌｏｗ＝２／３、Ｈｉｇｈ＝１／３”の例である。どちらでも、ＳＲモードに対応することができる。
【００６０】
図１２Ｃは、ＥＤＯモードの例を示す。図１２Ｃに示す例は、１サイクル＝３０ｎｓでデューティが“Ｌｏｗ＝１／２、Ｈｉｇｈ＝１／２”の例である。これで、ＥＤＯモードに対応することができる。
【００６１】
本例によれば、システムクロック発生部３０は、決定された読み出しモードに応じて、システムクロックＳＹＳ_ＣＬＫの周波数を変更する。よって、第１読み出しモード（本例では、ＳＲモード）のリードサイクル時間ｔＲＣと、第２読み出しモード（本例では、ＥＤＯモード）のリードサイクル時間ｔＲＣＳとが異なる場合においても、カードコントローラチップ１２を、第１読み出しモードと第２読み出しモードとの双方に対応させることが可能である。
【００６２】
さらに、第１読み出しモード、及び第２読み出しモード、本例では、ＳＲモード、及びＥＤＯモードとでは、ＩＯ線のタイミング制御が異なる場合がある。
【００６３】
例えば、読み出し時に、フラッシュメモリチップ１１がＩＯ線１５に出力した読み出しデータを、カードコントローラ１２内のバッファ２６に取り込むタイミングや、ＩＯ線１５をアクティブにしたり、ハイインピーダンスにしたりするタイミングである。
【００６４】
本例では、カードコントローラチップ１２が、第１読み出しモード、及び第２読み出しモードに応じて、ＩＯ線１５のタイミング制御を変える。カードコントローラチップ１２とＮＡＮＤ型フラッシュメモリチップ１１との接続の一例を図１３に示す。
【００６５】
図１３に示すように、カードコントローラチップ１２は、フラッシュインタフェース２３を介してフラッシュメモリチップ１１に接続される。
【００６６】
フラッシュインタフェース２３は、フラッシュメモリチップ１１に、各種制御信号を与えるとともに、ＩＯ線１５を介してデータをやりとりする。図１３では、制御信号のうち、チップイネーブル信号/ＣＥ、コマンドラッチイネーブル信号ＣＬＥ、ライトイネーブル信号/ＲＥ、アドレスラッチイネーブル信号ＡＬＥ、リードイネーブル信号/ＲＥを示す。これら制御信号は、例えば、フラッシュインタフェース２３から出力され、フラッシュメモリチップ１１の、例えば、ロジック制御回路４０に入力される。ロジック制御回路４０は、入力された制御信号に従って、フラッシュメモリチップ１１を制御する。フラッシュメモリチップ１１のＮＡＮＤ側入出力回路４１は、ＩＯ線１５を介して、フラッシュインタフェース２３の内部に設けられたインタフェース側入出力回路４２に接続される。インタフェース側入出力回路４２は、入力回路４３、及び出力回路４４を含む。入力回路４３、及び出力回路４４は、ＩＯ線１５に接続され、入出力制御回路４５によって制御される。
【００６７】
本例の入出力制御回路４５は、フラッシュインタフェース２３の内部に設けられる。そして、本例の入出力制御回路４５は、読み出しモード切り換え信号ＲＥ_ＳＥＬ、ライトアクセス時のイネーブル信号ＷＥ_ＧＴ、チップイネーブル信号/ＣＥのコントローラ内部信号（内部チップイネーブル信号）ＣＥ_Ｌ、システムクロックＳＹＳ_ＣＬＫ、及びリードイネーブル信号/ＲＥのコントローラ内部信号（内部リードイネーブル信号）ＲＥ_ＥＮに従って、アウトプットイネーブル信号ＯＥ_Ｌを出力する。本例では、アウトプットイネーブル信号ＯＥ_Ｌが、入力回路４３、及び出力回路４４を制御する。入出力制御回路４５は、入力回路４３、及び出力回路４４を制御することで、ＩＯ線１５をアクティブにしたり、ハイインピーダンスにしたりするタイミングを制御する。入出力制御回路４５の回路構成の一例を図１４に示す。なお、その動作は後述する。
【００６８】
さらに、図１３に示すように、フラッシュインタフェース２３は、データ取り込み回路４６を有する。データ取り込み回路４６は、入力回路４３に入力されたデータ、即ち、フラッシュメモリチップ１１から出力された読み出しデータＤＴ_ＩＮを、バッファ２６に出力するタイミングを制御する。本例のデータ取り込み回路４６は、内部リードイネーブル信号ＲＥ_ＥＮ、データを取り込むタイミングを決定するクロック信号ＲＥ_ＣＬＫ、及び読み出しモード切り換え信号ＲＥ_ＳＥＬに従って、読み出しデータＤＴ_ＩＮを、バッファ２６に出力するタイミングを制御する。即ち、データ取り込み回路４６は、フラッシュメモリチップ１１がＩＯ線１５に出力した読み出しデータを、カードコントローラ１２内のバッファ２６に取り込むタイミングを制御する。データ取り込み回路４６から出力されたデータＲＥ_ＤＴはバッファ２６へ出力される。データ取り込み回路４６の回路の一例を図１５に示す。
【００６９】
次に、本例のフラッシュインタフェース２３の動作の一例を説明する。
【００７０】
図１６はフラッシュインタフェース２３のＳＲモード時における動作波形の一例を示す動作波形図、図１７は同じくＥＤＯモード時における動作波形の一例を示す図である。
【００７１】
（ＳＲモード）
ＳＲモードに従ったデータの読み出しは、ステート信号Ｃ_ＳＴが“ＤＡＴＡ_ＩＮ”ステートのときに、リードイネーブル信号/ＲＥが立ち下がると開始される。そして、本例では、ＳＲモードは、読み出しモード切り換え信号ＲＥ_ＳＥＬが“０（＝Ｌｏｗ）”のときにアサートされる。
【００７２】
図１６に示すように、ステート信号Ｃ_ＳＴが“ＤＡＴＡ_ＩＮ”ステートになると、信号ＲＥ_ＥＮが“０（＝Ｌｏｗ）”から“１（＝Ｈｉｇｈ）”となる（時刻ｔ１）。その後、リードイネーブル信号/ＲＥから“１（＝Ｈｉｇｈ）”が“０（＝Ｌｏｗ）”となり、フラッシュメモリチップ１１からＩＯ線１５に読み出しデータＤｏｕｔ１が出力される。このとき、図１４に示すインタフェース側入出力制御回路４５は次のように動作する。
【００７３】
モード切り換え信号ＲＥ_ＳＥＬは“０”である。入出力制御回路４５のセレクタ５０は、信号ＲＥ_ＳＥＬに従って０入力を選択する。０入力が選択されるので、信号ＲＥ_ＥＮはセレクタ５１に出力される。セレクタ５１は、ＯＲゲート回路５６の出力に従って０入力、又は１入力を選択する。ＯＲゲート回路５６は、ＯＲゲート回路５２の出力、及び信号ＲＥ_ＳＥＬの反転信号を受ける。信号ＲＥ_ＳＥＬは“０”であるから、その反転信号は“１”である。従って、ＯＲゲート回路５６は、ＯＲゲート回路５２の出力に関わらず“１”を出力する。ＯＲゲート回路５６の出力が“１”であるから、セレクタ５１は、ＳＲモードの間、１入力を選択し続ける。
【００７４】
セレクタ５１は１入力を選択するので、信号ＲＥ_ＥＮはフリップフロップ回路５３に入力される。フリップフロップ回路５３は、システムクロックＳＹＳ_ＣＬＫの立ち上がりに従って入力された信号を出力する。フリップフロップ回路５３の出力はアウトプットイネーブル信号ＯＥ_Ｌである。信号ＯＥ_Ｌは“１（＝Ｈｉｇｈ）”となる。信号ＯＥ_Ｌが“１”となるので、入出力制御回路４５は、入力回路４３をイネーブルし、出力回路４４をデッセーブルする（時刻ｔ２）。
【００７５】
このように、ＳＲモードでは、入出力制御回路４５は、信号ＲＥ_ＥＮが“０”から“１”に変化することで、入力回路４３をイネーブルし、入出力回路４２のモードを“入力”とする。
【００７６】
入出力回路４２のモードが“入力”であるので、ＩＯ線１５に出力されているデータＤｏｕｔ１は入力回路４３を介してデータＤＴ_ＩＮとしてデータ取り込み回路４６に入力される。このとき、図１５に示すデータ取り込み回路４６は次のように動作する。
【００７７】
データ取り込み回路４６のセレクタ６０は、信号ＲＥ_ＥＮに従って１入力を選択する。１入力が選択されるので、データＤＴ_ＩＮは、フリップフロップ回路６１に入力される。
【００７８】
また、セレクタ６２は、信号ＲＥ_ＳＥＬに従って０入力を選択する。０入力が選択されるので、クロック信号ＲＥ_ＣＬＫがクロック信号ＲＤ_ＣＬＫとして、フリップフロップ回路６１に入力される。フリップフロップ回路６１は、クロック信号ＲＤ_ＣＬＫの立ち上がりに従って入力されたデータＤＴ_ＩＮを、データＲＥ_ＤＴとして出力する。この後、フリップフロップ回路６１は、クロック信号ＲＤ_ＣＬＫが立ち上がる毎に入力されたデータＤＴ_ＩＮをデータＲＥ_ＤＴとして出力する。
【００７９】
ＳＲモードでは、図１６に示すように、クロック信号ＲＤ_ＣＬＫが、システムクロックＳＹＳ_ＣＬＫの立ち上がりに同期して立ち上がる。さらに、本例では、リードイネーブル信号/ＲＥが、システムクロックＳＹＳ_ＣＬＫの立ち上がりに同期して立ち上がる。従って、ＳＲモードでは、システムクロックＳＹＳ_ＣＬＫの立ち上がり、又はリードイネーブル信号/ＲＥの立ち上がり、又はシステムクロックＳＹＳ_ＣＬＫ、及びリードイネーブル信号/ＲＥの双方の立ち上がりに同期して、データＤＴ_ＩＮがバッファ２６に取り込まれる。
【００８０】
読み出しが終了し、信号ＲＥ_ＥＮが“１”から“０”になると、システムクロックＳＹＳ_ＣＬＫの１サイクル後に、信号ＯＥ_Ｌは“１”から“０”になる。入出力制御回路４５は、入力回路４３をデッセーブルし、出力回路４４をイネーブルする（時刻ｔ３）。
【００８１】
このように、ＳＲモードでは、入出力制御回路４５は、信号ＲＥ_ＥＮが“１”から“０”に変化することで、出力回路４４をイネーブルし、入出力回路４２のモードを“出力”とする。
【００８２】
（ＥＤＯモード）
ＥＤＯモードに従ったデータの読み出しは、ＳＲモードと同様に、ステート信号Ｃ_ＳＴが“ＤＡＴＡ_ＩＮ”ステートのときに、リードイネーブル信号/ＲＥが立ち下がると開始される。本例では、ＥＤＯモードは、読み出しモード切り換え信号ＲＥ_ＳＥＬが“１（＝Ｈｉｇｈ）”のときにアサートされる。
【００８３】
図１７に示すように、ステート信号Ｃ_ＳＴが“ＤＡＴＡ_ＩＮ”ステートになると、信号ＲＥ_ＥＮが“０（＝Ｌｏｗ）”から“１（＝Ｈｉｇｈ）”となる（時刻ｔ１）。その後、リードイネーブル信号/ＲＥから“１（＝Ｈｉｇｈ）”が“０（＝Ｌｏｗ）”となり、フラッシュメモリチップ１１からＩＯ線１５に読み出しデータＤｏｕｔ１が出力される。このとき、図１４に示すインタフェース側入出力制御回路４５は次のように動作する。
【００８４】
モード切り換え信号ＲＥ_ＳＥＬは“１”である。セレクタ５０は、信号ＲＥ_ＳＥＬに従って１入力を選択する。信号ＷＥ_ＧＴ、ＣＥ_Ｌ、及びＲＥ_ＥＮは、アクセスされていないとき、“ＷＥ_ＧＴ＝１（＝Ｈｉｇｈ）”、“ＣＥ_Ｌ＝１（＝Ｈｉｇｈ）”、“ＲＥ_ＥＮ＝０（＝Ｌｏｗ）”である。信号ＷＥ_ＧＴ、ＣＥ_Ｌ、及びＲＥ_ＥＮは、アクセスされる、本例ではリードモードになると、それぞれ“ＷＥ_ＧＴ＝０（＝Ｌｏｗ）”、“ＣＥ_Ｌ＝０（＝Ｌｏｗ）”、“ＲＥ_ＥＮ＝１（＝Ｈｉｇｈ）”に変化する。ＮＯＲゲート回路５４は、“ＷＥ_ＧＴ＝０”、“ＣＥ_Ｌ＝０”であるので、“１”を出力する。ＡＮＤゲート回路５５は、“ＮＯＲゲート回路５４の出力＝１”、“ＲＥ_ＥＮ＝１”であるので、“１”を出力する。ＯＲゲート回路５２は、“ＷＥ_ＧＴ＝０”、“ＣＥ_Ｌ＝０”、“ＲＥ_ＥＮ＝１”であるので、“１”を出力する。ＯＲゲート回路５６は、信号ＲＥ_ＳＥＬが“１”であるから、その反転信号を受けることで、その出力を、ＯＲゲート回路５２の出力に従って変化させる。今、ＯＲゲート回路５２の出力は“１”であるから、ＯＲゲート回路５６は“１”を出力する。セレクタ５１は１入力を選択する。
【００８５】
セレクタ５１が１入力を選択することで、信号ＲＥ_ＥＮはフリップフロップ回路５３に入力される。フリップフロップ回路５３は、システムクロックＳＹＳ_ＣＬＫの立ち上がりに従って入力された信号を出力する。フリップフロップ回路５３の出力はアウトプットイネーブル信号ＯＥ_Ｌである。信号ＯＥ_Ｌは“１（＝Ｈｉｇｈ）”となる。信号ＯＥ_Ｌが“１”となるので、入出力制御回路４５は、入力回路４３をイネーブルし、出力回路４４をデッセーブルする（時刻ｔ２）。
【００８６】
このように、ＥＤＯモードでは、入出力制御回路４５は、信号ＲＥ_ＥＮが“０”から“１”に変化することで、入力回路４３をイネーブルし、入出力回路４２のモードを“入力”とする。
【００８７】
入出力回路４２のモードが“入力”であるので、ＩＯ線１５に出力されているデータＤｏｕｔ１は入力回路４３を介してデータＤＴ_ＩＮとしてデータ取り込み回路４６に入力される。このとき、図１５に示すデータ取り込み回路４６は次のように動作する。
【００８８】
データ取り込み回路４６のセレクタ６０は、信号ＲＥ_ＥＮに従って１入力を選択する。１入力が選択されるので、データＤＴ_ＩＮは、フリップフロップ回路６１に入力される。
【００８９】
また、セレクタ６２は、信号ＲＥ_ＳＥＬに従って１入力を選択する。１入力が選択されるので、クロック信号ＲＥ_ＣＬＫの反転信号がクロック信号ＲＤ_ＣＬＫとして、フリップフロップ回路６１に入力される。フリップフロップ回路６１は、クロック信号ＲＤ_ＣＬＫの立ち上がりに従って入力されたデータＤＴ_ＩＮを、データＲＥ_ＤＴとして出力する。この後、フリップフロップ回路６１は、クロック信号ＲＤ_ＣＬＫが立ち上がる毎に入力されたデータＤＴ_ＩＮをデータＲＥ_ＤＴとして出力する。
【００９０】
ＥＤＯモードでは、図１７に示すように、クロック信号ＲＤ_ＣＬＫが、ＳＲモードの場合とは反対にシステムクロックＳＹＳ_ＣＬＫの立ち下がりに同期して立ち上がる。また、ＥＤＯモードにおいても、ＳＲモードと同様に、リードイネーブル信号/ＲＥは、システムクロックＳＹＳ_ＣＬＫの立ち上がりに同期して立ち上がる。従って、ＥＤＯモードでは、システムクロックＳＹＳ_ＣＬＫの立ち下がり、又はリードイネーブル信号/ＲＥの立ち下がり、又はシステムクロックＳＹＳ_ＣＬＫ、及びリードイネーブル信号/ＲＥの双方の立ち下がりに同期して、データＤＴ_ＩＮがバッファ２６に取り込まれる。
【００９１】
読み出しが終了し、信号ＲＥ_ＥＮが“１”から“０”になると、ＯＲゲート回路５２の出力は“１”から“０”に変わる。これを受けて、ＯＲゲート回路５６は、その出力を“１”から“０”に変化させる。今、ＯＲゲート回路５２の出力は“０”であるから、ＯＲゲート回路５６は“０”を出力する。セレクタ５１は０入力を選択する。
【００９２】
セレクタ５１が０入力を選択することで、フリップフロップ５３には、フリップフロップ５３自身の出力が入力される。即ち、信号ＯＥ_Ｌは“１”を維持する。
【００９３】
このように、ＥＤＯモードでは、信号ＲＥ_ＥＮ“１”から“０”になっても、信号ＯＥ_Ｌを“０”とせず、“１”を維持する。これは、信号ＲＥ_ＥＮが“１”から“０”になった後、ＳＲモードと同様に、システムシステムクロックＳＹＳ_ＣＬＫの１サイクル後に信号ＯＥ_Ｌを“１”から“０”に変化させてしまうと、データがＩＯ線１５上でコンフリクトしてしまうからである。例えば、本例では、データＤｏｕｔ４と、カードコントローラチップ１２からフラッシュメモリチップ１１へ与える出力データＤｉｎとがコンフリクトする。従って、本例では、信号ＲＥ_ＥＮ“１”から“０”になっても、信号ＯＥ_Ｌを“０”とせず、“１”を維持する。
【００９４】
ＥＤＯモードのとき、信号ＯＥ_Ｌが“１”から“０”に変化するのは、信号ＣＥ_Ｌがイネーブルになった後（例えば、“０”から“１”に変化）、又は信号ＷＥ_ＧＴがイネーブルになった後（例えば、“０”から“１”に変化）である。信号ＣＥ_Ｌ、又は信号ＷＥ_ＧＴの少なくとも一方が“１”になると、ＯＲゲート回路５２の出力は“０”から“１”に変わる。これを受けて、ＯＲゲート回路５６は、その出力を“０”から“１”に変化させる。今、ＯＲゲート回路５２の出力は“１”であるから、ＯＲゲート回路５６は“１”を出力する。セレクタ５１は１入力を選択する。
【００９５】
ＡＮＤゲート回路５５は、信号ＲＥ_ＥＮが“０”、又はＮＯＲゲート回路５４の出力が“０”であるから、“０”を出力する。セレクタ５１は１入力を選択しているから、フリップフロップ回路５３は、システムクロックＳＹＳ_ＣＬＫの立ち上がりに従って、ＡＮＤゲート回路５５の出力“０”を出力する。つまり、信号ＣＥ_Ｌ、及び信号ＷＥ_ＧＴの少なくとも一方が“０”から“１”になると、システムクロックＳＹＳ_ＣＬＫの１サイクル後に、信号ＯＥ_Ｌは“１”から“０”になる。入出力制御回路４５は、入力回路４３をデッセーブルし、出力回路４４をイネーブルする（時刻ｔ３、図１７においては、信号ＣＥ_Ｌが“０”から“１”になった場合を示す）。
【００９６】
このように、ＥＤＯモードでは、入出力制御回路４５は、信号ＣＥ_Ｌ、及び信号ＷＥ_ＧＴの少なくとも一方が“０”から“１”に変化することで、出力回路４４をイネーブルし、入出力回路４２のモードを“出力”とする。
【００９７】
なお、信号ＷＥ_ＧＴは、信号/ＷＥがイネーブル、例えば、“/ＷＥ＝０（＝Ｌｏｗ）”になったときだけでなく、信号/ＣＥ、ＣＬＥ、ＡＬＥの各信号がイネーブルになったときにも、イネーブルとなる信号である。信号/ＣＥは、例えば、“/ＣＥ＝０（＝Ｌｏｗ）”のときにイネーブル、信号ＣＬＥは、例えば、“ＣＬＥ＝１（＝Ｈｉｇｈ）”のときにイネーブル、信号ＡＬＥは、例えば、“ＡＬＥ＝１（＝Ｈｉｇｈ）”のときにイネーブルである。
【００９８】
このように、本例のカードコントローラチップ１２は、第１読み出しモード、及び第２読み出しモードに応じて、ＩＯ線１５のタイミング制御を変える。従って、カードコントローラチップ１２を、第１読み出しモードと第２読み出しモードとの双方に、本例では、ＳＲモードとＥＤＯモードとの双方に対応させることが可能である。
【００９９】
具体的には、ＳＲモードのとき、カードコントローラチップ１２の入出力制御回路４５は、信号ＲＥ_ＥＮがイネーブルになったことを受けて、入出力回路４２のモードを“入力”に切り換える。そして、信号ＲＥ_ＥＮがデッセーブルになったことを受けて、入出力回路４２のモードを“出力”に切り換える。
【０１００】
また、ＥＤＯモードのとき、入出力制御回路４５は、信号ＲＥ_ＥＮがイネーブルになったことを受けて、入出力回路４２のモードを“入力”に切り換える。これは、ＳＲモードと同様である。そして、ＳＲモードとは異なり、信号ＣＥ_Ｌ、及びＷＥ_ＧＴの少なくとも一方がイネーブルになったことを受けて、入出力回路４２のモードを“出力”に切り換える。そのために、本例では、信号ＯＥ_Ｌを出力するフリップフロップ５３に、自身の出力を自身の入力に帰還させる帰還パス５７を持つ。さらに、信号ＲＥ_ＥＮがデッセーブルになった後でも、信号ＲＥ_ＥＮ以外の信号、例えば、信号ＣＥ_Ｌ、及びＷＥ_ＧＴの少なくとも一方がイネーブルになるまで帰還パス５７を有効とし、信号ＣＥ_Ｌ、及びＷＥ_ＧＴの少なくとも一方がイネーブルになると、帰還パス５７を無効とする帰還パス制御回路５８を持つ。本例の帰還パス制御回路５８はＯＲゲート回路５２、５６を含む。また、この帰還パス制御回路５７は、ＳＲモードの間においては、帰還パス５７を無効とし続ける。
【０１０１】
本例の入出力制御回路４５は、帰還パス５７、及び帰還パス５７を制御する帰還パス制御回路５８を含むことで、ＳＲモード、及びＥＤＯモードの双方に対応することができる。
【０１０２】
次に、ＳＲモード、及びＥＤＯモードの切り換えの一例を説明する。
【０１０３】
本例のカードコントローラチップ１２は、フラッシュメモリチップ１１を、ＳＲモードで動作させるか、ＥＤＯモードで動作させるかを制御することが可能である。モード切り換え制御の一例を図１８に示す。
【０１０４】
図１８に示すように、カードコントローラチップ１２は、第２読み出しモード、本例では、ＥＤＯモードをエントリーするＥＤＯモードエントリーコマンド“Ｂ１ｈ”を発行する。フラッシュメモリチップ１１は、コマンド“Ｂ１ｈ”を受信すると、ＳＲモードに代えてＥＤＯモードで動作する。反対に発行されない場合には、フラッシュメモリチップ１１は、ＳＲモードで動作する。
【０１０５】
さらに、カードコントローラチップ１２は、エントリーされたＥＤＯモードを解除することもできる。解除するときには、カードコントローラチップ１２は、ＥＤＯモード解除コマンド“ＦＦｈ”を発行する。フラッシュメモリチップ１１は、コマンド“ＦＦｈ”を受信すると、ＥＤＯモードに代えてＳＲモードで動作する。
【０１０６】
また、本例のフラッシュメモリチップ１１は、電源投入後、ＥＤＯエントリーコマンド“Ｂ１ｈ”を受信するまで、ＳＲモードで動作する。
【０１０７】
このように、本例のカードコントローラチップ１２は、フラッシュメモリチップ１１を、ＳＲモードで動作させるか、ＥＤＯモードで動作させるかを制御することが可能である。この制御は、例えば、読み出しモード切り換え信号ＲＥ_ＳＥＬに従って行えば良い。
【０１０８】
また、本例は、フラッシュメモリチップ１１が、ＳＲモード、及びＥＤＯモードの双方で動作可能なものを例示する。そして、カードコントローラチップ１２は、ＳＲモード、及びＥＤＯモードの双方で動作可能なフラッシュメモリチップ１１を制御することが可能であることを示している。しかし、カードコントローラチップ１２は、ＳＲモードのみ、あるいはＥＤＯモードのみに対応したフラッシュメモリチップ１１についても制御することが可能である。
【０１０９】
例えば、読み出しモード切り換え信号ＲＥ_ＳＥＬを、例えば、“０”に固定すれば、カードコントローラチップ１２は、ＳＲモードのみをアサートする。反対に、“１”に固定すれば、カードコントローラチップ１２は、ＥＤＯモードのみをアサートする。
【０１１０】
このように、カードコントローラチップ１２は、ＳＲモード、及びＥＤＯモードの双方で動作可能なフラッシュメモリチップ１１だけでなく、ＳＲモードのみ、あるいはＥＤＯモードのみに対応したフラッシュメモリチップ１１についても制御できる。
【０１１１】
次に、読み出しモード切り換え信号ＲＥ_ＳＥＬの入力の例について説明する。
【０１１２】
図１９〜図２１は、読み出しモード切り換え信号の入力例を示すブロック図である。
【０１１３】
（入力例１）
図１９に示すように、入力例１は、カードコントローラチップ１２に、読み出しモード切り換え信号ＲＥ_ＳＥＬを受信する外部ピン７０を設けたものである。外部ピン７０には、例えば、電源電位Ｖｄｄ、又は接地電位Ｖｓｓが入力される。例えば、外部ピン７０に、接地電位Ｖｓｓが入力されたときには、信号ＲＥ_ＳＥＬは、例えば、“０”となる。よって、ＳＲモードがアサートされる。反対に、外部ピン７０に、電源電位Ｖｄｄが入力されたときには、信号ＲＥ_ＳＥＬは、例えば、“１”となる。よって、ＥＤＯモードがアサートされる。
【０１１４】
このように、読み出しモード切り換え信号ＲＥ_ＳＥＬは、カードコントローラチップ１２の外部から入力することができる。
【０１１５】
（入力例２）
図２０に示すように、読み出しモード切り換え信号ＲＥ_ＳＥＬは、ホスト機器２から与えるようにしても良い。この場合、レジスタ群２７の、例えば、１ビットを、信号ＲＥ_ＳＥＬを保持する領域として割り当てる。信号ＲＥ_ＳＥＬは、ホスト機器２から、ホストインタフェース２１を介してレジスタ群２７の１ビットに書き込まれ、そして、保持される。保持された信号ＲＥ_ＳＥＬは、レジスタ群２７からフラッシュインタフェース２３に与えられる。
【０１１６】
このように、読み出しモード切り換え信号ＲＥ_ＳＥＬは、ホスト機器２から入力することができる。
【０１１７】
（入力例３）
図２１に示すように、読み出しモード切り換え信号ＲＥ_ＳＥＬは、フラッシュメモリチップ１１から与えるようにしても良い。この場合にも、入力例２と同様に、レジスタ群２７の、例えば、１ビットを、信号ＲＥ_ＳＥＬを保持する領域として割り当てる。信号ＲＥ_ＳＥＬは、フラッシュメモリチップ１１から、フラッシュインタフェース２３を介してレジスタ群２７の１ビットに書き込まれ、そして、保持される。保持された信号ＲＥ_ＳＥＬは、レジスタ群２７からフラッシュインタフェース２３に与えられる。
【０１１８】
信号ＲＥ_ＳＥＬを、フラッシュメモリチップ１１から与える場合には、信号ＲＥ_ＳＥＬは、例えば、フラッシュメモリチップ１１のシステムデータ内に、モード切り換え用の変数データを持たせれば良い。信号ＲＥ_ＳＥＬは、変数データに従って決定される。
【０１１９】
このように、読み出しモード切り換え信号ＲＥ_ＳＥＬは、フラッシュメモリチップ１１から入力することもできる。
【０１２０】
また、上記実施形態は、下記の態様を含む。
【０１２１】
（１）  不揮発性半導体メモリと、前記不揮発性半導体メモリを制御するコントローラと、を備え、前記コントローラは、前記不揮発性半導体メモリを、第１読み出しモードで使用するか、及び前記第１読み出しモードよりもアクセス間隔が短い第２読み出しモードで使用するかのいずれかを選択するメモリシステム。
【０１２２】
（２）  （１）に記載の態様において、前記コントローラは、読み出しモード切り換え信号に応じて、前記不揮発性半導体メモリを前記第１の読み出しモードで使用するか、及び前記第２の読み出しモードで使用するかのいずれかを決定する。
【０１２３】
（３）  （１）及び（２）いずれかに記載の態様において、前記コントローラは、このコントローラの制御タイミングを決定に利用されるシステムクロックを発生させるシステムクロック発生部を備え、前記システムクロック発生部は、決定された読み出しモードに応じて、前記システムクロックの周波数を変更する。
【０１２４】
（４）  （１）乃至（３）いずれか一つに記載の態様において、前記コントローラは、前記不揮発性半導体メモリからの読み出しデータが入力される入力回路と、前記不揮発性半導体メモリへの書き込みデータを出力する出力回路と、前記入力回路、及び前記出力回路を制御する入出力制御回路と、を備え、前記入出力制御回路は、前記入力回路をイネーブルするか、及び前記出力回路をイネーブルするかのいずれかを決定するアウトイネーブル信号を発生し、前記入出力制御回路は、決定された読み出しモードに応じて、前記アウトイネーブル信号を、内部リードイネーブル信号の変化に従って切り換えるか、内部リードイネーブル信号以外の信号の変化に従って切り換えるかのいずれかを選択する。
【０１２５】
（５）  （１）乃至（４）いずれか一つに記載の態様において、前記コントローラは、前記不揮発性半導体メモリからの読み出しデータが入力される入力回路と、前記入力回路に入力された読み出しデータを、システムクロックのエッジに応じて取り込む読み出しデータ取り込み回路と、を備え、前記読み出しデータ取り込み回路は、決定された読み出しモードに応じて、前記読み出しデータを、前記システムクロックの立ち上がりエッジで取り込むか、及び前記システムクロックの立ち下がりエッジで取り込むかのいずれかを選択する。
【０１２６】
（６）  （１）乃至（５）いずれか一つに記載の態様において、前記コントローラは、前記第２読み出しモードをエントリーする第２読み出しモードエントリーコマンド、及びエントリーされた前記第２読み出しモードを解除する第２読み出しモード解除コマンドを出力し、前記不揮発性半導体メモリは、前記第２読み出しモードエントリーコマンドを受信した後、前記第１読み出しモードに代えて前記第２読み出しモードで動作し、前記第２読み出しモード解除コマンドを受信した後、前記第２読み出しモードに代えて前記第１読み出しモードで動作する。
【０１２７】
（７）  （６）に記載の態様において、前記不揮発性半導体メモリは、電源投入後、前記第２読み出しモードエントリーコマンドを受信するまで、前記第１読み出しモードで動作する。
【０１２８】
（８）  （２）乃至（７）いずれか一つに記載の態様において、前記コントローラは、前記読み出しモード切り換え信号を受信する外部ピンを備える。
【０１２９】
（９）  （２）乃至（７）いずれか一つに記載の態様において、前記読み出しモード切り換え信号は、前記不揮発性半導体メモリを記録メディアとして使用するホスト機器から与えられる。
【０１３０】
（１０）  （２）乃至（７）いずれか一つに記載の態様において、前記読み出しモード切り換え信号は、前記不揮発性半導体メモリから与えられる。
【０１３１】
（１１）  （９）に記載の態様において、前記コントローラは、レジスタを備え、前記レジスタは、前記ホスト機器から与えられた読み出しモード切り換え信号を格納する。
【０１３２】
（１２）  （１０）に記載の態様において、前記コントローラは、レジスタを備え、前記レジスタは、前記不揮発性半導体メモリから与えられた読み出しモード切り換え信号を格納する。
【０１３３】
（１３）  （１）乃至（１２）いずれか一つに記載の態様において、前記第１読み出しモードはシリアル・リードモードであり、前記第２読み出しモードはエクステンディツド・データ・アウトモードである。
【０１３４】
（１４）  （１）乃至（１３）いずれか一つに記載の態様において、前記不揮発性半導体メモリは、ＮＡＮＤ型フラッシュメモリである。
【０１３５】
（１５）  不揮発性半導体メモリと、前記不揮発性半導体メモリを制御し、前記不揮発性半導体メモリを、第１読み出しモードで使用するか、及び前記第１読み出しモードよりもアクセス間隔が短い第２読み出しモードで使用するかを選択するコントローラと、を具備する記録メディア。
【０１３６】
（１６）  ホスト機器に接続可能なホストインタフェースと、半導体メモリに接続可能なメモリインタフェースと、を備え、前記メモリインタフェースは、前記半導体メモリを、第１読み出しモードで使用するか、及び前記第１読み出しモードよりもアクセス間隔が短い第２読み出しモードで使用するかのいずれかを選択するメモリコントローラ。
【０１３７】
（１７）  （１５）に記載の態様において、（２）乃至（１４）の態様を含む記録メディア。
【０１３８】
（１８）  （１６）に記載の態様において、（２）乃至（１３）の態様を含むメモリコントローラ。
【０１３９】
以上、この発明を一実施形態により説明したが、この発明の実施形態は、上記一実施形態が唯一のものではなく。その実施にあたっては発明の要旨を逸脱しない範囲で種々に変形することが可能である。
【０１４０】
例えば、一実施形態では、フラッシュメモリチップ１１とカードコントローラチップ１２とが一緒にメモリカードに搭載される場合を示したが、フラッシュメモリチップ１１のみをメモリカードに搭載し、このメモリカードが装着されるホスト機器側にカードコントローラチップ１２を搭載するようにしても良い。
【０１４１】
また、フラッシュメモリと、これを制御するコントローラとを別々のチップ１１、及び１２とする場合を示したが、フラッシュメモリと、これを制御するコントローラとを一つのチップに搭載するようにしても良い。
【０１４２】
また、一実施形態は種々の段階の発明を含んでおり、一実施形態において開示した複数の構成要件の適宜な組み合わせにより、種々の段階の発明を抽出することが可能である。
【０１４３】
また、一実施形態は、この発明をＮＡＮＤ型フラッシュメモリとそのコントローラに適用した例に基づき説明したが、この発明はＮＡＮＤ型フラッシュメモリとそのコントローラに限られるものではなく、ＡＮＤ型、ＮＯＲ型等、ＮＡＮＤ型以外のフラッシュメモリとそのコントローラにも適用することができる。
【０１４４】
さらに、一実施形態は、これらフラッシュメモリとそのコントローラを内蔵したメモリカードに限られるものではなく、半導体集積回路装置のメモリシステムとして、例えば、プロセッサのメモリシステムや、システムＬＳＩのメモリシステムにも応用することができる。
【図面の簡単な説明】
【０１４５】
【図１】図１はこの発明の一実施形態に係る記録メディアの一例を示す図
【図２】図２は信号ピンに対する信号の割り当ての一例を示す図
【図３】図３はこの発明の一実施形態に係るメモリカードのハード構成の一例を示すブロック図
【図４】図４は図３に示すレジスタ群の一例を示す図
【図５】図５はフラッシュメモリチップのデータ配置の一例を示す図
【図６】図６はフラッシュメモリチップのデータ記憶領域の一例を示す図
【図７】図７は動作モードに応じた信号ピンに対する信号の割り当ての一例を示す図
【図８】図８ＡはＳＲモードの動作波形の一例を示す動作波形図、図８ＢはＥＤＯモードの動作波形の一例を示す動作波形図
【図９】図９ＡはＳＲモードの動作波形の一例を示す動作波形図、図９ＢはＥＤＯモードの動作波形の一例を示す動作波形図
【図１０】図１０はシステムクロックの周波数変換をカードコントローラの内部で行う場合の構成の一例を示すブロック図
【図１１】図１１は周波数変換回路の一例を示すブロック図
【図１２】図１２Ａ〜図１２Ｃは周波数変換の例を示す波形図
【図１３】図１３はカードコントローラチップとフラッシュメモリチップとの接続の一例を示すブロック図
【図１４】図１４は入出力制御回路の回路構成の一例を示す回路図
【図１５】図１５はデータ取り込み回路の回路構成の一例を示す回路図
【図１６】図１６はフラッシュインタフェースのＳＲモード時における動作波形の一例を示す動作波形図
【図１７】図１７はフラッシュインタフェースのＥＤＯモード時における動作波形の一例を示す動作波形図
【図１８】図１８はモード切り換え制御の一例を示す図
【図１９】図１９は、読み出しモード切り換え信号の入力例１を示すブロック図
【図２０】図２０は、読み出しモード切り換え信号の入力例２を示すブロック図
【図２１】図２１は、読み出しモード切り換え信号の入力例３を示すブロック図
【符号の説明】
【０１４６】
１１…フラッシュメモリチップ、１２…カードコントローラチップ、ＲＥ_ＳＥＬ…読み出しモード切り換え信号
【図１】
2007115099.tif 000003
【図２】
2007115099.tif 000004
【図３】
2007115099.tif 000005
【図４】
2007115099.tif 000006
【図５】
2007115099.tif 000007
【図６】
2007115099.tif 000008
【図７】
2007115099.tif 000009
【図８】
2007115099.tif 000010
【図９】
2007115099.tif 000011
【図１０】
2007115099.tif 000012
【図１１】
2007115099.tif 000013
【図１２】
2007115099.tif 000014
【図１３】
2007115099.tif 000015
【図１４】
2007115099.tif 000016
【図１５】
2007115099.tif 000017
【図１６】
2007115099.tif 000018
【図１７】
2007115099.tif 000019
【図１８】
2007115099.tif 000020
【図１９】
2007115099.tif 000021
【図２０】
2007115099.tif 000022
【図２１】
2007115099.tif 000023