本発明は、その好ましい実施形態、すなわちフラッシュメモリモジュール、そのようなフラッシュメモリモジュールを含むサブシステム、およびそれを動作させる方法に実現された好ましい実施形態と関連して記載される。より具体的には、この代表的なフラッシュメモリモジュールはNANDタイプのマルチレベルセル(MLC)フラッシュメモリとして記載されるが、その理由は、コンピュータシステムにおける大容量データ記憶のために固体の不揮発性メモリの使用を可能にするために、本発明はそのようなフラッシュメモリと関連して特に有益であろうと考えられることにある。しかし、種々のタイプの不揮発性固体メモリに関係する他の用途において本発明は有用で有益であろうと考えられる。従って、以下の記述は単なる例として提供されているのであって、特許請求の範囲に記載された本発明の真の範囲を限定するように意図されてはいない。
図2は、本発明の好ましい実施形態に従って構成されたフラッシュメモリ装置(またはモジュール)10の代表的な構成を示す。フラッシュメモリ装置10は、通常、単一の集積回路に構成され、従って、以下でさらに詳述されるように、いくつかのメモリコントローラまたはメモリコントローラロジックのうちのいずれともインターフェイスさせられ得ると考えられる。また、図2に示されているフラッシュメモリ装置10のアーキテクチャは、本発明を理解する目的のために提示された例に過ぎず、本願明細書を参照した当業者は、図2に示されているものから変化したアーキテクチャのフラッシュメモリ装置と関連して本発明を容易に理解できると考えられる。
フラッシュメモリ装置10の記憶能力は、フラッシュメモリアレイ12に存在する。当該技術分野で知られているように、アレイ12は、行および列に配列された電気的にプログラム可能で消去可能なメモリセルを含む。単一のアレイ12が図2に示されているけれども、図2の例に関して以下でさらに詳述されるアドレス回路、データ回路、あるいは制御回路の一部または全部のような周辺回路の別々の実例をそれぞれ有する複数のサブアレイとしてアレイ12を実現できるということも、もちろん、考えられる。本願明細書を参照した当業者は、そのようなマルチサブアレイアーキテクチャと関連して本発明を容易に理解できるであろうと考えられる。この例において、アレイ12のメモリセルはフローティングゲート金属酸化膜半導体(MOS)トランジスタであって、1つのメモリセルに対応する各々のそのようなトランジスタが電気的にプログラムされ得るとともに電気的に消去され得るように構成されている。本発明の好ましい実施形態に従って、アレイ12のメモリセルは、そのような各セルが複数ビットのデジタル値を記憶するように2つより多いデータ状態に(すなわち、2つより多いしきい値電圧のうちのいずれにも)プログラムされ得るので、マルチレベルセル(MLC)である。また、本発明のこの好ましい実施形態に従って、以下の記述から明らかであるように、これらのメモリセルは、通常、セルがランダムにアクセスされるのではなくて大容量記憶の用途に有用であるように連続してアクセスされるように、周知のNAND式に好ましく構成される。もちろん、本発明は、バイナリメモリセルと関連して(すなわち、単一のデジタルビットだけを記憶する)、またメモリセルのNOR構成と関連しても用いられ得る。
本発明のこの好ましい実施形態に従って、共通入出力端子I/O1〜I/Onが設けられて、入出力制御回路20に接続されている。NANDタイプのフラッシュメモリについての技術分野で知られているように、フラッシュメモリ装置10の動作は、主に、入出力端子I/O1〜I/Onを介してデジタルワードとして伝達されて制御ロジック18により実行されるコマンドの受信と実行とによって制御される。そのようなものとして、入出力制御回路20は、制御コマンド、アドレス値、および入力データを受け取り、入出力端子I/O1〜I/Onと通信するそのドライバおよびレシーバ回路を介してステータス情報および出力データを与える。入出力端子I/O1〜I/Onの数nは一般に8または16であろうと考えられるけれども、もちろん、任意の数のそのような端子を設けることができる。さらに、入出力制御回路20は、電源電圧Vcc-Rを受け取り、この電圧に基づいてロジックレベルで入出力端子I/O1〜I/Onを駆動する。本発明のこの好ましい実施形態に従って、以下で詳述されるように、より高いスイッチング速度においても入出力端子I/O1〜I/Onにおけるデータ転送から生じる電力消費が低減されるように、この電源電圧Vcc-Rは在来のフラッシュメモリ装置で使用される電圧より低い。制御ロジック18もこの電源電圧Vcc-Rを受け取り、これに基づいて、特に読み出しイネーブル端子RE_からより低い電圧で出力制御信号を駆動する。
入出力制御回路20は、コマンド情報を、制御ロジック18により復号化され実行されるようにコマンドレジスタ24に送る。それがフラッシュメモリ装置10の動作を制御するからである。ステータス情報は、在来の仕方で制御ロジック18によりステータスレジスタ23に格納される。入出力制御回路20により入出力端子I/O1〜I/Onで受け取られたアドレス値はアドレスレジスタ22にバッファされる。在来の仕方でアレイ12内の所望の1つまたは複数のセルの選択を行うために、そのようなアドレスの行部分は行デコーダ11により復号化され、列部分は列デコーダ15により復号化される(これらの各々は、通常、アドレスバッファを含む)。入出力制御回路20は、また、実行されるべきデータ転送の方向に依存して、書き込まれるべきデータをデータレジスタ14に転送し、また出力データをデータレジスタ14から受け取るために、バスDATA_BUSを介してデータレジスタ14と双方向通信する。制御ロジック18は、例えば、チップイネーブルCE_、コマンドラッチイネーブルCLE、アドレスラッチイネーブルALE、書き込みイネーブルWE_、読み出しイネーブルRE_の信号のための線、および書き込み禁止線WP_を含む、フラッシュメモリ装置12の外部からの種々の直接制御信号をも受け取る。当該技術分野で知られているように、コマンドラッチイネーブル信号CLEおよびアドレスラッチイネーブルALE信号は、コマンドまたはアドレスが入出力端子I/O1〜I/Onで与えられているかどうかを示し、書き込みイネーブルWE_信号および読み出しイネーブルRE_信号は、それぞれ、書き込み動作および読み出し動作においてデータストローブとして役立つ。
本発明のこの実施形態では、書き込みイネーブルWE_信号はフラッシュメモリ装置10への1つの入力である。従って、入出力端子I/O1〜I/Onを介してのフラッシュメモリ装置10へのデータ転送のために、書き込みイネーブルWE_信号として伝達される書き込みデータストローブは常にフラッシュメモリ装置10の外部の装置、通常は、到来するデータのソース自体をソースとする。しかし、また本発明の好ましい実施形態によれば、以下でさらに詳述されるように、読み出しイネーブルRE_信号は双方向である。通常の動作モードでは、フラッシュメモリアレイ12から読み出されるデータの宛先である外部装置は読み出しデータストローブのソースであり、それはフラッシュメモリ装置10への入力として読み出しイネーブルRE_信号として伝達される。本発明の好ましい実施形態に従うアドバンスト動作モードでは、以下でさらに詳述されるように、制御ロジック18は、フラッシュメモリアレイ12から読み出されてデータレジスタ14、I/O制御回路20および入出力端子I/O1〜I/Onを介して伝達されるデータと同期して、読み出しイネーブルRE_信号としての読み出しデータストローブを発する。
図3は、本発明の1つの好ましい実施形態に従う、フラッシュメモリカード25へのフラッシュメモリ装置(またはモジュール)10の実施例を示す。図3に示されているように、フラッシュメモリカード25は、少なくともフラッシュメモリ装置10自体と、またコントローラ30とを含む。コントローラ30は、高性能デジタルカメラ、パーソナルコンピュータ、あるいは、デジタルオーディオプレーヤまたは携帯電話機ハンドセット等の携帯装置などのホストシステムとの外部インターフェイスHOST_IFを提供し管理する。インターフェイスHOST_IFは、当該技術分野で知られているように、広範なホストシステムのうちのいずれにも挿入され得る汎用カードとして構成されたフラッシュメモリカード25の外部端子のセットにも対応することができる。インターフェイスHOST_IFは、当該技術分野で現在知られている在来の標準規格インターフェイスに従って、あるいは将来のフラッシュメモリインターフェイス標準規格または財産権の対象になるようなインターフェイスプロトコルと関連して開発されるかもしれないものに従って、動作することができる、ということが考えられる。前述したように、高性能デジタルスチールカメラの、データ転送速度が重要である用途などにおいて、高速データ転送を提供することに関して本発明は特に有益であろうと考えられる。さらに、本発明により提供される高いデータ転送速度は、磁気ディスクドライブを置換して、パーソナルコンピュータにおいて固体の大容量記憶装置としてフラッシュメモリを使用することも可能にするということも考えられる。従って、例えば前に背景技術の欄で述べたUDMA標準規格により考えられているように、インターフェイスHOST_IFは高速データ転送能力を持つのが最善であろうと考えられる。
図3に示されているように、フラッシュメモリ装置10は、図2に示されている端子と矛盾しない仕方でコントローラ30に結合されている。これに関して、フラッシュメモリ装置10の同様の名称の端子に対応する信号線I/O1〜I/Onによって入出力バスが形成される。制御バスCTRLは、コントローラ30をフラッシュメモリ装置10に結合し、図2に示されているALE端子、CLE端子、WP_端子、およびCE_端子に接続されている信号線を含む。フラッシュメモリ装置10とコントローラ30との間の通信のために他の制御線および端子が設けられてもよいということが考えられ、従って、ALE端子、CLE端子、WP_端子、およびCE_端子は図2においてフラッシュメモリ装置10への入力として示されているけれども、制御バスCTRLは双方向バスとして図に示されている。
図3は、この記述を明瞭にするために、制御バスCTRLとは別に2つの制御線RE_およびWE_を示している。本発明のこの実施形態では、線WE_は書き込み動作(データがコントローラ30からフラッシュメモリ装置10に書き込まれる)におけるデータストローブを伝達し、そのようなものとしてフラッシュメモリ装置(図2)の端子WE_に接続される。本発明のこの好ましい実施形態では、線WE_上のデータストローブは、各々の動作モードにおいてコントローラ30をソースとする。線RE_は、読み出し動作(データはフラッシュメモリ10から読み出されてコントローラ30に伝達される)のためのデータストローブを伝達し、そのようなものとしてフラッシュメモリ装置10(図2)の端子RE_に接続される。前述したように、本発明のこの好ましい実施形態では、線RE_は双方向であり、読み出しデータストローブのソースはフラッシュメモリ装置10の現在の動作モードによる。通常の動作モードでは、コントローラ30が読み出しデータストローブを発し、これに応答してフラッシュメモリ装置10は、装置自体が信号線I/O1〜I/Onにおいて与えるデータを有効なものとして主張する。本発明の好ましい実施形態に従うアドバンスト動作モードでは、フラッシュメモリ装置10が、フラッシュメモリ装置10からコントローラ30へのデータ転送のための線RE_上の読み出しデータストローブを発する。以下でさらに詳述されるように、フラッシュメモリ装置10がどの動作モードでデータをコントローラ30に転送しているかに関わらず、信号線I/O1〜I/Onを介してコントローラ30により伝達されるコマンドは、信号線RE_上の読み出しデータストローブソースと同期する。
コントローラ30は、実質的に、当該技術分野で知られている在来のフラッシュメモリコントローラのアーキテクチャに従って構成され、本発明の好ましい実施形態に従うフラッシュメモリ装置10のアドバンスト動作モードにおける読み出し動作の開始、動作、および終了と関連して本願明細書に記載されている動作を実行するために必要に応じて改変される、ということが考えられる。また、コントローラ30内でこれらのアドバンスト動作モード機能を実行するためのロジックハードウェア、プログラム命令、またはその組み合わせは、本願明細書を参照した当業者にとっては明白であろうということも考えられる。従って、過度の実験を行わずに、これらの熟練している読者は、特定の具体化のために最も適切な、コントローラ30のそのような改変を容易に実行できるであろうということもさらに考えられる。
また、図3に示されているように、電源電圧Vcc-Rがフラッシュメモリ装置10およびコントローラ25の各々に接続されて、これらをバイアスする。後述するようにより高いスイッチング速度においても入出力線I/O1〜I/Onおよび種々の制御線を介してのデータ転送および遷移から生じる電力消費が低減されるように、この電源電圧Vcc-Rは、在来のフラッシュメモリ装置およびコントローラで使用される電圧より低い。特定の例との関係で以下でさらに詳述されるように、この電源電圧は、約1.60ボルト〜約2.00ボルトまでの範囲の中の約1.80ボルトの公称電圧であり得、これは2.70ボルトと3.60ボルトとの間の仕様範囲の中の3.30ボルトの在来の標準的公称電源電圧より大幅に低い。
ここで図4a〜4eを参照して、通常動作モードとコマンド通信モードとに従う、メモリカード25におけるコントローラ30と結合したフラッシュメモリ装置10の動作を説明する。これらの動作モードは最新のフラッシュメモリ装置のための在来のフラッシュメモリインターフェイスプロトコルに実質的に対応し、従ってこれらの動作モードは本発明の好ましい実施形態に従うフラッシュメモリ装置10のための“レガシー”入出力プロトコルとして役立つと考えられる。
図4aは、コントローラ30からフラッシュメモリ装置10へのコマンドの伝達を示す。当該技術分野で知られているように、また以下でさらに詳述されるように、最新のフラッシュメモリ装置は、コントローラにより発せられてデータ入出力線を介して伝達される特定のコマンドに応答して動作する。この例では、コマンドCMDの伝達は、コントローラ30がコマンドラッチイネーブル信号CLEをハイアクティブ状態に、アドレスラッチイネーブル信号ALEを非アクティブロー状態に駆動して、アドレスではなくてコマンドが入出力線I/O1〜I/Onで伝達されることを示すことによって、行われる。チップイネーブル信号CE_がアクティブローにされて、在来の仕方でフラッシュメモリ装置10をイネーブルする。当該技術分野で知られているように、複数のフラッシュメモリ装置10がカード25内に設けられているならば、コントローラ30が通信のためにフラッシュメモリ装置10のうちの所望の1つを選択するときに個々のチップイネーブル信号CE_がコントローラ30により使用され得る。図4aに示されているコマンドCMDに対応する、コントローラ30により入出力線I/O1〜I/On上に与えられるデジタルワードは、コントローラ30が書き込みイネーブル線WE_でアクティブローパルスを発することによってストローブされ、線WE_上のパルスの立ち上がりエッジはI/O制御回路20にコマンドCMDを受け取らせて中にラッチ(latch in)させ、結局はコマンドレジスタ24(図2)に到達させる。コントローラ30は、その後、コマンドラッチイネーブル信号CLEを非アクティブロー状態に戻し、コマンド動作を終えることができる。もちろん、当該技術分野で知られているように、マルチワードコマンドまたは複数のシングルワードコマンドをこのようにして逐次伝達することができ、そのような伝達の間、コマンドラッチイネーブル線CLEはハイに保たれる。
図4aに示されている仕方で伝達される1つのコマンドは、メモリアドレスがコントローラ30によってフラッシュメモリ装置10へ伝達されることを示すコマンド(例えば、読み出し動作のためのコマンド00H、シリアルデータ入力プログラム、すなわち書き込み動作のためのコマンド10H)である。図4bは、本発明の好ましい実施形態に従う通常コマンド動作モードでの、フラッシュメモリ装置へのコントローラ30によるそのようなアドレスの伝達のタイミングを示す。図4bに示されている動作は、図4aのシーケンスに従うコマンド00Hの伝達に続き、次の信号シーケンスでのメモリアドレスの緊急送信を示す。
この通常動作モードにおいて、割合に広い範囲のコマンドがコントローラ30によりフラッシュメモリ装置10へ伝達され得る。以下の表は、本発明のこの好ましい実施形態における代表的なコマンドセットをリストしている。
ここで図4bを参照して、本発明のこの好ましい実施形態に従うコントローラ30からフラッシュメモリ装置10へのメモリアドレスの送信を説明する。この動作において、コントローラ30はコマンドラッチイネーブル信号CLEを非アクティブローに駆動し、アドレスラッチイネーブル信号ALEをハイに駆動して、入出力線I/O1〜I/Onで(コマンド値ではなくて)アドレス値が伝達されることをフラッシュメモリ装置10に示す。チップイネーブル信号CE_もアクティブローに駆動されて、コントローラ30がこのアドレス情報の受信者としてフラッシュメモリ装置10を選択していることを示す。この動作において、コントローラ30は書き込みイネーブル信号WE_のアクティブローパルスを発し、その各パルスは、そのときにコントローラ30によりアドレス値の一部が入出力線I/O1〜I/Onで与えられることを示す。本発明のこの実施形態では、フラッシュメモリ10がこのエッジを使って入出力線I/O1〜I/Onのそのときの現在の状態を所望のメモリアドレスの一部としてアドレスレジスタ22(図2)の中にラッチできるように、このアドレス情報は書き込みイネーブル信号WE_の立ち上がりエッジ(すなわち、アクティブローパルスの末尾)と同期する。図4bの例で明らかであるように、メモリアドレスは複数ワードにわたって広がる(その幅は入出力線I/O1〜I/Onの数nにより決まる)。この場合、メモリアドレスは、書き込みイネーブル信号WE_の連続するアクティブローパルスと同期して与えられる4つのアドレスワードADD0〜ADD3を含む。
図4bに示されているアドレス値の伝達に続いて、コントローラ30はフラッシュメモリ装置10へのデータの書き込み、またはフラッシュメモリ装置10からのデータの読み出しを実行することができる。図4cは、本発明のこの好ましい実施形態に従って、通常動作モード(すなわち、“レガシー”モードで)書き込み動作を行うために伝達される信号を示す。図2のアーキテクチャに従って、このデータ書き込み動作は、データレジスタ14へのデータの書き込みである。本発明の好ましい実施形態に従って、データレジスタへの書き込みのコマンド(例えば、コマンド値80H)が、図4aに示されている仕方でもたらされ、それに続いてフラッシュメモリ装置10内の宛先メモリアドレスがコントローラ30によって伝達されるが、その両方が、図4cに関連して以下に記述される書き込み動作の前に行われる。データ書き込み動作を行うためにコントローラ30は、コマンドラッチイネーブル信号CLEとアドレスラッチイネーブル信号ALEとを両方とも非アクティブローに駆動して、フラッシュメモリ装置10に対して、書き込まれるべき入力データ(すなわち、コマンド値でもアドレス値でもない)が入出力線I/O1〜I/Onで伝達されることを示す。もちろん、この動作のためにチップイネーブル信号CE_もアクティブローに駆動される。コントローラ30は、その後、入出力線I/O1〜I/Onで与えられるデータの各バイトまたはワードとともに書き込みイネーブル信号WE_のアクティブローパルスを発する。本発明のこの実施形態では、コマンドおよびアドレス送信の場合と同じく、有効な入力データは書き込みイネーブル信号WE_の、各パルスの末尾の立ち上がりエッジと同期して与えられる。このエッジに応答して、フラッシュメモリ装置10は、入力データのワードまたはバイトに対応する入出力線I/O1〜I/Onのそのときの現在の状態をI/O制御回路20内のデータラッチの中に、または直接に(または事情次第で、結局は)バスDATA_BUSを介してデータレジスタ14にラッチする。図4cは、入出力線I/O1〜I/Onを介しての4つのワードDin(0)〜Din(3)の、書き込みイネーブル信号WE_の4つのパルスと同期しての伝達を示す。
図4dは、本発明の好ましい実施形態に従う通常動作(“レガシー”)モードにおいて(フラッシュメモリ装置10からコントローラ30への)データ読み出し動作を実行するときのコントローラ30およびフラッシュメモリ装置10の動作を示す。データ書き込み動作の場合と同じく、この読み出し動作の前に(例えば、図4aに示されている)コマンドシーケンスおよび(例えば、図4bに示されている)アドレスシーケンスが前もって行われている。この読み出しの前に1つ以上の書き込み動作が前もって実行されているかも知れず(すなわち、この場合、その読み出しが、今書き込まれたばかりのと同じアドレスに対する読み出しであるならば、この読み出しは前の書き込みのベリファイとして役立つ)、あるいは(例えば、図4cに示されている)書き込み動作が、同じメモリアドレスへの読み出し−修正−書き込みシーケンスの形で、この読み出し動作後に実行され得る。読み出しの前のアドレスの伝達に応答して、そのアドレスに対応するメモリセルの内容が感知されてデータレジスタ14へ転送される。従って、図4dの読み出し動作は、データレジスタ14の現在のコメントの読み出しである。そして、この読み出し動作を行うために、コントローラ30は、図4aに関して前に記載された仕方でコマンド動作において適切なコマンド(例えば、コマンドE0h)を発する。
この動作において、書き込み動作のときと同じく、コントローラ30は、コマンドラッチイネーブル信号CLEとアドレスラッチイネーブル信号ALEとを両方とも非アクティブローに駆動し、チップイネーブル信号CE_をアクティブローに駆動している。コントローラ30は、書き込みイネーブル信号WE_を非アクティブハイにすることによって、所望の読み出し動作を示す。このデータ読み出し動作において、フラッシュメモリ装置10は、コントローラ30により生成された読み出しイネーブル信号RE_のアクティブローパルスの立ち下がりエッジに応答してデータワードDoutを出力する。従って、この通常動作モードにおいて、コントローラ30は、読み出しイネーブル信号RE_のアクティブローパルスを発し、その後に指定されたアクセス時間待つ(フラッシュメモリ装置10が、そのメモリセルの状態を感知する動作と、その感知した状態をそのデータレジスタ14へ転送し入出力線I/O1〜I/Onに出す動作とに関わる動作の一部または全部を行うことを可能にする)ことによって、フラッシュメモリ装置10からのデータの受け取りを同期化することができる。コントローラ30は、その後、フラッシュメモリ装置10からデータを受け取るために入出力線I/O1〜I/Onのデータ状態をその入力バッファの中にラッチすることができる。図4dの例では、4つのデータワードDout(0)〜Dout(3)が順に読み出され、チップイネーブル信号CE_の立ち上がりエッジがこの読み出し動作を終了させ、その後にフラッシュメモリ装置10は、I/O制御回路20内のその出力ドライバに入出力端子I/O1〜I/Onを高インピーダンス(“ハイ−Z”)状態に置かせる。
当該技術分野で知られているような、この通常動作(“レガシー”)モードに従う他の動作も好ましく利用可能である。例えば、コントローラ30は、図4aのタイミングの後に特定のステータスコマンド(例えば、コマンドコード70H)を発し、その読み出しイネーブル信号RE_のアクティブローパルスの発行に応答して入出力線I/O1〜I/Onを介してステータスレジスタ24の内容を受け取ることによって、この通常動作モードでステータスレジスタ24の内容を読み出すことができる。
図4cおよび4dから明らかであるように、1つのデータワードまたはバイト(以降の記述では“データワード”と称される)が書き込みイネーブル信号WE_または読み出しイネーブル信号RE_の各サイクルの間にそれぞれ伝達される。そして、これらの図と前の説明とから明らかであるように、コントローラ30は、この通常動作モードにおいて書き込みイネーブル信号WE_と読み出しイネーブル信号RE_との両方を制御し、生じさせる。特に読み出し動作では、読み出しイネーブル信号RE_の各々の完全なサイクルの間に唯一のデータワードが読み出されるので、コントローラ30は、在来のフラッシュメモリタイミング要件および性能に従って、コントローラ自身がその読み出しデータストローブ(読み出しイネーブル信号WE_)を発し、また読み出されたデータを受け取ってラッチするのに充分な時間を有する。しかし、このレベルの性能は、フラッシュメモリカード25がコンピュータシステムで大容量記憶装置として使用されるときなど、フラッシュメモリ装置10の高速使用のためには必ずしも充分ではないかもしれない。さらに、この“レガシー”動作モードは、前述したUDMAインターフェイスプロトコルのもとなどでは、コントローラ30からホストシステムへの高速外部インターフェイスモードに追いついていけないかもしれない。
従って、本発明の好ましい実施形態によれば、フラッシュメモリ装置10は、進歩した(アドバンスト)、より高い性能の、読み出しおよび書き込み動作モードを提供し、コントローラ30はそのアドバンストモードを利用するように構成される。このアドバンストモードを利用するときのフラッシュメモリ装置10およびコントローラ30の動作を、ここで、図5aおよび5bの流れ図および図6a〜6eのタイミング図と関連して詳しく説明する。
図5aおよび6a〜6cは、データ読み出し動作(すなわち、フラッシュメモリカード25における、フラッシュメモリ装置10からコントローラ30への)を行うときのフラッシュメモリ装置10の動作を示す。図5aのプロセス40で、フラッシュメモリ装置10とコントローラ30とはパワーアップされ、それはこれら両方の装置を、図4a〜4dに関して前に説明した通常動作モードにする(プロセス42)。プロセス44で、この通常モードでの読み出しおよび書き込み動作(そうであるならば)が、この通常動作(“レガシー”)モードで実行される。
アドバンスト読み出し動作モードに入ることはプロセス46から始まり、ここでコントローラ30は、図4bに関して前に説明したように、通常動作モードに従ってメモリアドレス値をフラッシュメモリ装置10に対して発する。プロセス46でコントローラ30により発せられるメモリアドレスは、このアドバンスト動作モードでデータがそこから読み出されるところの初めのメモリアドレスであって、好ましくは前述した対応する読み出しアドレス入力コマンドの送信に続く。プロセス48で、コントローラ30は、フラッシュメモリ装置10に対して“データ転送開始(initiate data transfer)”、あるいは“IDT”、コマンドシーケンスを発する。図6aは、この動作をさらに詳しく示す。
本発明の好ましい実施形態に従って、“IDT”コマンドは、プロセス48でアドバンストデータ転送モードを開始させるためにコントローラ30によってフラッシュメモリ装置に対して発せられる。このコマンドは図4aに関して前に説明したコマンドの発行と同様にして発せられ、コントローラ30がチップイネーブル信号CE_をアクティブローに、アドレスラッチイネーブル信号ALEを非アクティブローに、コマンドラッチイネーブル信号CLEをアクティブハイに、それぞれ、駆動する。書き込みイネーブル信号WE_のアクティブローパルスの立ち上がりエッジは、コントローラ30によって入出力線I/O1〜I/On上へ駆動されたIDTコマンド値IDT_CMD(これは他の割り当てられたコマンド値とは異なる値を有するバイナリワードである)のためのデータストローブとして役立つ。書き込みイネーブル信号WE_がハイにされてから所定時間後に、コントローラ30は入出力線I/O1〜I/Onを高インピーダンス状態にする。そして、書き込みイネーブル信号WE_の立ち上がりエッジ(そのときIDTコマンドを中にストローブする)からのもう1つの経過時間trel の後、コントローラ30はその読み出しイネーブル信号RE_の制御を放棄して、フラッシュメモリ装置10の制御ロジック18が対応する線RE_の状態を駆動することを可能にする(コントローラ30とのデータ競合を敢行せずに)。
IDTコマンドがフラッシュメモリ装置10の中にラッチされてこの装置により実行されると、フラッシュメモリ装置10は高速モード読み出しデータ転送プロセス50を開始する。図6aに示されているように、この読み出しデータ転送プロセスは、書き込みイネーブル信号WE_の立ち上がりエッジの後、ゼロではないアクセス時間が経過した後に、フラッシュメモリ装置10が第1の有効出力データワードDout (0)を発することから始まる。この第1の出力データワードDout (0)を与えた後、フラッシュメモリ装置10は、追加の出力データワードDout (1)以下参照と同期して、読み出しイネーブル信号RE_のアクティブパルスを発し始める。本発明のこの好ましい実施形態に従って、フラッシュメモリ装置10自体により駆動される読み出しイネーブル信号RE_の各エッジ(立ち下がりおよび立ち上がり)と同期して1つのデータワードDout (k)が発せられる。図6aの例では、各出力データワードDout (k)はそのストローブエッジに1つのゼロではないアクセス時間だけ遅れて続くが、その代わりに各読み出しイネーブル信号RE_エッジはそれに対応する有効データワードDout(k)の中でコントローラ30に対して発せられ(あるいは発せられるべく遅延され)てもよい。
従って、本発明の好ましい実施形態に従って、フラッシュメモリ装置10がこのアドバンストモードで入出力線I/O1〜I/Onを介してデータをコントローラ30に与える速度は、通常動作モード(図4d)におけるデータ速度より大幅に速く、代表的な実施例ではこのデータ速度の2倍に近い。このより高いデータ速度は、或る程度、フラッシュメモリ装置10が読み出しイネーブル信号RE_の読み出しデータストローブエッジを発することを許すことによって可能にされ、コントローラ30がこれらの読み出しデータストローブエッジを発するとすれば、伴うことになる伝播遅延および所要のタイミングウィンドウをなくす。
しかし、当業者にとっては明らかであるように、出力データが入出力線I/O1〜I/Onで与えられる増大した速度は、他の全ての要素が同等であるならば、この読み出し動作において主としてフラッシュメモリ装置10のI/O制御回路20内の出力駆動回路から、フラッシュメモリカード25内での消費電力を大幅に増大させる。この電力消費は、最新の傾向がそうであるように、データワード幅(すなわち、入出力線I/O1〜I/Onの数n)が大きくなるに連れて、悪化する。本発明の好ましい実施形態に従って、以下に説明するように、この電力消費は入出力線I/O1〜I/Onにおける出力信号の電圧振幅を減少させることによって大幅に低減される。
在来のフラッシュメモリ装置は周知の3.3ボルトのバス標準規格を利用し、この規格では最低ハイレベル出力電圧VOHは2.4ボルトであり、最高のローレベル出力電圧VOLは0.4ボルトであり、公称電圧振幅は約3.3ボルトである。この標準規格によれば、当該技術分野で周知されているように、これらの電圧は名目上3.30ボルトの電源電圧に基づき、それは2.70ボルトおよび3.60ボルトの間の仕様範囲を有する。最新のフラッシュメモリ装置のための通常動作モードでは、出力データ速度は25MHz(すなわち、40ナノ秒毎のデータ遷移)であり、所与の入出力線I/Okが各サイクルでデータ遷移を行うという最悪の場合には、フラッシュメモリ装置10は入出力線I/Okの静電容量を12.5MHzの周波数で充電するように要求される。この入出力線I/Okについて65pFの代表的な線の静電容量を仮定すれば、1つの入出力線I/Okについて、ミリアンペアを単位として表した電流消費は、
Ik =f*C(VOH−VOL)
から計算することができ、この例では、ハイデータレベルとローデータレベルとの間の代表的な3.3ボルトの振幅を用いれば、
Ik =12.5*0.065(3.3)=2.681mA
という結果となる。読み出しイネーブル信号RE_を駆動するときに消費される電流は、その対応する導体を各遷移のために充電しなければならないので、電流Ik のものの2倍となる。従って、この例について在来の通常動作モードで消費される総電流は、8本の入出力線I/O1〜I/O8を仮定すれば、
Itotal =8(2.681)+2(2.681)=26.81mA
となる。
本発明の好ましい実施形態によれば、バス電圧は、この在来の3.3vバスレベルから例えば、約1.80ボルトの公称電圧振幅を定める約1.8ボルトのバス電圧へ、大幅に低減される。この場合、最低ハイ出力レベル電圧VOH-Rの限界例は約1.44ボルト(公称電源電圧の80%)であり得、最高ロー出力レベル電圧VOL-Rの例は約0.36ボルト(公称電源電圧の20%)であり得る。この低減電圧動作では、これらの電圧は名目上1.80ボルトである電源電圧に基づき、約1.60ボルト〜約2.0ボルトまで変動することを許される。最善の場合(データ転送に関して。電流消費に関しては最悪の場合)の50MHzのデータ速度を仮定すると、入出力線I/O1〜I/Onのための充電周波数は25MHzとなる。単一の入出力線I/Okについて消費される電流Ikは、ハイデータレベルとローデータレベルとの間の代表的な1.8ボルトの振幅を用いて、
Ik =25*0.065(1.8)=2.925mA
と計算され得る。このように、この入出力線あたりの電流消費は、アドバンスト動作モードについて余り違わないが、2倍のデータ速度を提供する。しかし、読み出しイネーブル信号RE_は通常動作モードの場合と同じ周波数で動作する(しかし、立ち上がりエッジだけではなくて各エッジで1データワードをクロックする)。しかし、その電圧振幅も、1.8ボルトバス電圧で動作するので、低減され、従って、その電流消費は入出力線のうちの1つについてのものと同じである。従って、この例についてアドバンスト動作モードで消費される総電流は、再び8本の入出力線I/O1〜I/O8を仮定すれば、
Itotal =8(2.925)+1(2.925)=26.33mA
となり、これは3.3ボルトバス電圧で動作する在来のフラッシュメモリカードについてのものより僅かに少ない。また、この僅かに少ない電流消費は入出力信号のためのより低い電圧振幅(3.3ボルトに対して1.8ボルト)で達成されるので、このアドバンスト動作モードで消費される電力は、在来のフラッシュメモリカードで消費されるものよりも大幅に少ない。これらの例では、在来の8I/Oフラッシュメモリにおいて通常動作モードで消費される電力は約88mW(3.3ボルト×26.81mA)であり、前述した本発明の好ましい実施形態の例により消費される電力は約47mW(1.8ボルト×26.33mA)である。電力消費のこの大幅な低減は、大きなバーストについてのデータ速度の2倍に近い、データ転送速度の大幅な改善と結合して達成される。
従って、アドバンスト読み出しデータ転送が(在来のフラッシュメモリ装置と関連して)これらのより低いバス電圧で実行される本発明の好ましい実施形態によれば、アドバンストモードで消費される電流は通常動作モードの在来のフラッシュメモリ装置により消費されるものより決して悪くない。また、フラッシュメモリ装置10が通常動作モードで動作する能力も有する本発明のこの好ましい実施形態によれば、より低いバス電圧はアドバンストモードおよび通常動作モードの両方にも、またコマンドおよびアドレス値の伝達を含む他の動作のためにも、使用される。このように、フラッシュメモリ装置10は、データ転送時に、在来のフラッシュメモリ装置より少ない電力を消費する。
前述したものから明らかなように、コマンド信号およびアドレス信号は通常動作モードで伝達される。実現を容易にするために、これらの信号の伝達のためのバス電圧もより低いバス電圧(例えば、1.8ボルト)に好ましく保たれ、フラッシュメモリカード25の電力消費の付加的な低減を提供する。
図5aに戻って参照すると、本発明のこの実施形態に従うフラッシュメモリ装置10は、コントローラ30からの中断リクエストに応答することができる。本発明によれば、例えばその内部受信データバッファが満杯であるなどの、いくつかの理由のうちのいずれか1つのために読み出しデータ転送の中断がコントローラ30により必要と見なされ得ると考えられる。従って、図5aの判定51は、そのような中断が必要とされるか否かを判定する。必要でなければ、図6aに関して前に説明したように高速読み出しデータ転送がプロセス56で続行される。
コントローラ30が読み出しデータ転送の中断を要求すれば(判定51が肯定であれば)、それはプロセス52で中断リクエストを発する。この代表的な実施例では、このリクエストは、コントローラ30が読み出し転送動作中にアドレスラッチイネーブル信号ALEでアクティブハイレベルをアサートすることによってなされる。図6bは、アドバンストモードでの読み出しデータ転送中に(すなわち、このモードが起動されてデータ転送が始まった後に)発生した、そのような中断動作を示す。図6bの例では、コントローラ30は、フラッシュメモリ装置10からコントローラ30へのデータ転送中にアドレスラッチイネーブル信号ALEをアサートすることによってデータ転送中断をリクエストする。応答して、フラッシュメモリ装置10は(示されているようにローレベルのときまたはハイレベルのときに)読み出しイネーブル信号RE_を中断させ、従って、読み出しイネーブル信号RE_が中断させられた後の次のデータワードの発行を遅延させる。このアドバンストモードで読み出しイネーブル信号RE_と入出力線I/O1〜I/Onとの速いスイッチング速度が与えられたとすれば、中断をリクエストするためにアドレスラッチイネーブル信号ALEがアクティブハイに駆動された後に1つまたは2つの付加的なデータワードと読み出しイネーブル信号RE_の対応するエッジとがフラッシュメモリ装置10によって駆動され得ると考えられる。この例では、コントローラ30は出力データワードDout (4)の間にアドレスラッチイネーブル信号ALEをアサートし、フラッシュメモリ装置10は、出力データワードDout (6)の間、読み出しイネーブル信号RE_と入出力線I/O1〜I/Onとのさらなる遷移を抑えることによって、応答する。
さらなるデータ転送のこの中断は、アドレスラッチイネーブル信号ALEを非アクティブ化し、これにより中断を終了させるためにコントローラ30がプロセス54を実行するまで続く。図6bに示されているように、中断状態は、コントローラ30がアドレスラッチイネーブル信号ALEを非アクティブロー状態にしたときに、終了させられる。本発明のこの実施形態によれば、アドレスラッチイネーブル信号ALEのこの遷移は、フラッシュメモリ装置10からの次の出力データワード、すなわちこの例ではデータワードDout (7)のための読み出しデータストローブとして役立つ。この最初の中断後データワードの後に、フラッシュメモリ装置10は、示されているように読み出しイネーブル信号RE_の遷移をアサートすることによって読み出しストローブ信号を再び生成する。この例において、読み出しイネーブル信号RE_の次の遷移は、中断期間終了後の第2の出力データワードDout (8)のためのストローブである。図6bに示されているように、アドバンストモード読み出しデータ転送はプロセス56で続行する。
図5aに戻って参照すると、アドバンストモード読み出しデータ転送は、コントローラ30がこの転送を終了させることを望むようなときまで続行し、これをプロセス58,59でフラッシュメモリ装置10に対して示す。通常、この転送は、フラッシュメモリ装置10内の1つのページの末尾に到達しているとコントローラ30が判定したときに終了させられるが、この転送は他の理由(例えば、この動作のための所望のデータの全体を受け取ったとき)からもコントローラ30により終了させられ得る。
この例に従って、このデータ転送を終了させるために、コントローラ30は、始めに、例えば前述したようにアドレスラッチイネーブル信号ALEのアクティブハイレベルをアサートすることによって、プロセス58で中断を発する。図6cは終了プロセス58,59のこの例を示し、そこにはアドバンスト読み出しデータ転送動作中のアドレスラッチイネーブル信号ALEの遷移が示されている。プロセス58のこの中断動作は、コントローラ30がこの中断動作中にプロセス59を実行することによってアドバンスト読み出しデータ転送の終了に変換される。代わりに、プロセス59を、フラッシュメモリ装置10自体がその出力データがページの末尾に達したと判定した後に実行することができ、その場合にはフラッシュメモリ装置10自体は読み出しイネーブル信号RE_をその最後のレベルに保つとともに入出力線I/O1〜I/On上の現在の(すなわち、最後の)出力データワードを維持し、この場合、アドレスラッチイネーブル信号ALEは非アクティブローに留まる。図6cに示されている例では、このデータ転送は、アドレスラッチイネーブル信号ALEがアクティブハイである間にコントローラ30がコマンドラッチイネーブル信号CLEでアクティブハイレベルをアサートすることによって終了させられる。コマンドラッチイネーブル信号CLEのこの遷移に応答して、フラッシュメモリ装置10は、その出力ドライバを制御して入出力線I/O1〜I/Onを高インピーダンス状態にし、また読み出しイネーブル信号RE_に対応する導体のこのフラッシュメモリ装置による制御を放棄し、その両方の場合にコントローラ30がデータ競合問題を避けながら適時にこれらの線の制御を取ることを許す。図6cの例において示されているように、中断動作と終了動作とは読み出しイネーブル信号RE_がローレベルであるときに発生したので、コントローラ30は、読み出しイネーブル信号RE_の制御を取ると、対応する線上に非アクティブハイレベルを駆動し、図に示すように遷移を生じさせる。中断動作および終了動作が読み出しイネーブル信号RE_が既にハイレベルであるときに発生したならば、もちろん、この線上にはなんらの遷移も生じない。
フラッシュメモリ装置10はその後、通常動作モード(“レガシー”モード)に戻り、制御を図5aの流れ図のプロセス44に返す。本発明のこの好ましい実施形態では、新しいアドバンストモード読み出しデータ転送は開始プロセス48の他の1つの事例を必要とする。
さらに代案では、コントローラ30がチップイネーブル信号CE_をアサート解除すれば、無条件終了が発生する。しかし、この制御されない終了は“グリッチ”と、フラッシュメモリ装置10およびコントローラ30の内部および外部の両方における他のスプリアス不定事象をもたらす可能性があると考えられる。
本発明のこの好ましい実施形態に従って、コントローラ30からフラッシュメモリ装置10へのデータ転送のためにも、換言すれば書き込みデータ転送動作のためにも、アドバンスト高性能モードが提供される。以下に説明するように、図5bの流れ図と、図6aおよび6d〜6eのタイミング図とが、この動作を示す。
アドバンストモード書き込みデータ転送を行うために、フラッシュメモリ装置10は、プロセス60で入る通常動作モードから始める。読み出しデータ転送の場合と同様に、通常モード動作(あるならば)が始めにプロセス62で実行され得る。プロセス64で、コントローラ30は、図4bに関して前に説明したようにこの通常動作モードでアドレス値をフラッシュメモリ装置10に対して発する。そして、プロセス66で、コントローラ66は、図6aに関して前に説明したアドバンスト読み出しデータ転送のために行われるのと同様の仕方でアドバンストデータ転送モードを開始する。このアドバンストモードでの書き込みデータ転送は、プロセス66を通して、読み出しデータ転送が行われたのと実質的に同一の仕方で実行されると考えられる。従って、例えば、プロセス66で発せられるコマンド値IDT_CMDは読み出しおよび書き込みデータ転送動作の両方のために同じであると考えられる。あるいは、これら2つの動作のために互いに別々のコマンド値が割り当てられてもよい。
プロセス68で、コントローラ30およびフラッシュメモリ装置10はアドバンスト書き込みデータ転送を実行する。図6dは、コマンド値IDT_CMDと、コマンドラッチイネーブルCLEのアクティブハイレベルと、書き込みイネーブル信号WE_のアクティブローパルスとの組み合わせがコントローラ30によりフラッシュメモリ装置10へ発せられてアドバンストモードデータ転送を開始するプロセス66を含む、この動作の例における信号のタイミングを示す。前の例の場合と同様に、アドレスラッチイネーブル信号ALEは非アクティブローレベルに保たれ、チップイネーブル信号CE_はアクティブローに保たれる。そして、この動作はデータ書き込みであるので、読み出しイネーブル信号RE_(図6dには示されていない)はコントローラ30により終始非アクティブハイに保たれる。書き込みデータ転送プロセス68はコントローラ30の完全制御下に留まるので、本発明のこの実施形態では、コマンドIDT_CMDの発行と書き込みデータ転送の開始との間の待ち時間は、読み出しデータ転送(図6a)における第1の出力データワードの前のものより遥かに短くなり得る。好ましくは、図に示されているように、開始コマンドIDT_CMDに対応する書き込みイネーブル信号WE_のパルスの立ち上がりエッジと、第1の入力データワードDin(0)に対応する書き込みイネーブル信号WE_の第1のパルスの立ち下がりエッジとの間に所定時間が経過する。
いったん書き込みデータ転送が始まれば、本発明のこの好ましい実施形態において、書き込みイネーブル信号WE_の立ち下がりエッジおよび立ち上がりエッジの両方が、コントローラ30によりアサートされる書き込みデータストローブとして作用する。図6dに示されているように、これは、コントローラ30が書き込みイネーブル信号WE_の各エッジと同期して新しい有効な書き込みデータワードDin(k)を入出力線I/O1〜I/On上に発することを可能にする。その結果として、このアドバンストモードにおける書き込みデータ転送速度は、同じ書き込みイネーブル信号WE_周波数について、通常動作モード書き込み動作のデータ速度の2倍近くになり得る。
本発明のこの実施形態によれば、図5bに戻って参照すると、アドバンストモード書き込みデータ転送中に中断判定69も実行される。通常、書き込み中断の必要性はコントローラ30によってのみ決定され、フラッシュメモリ装置10がこのデータ速度でバッファオーバーフローなどなしに入力データを受信できると考えられる。中断が不要ならば(判定69は否定)、プロセス72でデータ転送が続行される。コントローラ30がそれを必要とするならば(判定69が肯定)、プロセス70で書き込みデータ転送の中断が行われる。この例では、中断プロセス70は、単にコントローラ30が書き込みイネーブル信号WE_の状態を必要なだけ延長することによって行われる。この中断はいずれの状態でも(書き込みイネーブル信号WE_がハイに保たれた状態でも、あるいはローに保たれた状態でも)実行され得る。図6dは書き込みデータワードDin(2)の持続時間中の中断プロセス70を示し、このとき書き込みイネーブル信号WE_はローに保たれる。もちろん、コントローラ30は中断プロセス70中は付加的な書き込みデータワードDin(k)を発しない。中断期間の終止は、書き込みデータ転送を続行するために(プロセス72)コントローラ30が単に書き込みイネーブル信号WE_の遷移を、図6dに示されている例では次の有効な書き込みデータワードDin(3)とともに、駆動することによって行われる。
そして、読み出しデータ転送の場合と同じく、データおよび制御信号(入出力線I/O1〜I/Onと、書き込みイネーブル信号WE_のための線)の電圧レベルは、例えばハイロジックレベルとローロジックレベルとの間の1.8ボルトの“振幅”を伴って、好ましくは在来のレベルよりは低い電圧レベルである。前に詳述したように、この低電圧バスは、このアドバンスト書き込みデータ転送モードにより消費される電力を、半分のデータ速度で通常動作モードで動作している在来のフラッシュメモリシステムにおいて消費されるものと同じまたはそれより低く保つ。
図5bに戻って図6eと組み合わせて参照すると、書き込みデータ転送の終了は、読み出しデータ転送の終了と同じ仕方で行われる。コントローラ30は、転送を中断させるためにアドレスラッチイネーブル信号ALEをプロセス74でアクティブハイレベルにアサートし、その後に(アドレスラッチイネーブル信号ALEをハイに保ちながら)プロセス76でコマンドラッチイネーブル信号CLEをアクティブハイレベルにアサートし、これがそのとき書き込みデータ転送を終了させる。図6eは、書き込みデータ転送を終了させるときの種々の信号のタイミングを示す。書き込みイネーブル信号WE_は、図6eに示されているようにハイレベルに保たれるか、あるいは(この例では)最後のデータワードDin(5)がラッチされた後にローレベルからハイレベルにされる。アドレスラッチイネーブル信号ALEおよびコマンドラッチイネーブル信号CLEのハイレベルを所定のパルス幅にわたって保つことによって行われるアドバンストモード書き込みデータ転送の終了の後、フラッシュメモリ装置10およびコントローラ30の通常動作モードに再び入る。
この例では、アドバンストモードを起動するためにはコマンドの実行が必要とされることを考慮すると、また、データ転送の終了時に(すなわち、コマンドの実行を必要とせずに)フラッシュメモリ装置10の動作が通常動作モードに戻ることを考慮すると、通常動作モードは実際上“デフォルト”動作モードである。その代わりに、フラッシュメモリ装置10がいったんアドバンストデータ転送モードになったならば、通常動作モードに戻るコマンドがコントローラ30により発せられてフラッシュメモリ装置10により実行されるまでフラッシュメモリ装置10がそのモードに留まるように、アドバンストデータ転送モードおよび通常動作モードの両方に入るためにコマンドの実行が必要とされるようにフラッシュメモリ装置10が構成されてもよい。もちろん、このようなアプローチは、コマンドシーケンスの性質において付加的なオーバーヘッドを必要とする。
さらに、その代わりに、フラッシュメモリ装置10を通常動作モードにするためにコマンドがコントローラ30により発せられるまで全てのデータ転送がアドバンストモードで行われるように、フラッシュメモリ装置10の“デフォルト”動作モードがアドバンストデータ転送モードであり得るということが考えられる。本発明のこの代わりの実施形態では、フラッシュメモリ装置10がいったん通常動作モードになったならば、データ転送の完了は、フラッシュメモリ装置10がアドバンストデータ転送モードに戻るという結果をもたらす。
図7は、本発明のこの代わりの好ましい実施形態に従うフラッシュメモリ装置10の動作を示し、アドバンストデータ転送モードは実際上“デフォルト”モードである。プロセス80で、フラッシュメモリ装置10とコントローラ30とはパワーアップされるか、さもなければリセット動作を終え、コマンドの発行あるいは実行を必要とすることなくプロセス82で実際上デフォルト状態としてのアドバンスト動作モードに入る。プロセス84で、実際上図6b〜6dに関して前に説明したように、読み出しおよび書き込み動作がアドバンストデータ転送動作モードで実行される。このアドバンストモードでは、例えば図6cに関して前に説明したように中断動作などが実行され得ると考えられ、さらに、アドレス、コマンド、およびステータス伝達動作のような他の動作が、所望ならば、なお通常動作モードのアプローチに従い得ると考えられる。
プロセス86で、本発明のこの好ましい実施形態に従うフラッシュメモリカード25は、コントローラ30が1つのアドレス値をフラッシュメモリ装置10に対して発して通常動作モード転送が始まるべきメモリ位置を示すことによって、通常のデータ転送、あるいは“レガシー”データ転送に備える。プロセス88で、コントローラ30は通常動作モードを開始させるコマンドシーケンスを発する。このコマンドシーケンスは図6aに関して前に説明したものに実質的に対応し、このコマンドシーケンス自体は通常動作モードに従って好ましく動作すると考えられる(コマンドコード値は単一バイト値であると考えられる)。コマンド88に応答して、フラッシュメモリ装置10は、データ転送の方向に応じて、例えば図4cおよび4dに関して前に説明したように、通常動作モード読み出しまたは書き込みデータ転送動作を実行する。本発明のこの実施形態では、コントローラ30は、前述したように、読み出しデータストローブおよび書き込みデータストローブクロック信号の両方を好ましく発する。
そして、本発明のこの代わりの好ましい実施形態によれば、データ転送終了時に通常動作モードから出る。図7の例では、図5aおよび5bに関しての前に説明した場合と同様に、プロセス92でコントローラ30が中断信号(例えば、アドレスラッチイネーブル信号のアクティブレベル)を発したことによるデータ転送の終了後、コントローラ30はプロセス93で(例えば、コマンドラッチイネーブル信号のアクティブレベルを発することにより)転送を終了させる。本発明のこの好ましい実施形態による通常動作モードのデータ転送の終了のときに、制御をプロセス84に戻し、ここでアドバンストデータ転送モードに再び入って、プロセス84で希望通りに読み出しおよび書き込みデータ転送動作が実行される。
本発明のこの代わりの好ましい実施形態を超える、フラッシュメモリ装置10の種々の動作モードに入り、また出ることについての他の代わりのアプローチは本願明細書を参照した当業者にとっては明らかであると考えられ、また、これらの実施例および他のそのような代わりの実施例も特許請求の範囲に記載された本発明の範囲内にあると考えられる。
ここで図8a〜8eを参照して、本発明の第2の好ましい実施形態に従う、フラッシュメモリカード25の文脈におけるフラッシュメモリ装置10とコントローラ30との間の信号のタイミングを以下に詳しく説明する。本発明のこの第2の好ましい実施形態に従うアドバンストモードに入り、出るプロセス全体と、このモード中の動作とは、読み出し動作について図5aに関して、また書き込み動作について図5bに関して前に説明したプロセスに好ましくは従う。従って、これらのプロセスについての詳しい説明を図8a〜8eと関連して繰り返されない。
本発明の第1の好ましい実施形態に関して前に説明したように、フラッシュメモリ装置10およびコントローラ30は、パワーアップ後、通常動作(“レガシー”)モードになる。従って、この通常モードでの読み出しおよび書き込み動作(あるならば)は、ユーザの希望通りに行われる。そのとき、読み出し動作のためのアドバンスト動作モードに入る動作は、このアドバンスト動作モードでデータが読み出されることになる最初のメモリアドレスに対応するメモリアドレス値をコントローラ30が通常動作モードにおいてフラッシュメモリ装置10に対して発することによって行われる。前の場合と同じく、このメモリアドレスは、アドレスラッチイネーブル信号ALEのアクティブレベルと組み合わされて入出力線I/O1〜I/On上に置かれる。
このメモリアドレスが伝達された後、コントローラ30は、チップイネーブル信号CE_アクティブロー、アドレスラッチイネーブル信号ALE非アクティブロー、およびコマンドラッチイネーブル信号CLEアクティブハイによって、前の場合と同様に“データ転送開始”、すなわち“IDT”、コマンドシーケンスをフラッシュメモリ装置10に対して発する。図8aはこの動作を示す。書き込みイネーブル信号WE_のアクティブローパルスの立ち上がりエッジは、コントローラ30によって入出力線I/O1〜I/On上に駆動されたIDTコマンド値IDT_CMD(他の割り当てられたコマンド値とは異なる値を有するバイナリワードである)のためのデータストローブとして作用する。書き込みイネーブル信号WE_がハイにされてから所定時間後に、コントローラ30は入出力線I/O1〜I/Onを高インピーダンス状態にする。
本発明のこの第2の好ましい実施形態に従って、フラッシュメモリ装置10は、読み出しイネーブルストローブ信号RE_の制御を取ってこれを駆動する。従って、図8aに示されているように、IDTコマンドをストローブする書き込みイネーブル信号WE_の立ち上がりエッジから時間trel が経過したとき、コントローラ30はその読み出しイネーブル信号RE_の制御を放棄する。フラッシュメモリ装置10の制御ロジック18は、その後、コントローラ30と競合せずに対応する線RE_の状態を駆動することができる。フラッシュメモリ装置10は、その後、高速アドバンストモード読み出しデータ転送を実行し始める。本発明のこの第2の好ましい実施形態に従って、図8aに示されているように、フラッシュメモリ装置10は、レガシーモードで利用可能なものより高い周波数の読み出しイネーブル信号RE_と結合した、レガシーモードのものより高いデータ速度で、アドレス指定されたメモリセルからのデータを与える。
例えば、フラッシュメモリ装置10は、このアドバンストモードにおいて、レガシーモードにおけるこの信号の周波数の2倍の周波数でのこの装置による読み出しイネーブル信号RE_の駆動と結合した、レガシーモードでデータが与えられる周波数の2倍の周波数で、出力データを入出力線I/Oで与えることができる。レガシーモードでの最高の利用可能なデータ転送速度および読み出しストローブ周波数が25MHzである例について、アドバンストモードデータ転送速度および読み出しイネーブル信号RE_の周波数は50MHzの高さであり得る。フラッシュメモリ装置10自体が読み出しイネーブル信号RE_およびデータワードの発信源であるので、これらの信号がフラッシュメモリ装置10により作られる周波数はコントローラ30の直接制御下にはない。
図8aは、このアドバンストモード読み出し動作を示す。読み出しデータ転送プロセスは、書き込みイネーブル信号WE_の立ち上がりエッジからゼロではないアクセス時間が経過した後に、フラッシュメモリ装置10が第1の有効出力データワードDout (0)を発することから始まる。第1の出力データワードDout (0)後に、フラッシュメモリ装置10は、付加的な出力データワードDout (1)以下参照と同期して読み出しイネーブル信号RE_のアクティブパルスを発し始める。本発明のこの好ましい実施形態によれば、読み出しイネーブル信号RE_の各々の完全なサイクルと同期して1つのデータワードDout (k)が発せられる。図8aの例では、読み出しイネーブル信号RE_の立ち下がりエッジが、データワードと同期する信号エッジである。もちろん、その代わりに読み出しイネーブル信号RE_の立ち上がりエッジ(すなわち、読み出しイネーブル信号“RE”)が動作エッジであってもよい。図8aに示されているように、各出力データワードDout (k)は、それに対応する読み出しイネーブル信号RE_の立ち下がりエッジからゼロではないアクセス時間後に続く。代わりに、読み出しイネーブル信号RE_の各立ち下がりエッジは、それに対応する有効データワードDout (k)の中でコントローラ30に対して発せられ(あるいは発せられるべく遅延させられ)てもよい。
従って、本発明のこの第2の好ましい実施形態では、このアドバンストモードにおいてフラッシュメモリ装置10が入出力線I/O1〜I/Onを介してデータをコントローラ30に与える速度は、通常動作モード(図4d)におけるデータ速度より大幅に速くて、代表的な実施形態ではこのデータ速度の2倍近くになる。このより高いデータ速度は、或る程度、フラッシュメモリ装置10が読み出しイネーブル信号RE_の読み出しデータストローブエッジを発することを許すことによって可能にされ、コントローラ30がこれらの読み出しデータストローブエッジを発するとすれば伴うことになる伝播遅延と所要のタイミングウィンドウとをなくす。さらに、本発明の第1の好ましい実施形態に関して前に説明したように、入出力線I/O1〜I/Onにおけるこの増大したデータ速度は、データ信号(および所望ならば、読み出しイネーブル信号RE_)の低減された電圧振幅を用いることによって、フラッシュメモリ装置10およびコントローラ30の電力消費を劇的に増大させることなく、達成される。前述したように、これらの線の公称電圧振幅は、この在来の3.3vバスレベルから、例えば約1.80ボルトの公称電圧振幅まで大幅に低減される。
フラッシュメモリ装置10とコントローラ30との間に16ビット入出力バスインターフェイスがある例(すなわち、16本の入出力線I/O1〜I/O16がある)では、本発明のこの第2の好ましい実施形態は、本発明の第1の好ましい実施形態のものより僅かに多い電力消費を伴うに過ぎない。前述したように、50MHzのデータ速度では、入出力線I/O1〜I/Onのための充電周波数は、本発明のこの好ましい実施形態によれば25MHzとなる。従って単一の入出力線I/Okのために消費される電流Ik は、ハイデータレベルとローデータレベルとの間の代表的な1.8ボルト振幅を用いて、
Ik =25*0.065(1.8)=2.925mA
と計算され得る。しかし、読み出しイネーブル信号RE_は通常動作モードおよび本発明の第1の好ましい実施形態における周波数の2倍の周波数で動作するので、その電流消費は単一の入出力線I/Okのものの2倍の
IRE=50*0.065(1.8)=2*2.925mA=5.850mA
になる。従って、この例で、16本の入出力線I/O1〜I/O16の場合、アドバンスト動作モードで消費される総電流は、
Itotal =16(2.925)+5.850=52.65mA
となり、これは本発明の第1の好ましい実施形態で消費されるもの(すなわち、49.73mA)より僅かに多い。在来のデータ転送のために消費される電流は、16ビットI/Oバスの場合、前の説明に従って、
Itotal =16(2.681)+2(2.681)=48.62mA
となり、これは本発明のこの第2の好ましい実施形態による52.65mAより僅かに少ない。しかし、本発明のこの実施形態に従って消費される電流は在来の実施例より僅かに多いけれども、この電流レベルは入出力信号のためのより低い電圧振幅(3.3ボルトに対して1.8ボルト)で達成される。その結果として、このアドバンスト動作モードで消費される電力は、在来のフラッシュメモリカードで消費されるものより大幅に少ない。これらの例によれば、在来の16I/Oフラッシュメモリにおいて通常動作モードで消費される電力は約160mW(3.3ボルト×48.62mA)であるが、前述した本発明の好ましい実施形態の例により消費される電力は約95mW(1.8ボルト×52.65mA)である。電力消費のこの大幅な低減は、大きなバーストのためのデータ速度の2倍に近いデータ転送速度の大幅な改善と結合して達成される。
前の場合のように、コントローラ30は、例えば(フラッシュメモリ装置10からの)その入力バッファが満杯になったならば、フラッシュメモリ装置10に対して中断リクエストを発することができる。そのような中断リクエストに応じたフラッシュメモリ装置10の動作が図8bに示されている。中断リクエストは、高速読み出し転送中にコントローラ30がアドレスラッチイネーブル信号ALEでアクティブハイレベルをアサートすることにより行われる。このリクエストに応答して、フラッシュメモリ装置10は読み出しイネーブル信号RE_を(図に示すようにハイレベルのときまたはローレベルのときに)中断させ、読み出しイネーブル信号RE_の次のサイクルを遅らせる。データ転送速度が速いために、1つまたは2つの付加的なデータワードと、読み出しイネーブル信号RE_の対応するサイクルとがフラッシュメモリ装置10の出力“パイプ線”の中に既に入っているかもしれず、これらの対応するデータワードは、フラッシュメモリ装置10が中断リクエストに反応する前に出力され得る。この例では、コントローラ30は出力データワードDout (4)の間にアドレスラッチイネーブル信号ALEをアサートし、フラッシュメモリ装置10は出力データワードDout (6)の間に読み出しイネーブル信号RE_のさらなるサイクルと入出力線I/O1〜I/Onにおける遷移とを抑えることによって応答する。
図8cは、本発明のこの好ましい実施形態によるアドバンストモード高速読み出しデータ転送の終了を示す。前の場合と同じく、コントローラ30は、始めに、アドレスラッチイネーブル信号ALEのアクティブハイレベルをアサートすることによって中断リクエストを発することにより高速データ転送を終了させる。中断リクエストの間、アドレスラッチイネーブル信号ALEがアクティブハイである間にコントローラ30はコマンドラッチイネーブル信号CLEでアクティブハイレベルをアサートすることによってデータ転送動作を終了させる。これに答えて、フラッシュメモリ装置10は、その出力ドライバに入出力線I/O1〜I/Onを高インピーダンス状態に置かせ、また、読み出しイネーブル信号RE_に対応する導体の制御を放棄する。コントローラ30は今、次の動作のために適切であるならば、これらの線の制御を取ることができる。
本発明のこの第2の好ましい実施形態によるアドバンストモードでの書き込み動作をここで図8dおよび8eに関連して説明する。読み出しデータ転送の場合と同じく、フラッシュメモリ装置10およびコントローラ30が通常の、すなわちレガシーモードで動作した後に、アドバンストモードに入る。書き込み動作のためにアドバンストデータ転送モードに入ることは、図8aに関連して前に説明したアドバンスト読み出しデータ転送の場合と同様に行われる。図8dに示されているように、アドバンストモードコマンド値IDT_CMDは、コントローラ30によって、コマンドラッチイネーブルCLEのアクティブハイレベルおよび書き込みイネーブル信号WE_のアクティブローパルスと組み合わされて、発せられる。前と同様に、アドレスラッチイネーブル信号ALEは非アクティブローレベルに保たれ、チップイネーブル信号CE_はアクティブローに保たれる。このアドバンストモードに入るためのデータ書き込み動作は、コントローラ30が読み出しイネーブル信号RE_(図8dには示されていない)を書き込み動作中ずっと非アクティブハイに保つことによって示される。開始コマンドIDT_CMDと一緒の書き込みイネーブル信号WE_のパルスの立ち上がりエッジと、第1の入力データワードDin(0)に対応する書き込みイネーブル信号WE_の第1のパルスの立ち下がりエッジとの間に所定時間が経過することが許される。
このアドバンストモード書き込みデータ転送の間、本発明のこの第2の好ましい実施形態に従って、書き込みイネーブル信号WE_のサイクルの周波数は、例えば、通常モードにおける書き込みに使用されるものの周波数の2倍に、高められる。この例では書き込みイネーブル信号WE_の立ち下がりエッジが書き込みデータストローブとして作用する。また、このアドバンストモードでも、また通常モードでも、入出力線I/O1〜I/On上にコントローラ30によって駆動されるデータ値と組み合わされて、書き込みイネーブル信号WE_がコントローラ30によってアサートされる。図8dに示されているように、コントローラ30は、書き込みイネーブル信号WE_の各立ち下がりエッジと同期して新しい有効な書き込みデータワードDin(k)を入出力線I/O1〜I/On上に発する。この例では書き込みイネーブル信号WE_の周波数が2倍にされているので、このアドバンストモードにおける書き込みデータ転送速度は、通常動作モード書き込み動作のデータ速度の2倍に近づくことができる。例えば、通常モードにおいて最高書き込みデータ転送速度と書き込みイネーブル信号周波数とが25MHzであるならば、本発明のこの第2の好ましい実施形態に従うアドバンストモードではデータ転送速度および書き込みイネーブル信号周波数は50MHzの高さまで高められ得る。本発明のこの実施形態によれば、フラッシュメモリ装置10は、その高い速度でデータを受け取って処理できるように構成される。もちろん、システムの用途と、コントローラ30自体がデータを処理する速度とによって、コントローラ30は、最高(例えば、50MHz)よりは低い周波数の実際の書き込みイネーブル信号周波数およびデータ速度を用いることができる。
また、本発明のこの実施形態に従って、中断がアドバンストモード書き込みデータ転送に挿入され得る。この例では、前と同様に、コントローラ30は、図8dに示されているように、書き込みイネーブル信号WE_の状態を単に必要なだけ延長することによって書き込みデータ転送を中断させる。この中断はいずれの状態でも(書き込みイネーブル信号WE_がハイに保持された状態でも、あるいはローに保持された状態でも)行われ得る。この中断期間中、もちろん、新しいデータワードDin(k)は発せられない。中断期間は、書き込みデータ転送を続けるために、コントローラ30が図8dに示されている例では次の有効な書き込みデータワードDin(3)とともに書き込みイネーブル信号WE_の次のサイクルを駆動することによって終了させられる。
そして、読み出しデータ転送の場合と同じく、データおよび制御信号(入出力線I/O1〜I/On、および書き込みイネーブル信号WE_のための線)は、好ましくは、例えばハイロジックレベルとローロジックレベルとの間の1.8ボルト“振幅”を伴って、在来のレベルより低い電圧レベルである。前に詳述したように、このより低い電圧バスは、このアドバンスト書き込みデータ転送モードにより消費される電力を、半分のデータ転送速度で、通常動作モードで動作する在来のフラッシュメモリシステムにおいて消費されるものと同じかまたはそれより低く保つ。
図8eを参照すると、アドバンストモード書き込みデータ転送は、本発明のこの第2の好ましい実施形態に従ってアドバンスト読み出しデータ転送の終了と同じに行われる。アドバンストモードの終了はコントローラ30が書き込み転送を中断させるためにアドレスラッチイネーブル信号ALEをアクティブハイレベルに駆動することによって行われ、この時間中にコントローラ30は書き込みデータ転送を終了させるために(アドレスラッチイネーブル信号ALEをハイに保ちながら)コマンドラッチイネーブル信号CLEをアクティブハイレベルにアサートする。書き込みイネーブル信号WE_は、(この例では)最後のデータワードDin(5)がラッチされた後、ハイレベルに保たれるかまたはハイレベルにされる。アドレスラッチイネーブル信号ALEおよびコマンドラッチイネーブル信号CLEにおいて所定パルス幅の間ハイレベルを保つことによって行われる、アドバンストモード書き込みデータ転送の終了の後、フラッシュメモリ装置10およびコントローラ30の通常動作モードに再び入る。
従って、本発明のこの第2の好ましい実施形態によれば、アドバンスト、すなわち高速データ転送動作モードは、データ速度を高めるためにより高い周波数のストローブ信号の使用を可能にすることによって、代わりの仕方で行われる。本発明の第2の好ましい実施形態に従うこの動作は、或るフラッシュメモリの応用では所望の動作により適合するかもしれないと考えられる。
図2に戻って参照して、本発明の第3の好ましい実施形態によれば、読み出しイネーブル信号RE_と書き込みイネーブルWE_信号との両方が双方向性である。通常動作モードにおける読み出し動作について、フラッシュメモリアレイ12から読み出されるデータの宛先である外部装置は読み出しデータストローブの発信源であり、フラッシュメモリ装置10への入力として読み出しイネーブルRE_信号として伝えられる。書き込み動作について、この通常動作モードにおいて、入力データを供給する外部装置は、入力データを入出力線I/O1〜I/Onに置くと同時に、書き込みデータストローブを書き込みイネーブルWE_信号として生じさせる。本発明の好ましい実施形態に従うアドバンスト動作モードにおける読み出し動作では、以下でさらに詳しく説明するように、制御ロジック18は、互いに位相シフトしている2つの読み出しデータストローブを発し、それらの読み出しデータストローブのうちの一方は読み出しイネーブルRE_信号であり、他方は書き込みイネーブルWE_信号である。これらの信号の各々のエッジすなわち遷移は、フラッシュメモリアレイ12から読み出されてデータレジスタ14、I/O制御回路20および入出力端子I/O1〜I/Onを介して伝達されるデータと同期する。同様に、書き込み動作は、アドバンスト動作モードにおいて、データ発信源によりフラッシュメモリ装置10へ発せられる書き込みデータストローブとして読み出しイネーブルRE_信号および書き込みイネーブルWE_信号の両方を使用することによって、行われる。
本発明のこの第3の好ましい実施形態では、図3を参照すると、線RE_は、レガシーモード読み出し動作(データはフラッシュメモリ10から読み出されてコントローラ30に伝達される)のためのデータストローブを伝え、そのようなものとしてフラッシュメモリ装置10(図2)の端子RE_に接続される。前述したように、本発明のこの第3の好ましい実施形態によれば、線RE_は双方向性であり、読み出しデータストローブの発信源はフラッシュメモリ装置10の現在の動作モードによる。通常動作モードでは、コントローラ30が読み出しデータストローブを生じさせ、これに応答してフラッシュメモリ装置10は装置自体が信号線I/O1〜I/Onで与えるデータを有効なものとして主張する。本発明の好ましい実施形態に従うアドバンスト動作モードでは、フラッシュメモリ装置10が、フラッシュメモリ装置10からコントローラ30へのデータ転送のために線RE_上に読み出しデータストローブを生じさせる。また、以下で詳述するように、コントローラ30は、アドバンストモード書き込み動作中にも線RE_をストローブする。従って、読み出し動作および書き込み動作の両方において交互のデータワードをストローブするために使用される第2の位相シフトしたストローブ信号を提供するために、線WE_と同様に、制御線RE_は本発明の好ましい実施形態に従うアドバンストデータ転送モードで読み出し動作および書き込み動作の両方に関係する。
以下でさらに詳しく説明するように、コントローラ30により信号線I/O1〜I/Onを介して伝達されるコマンドは、フラッシュメモリ装置10がどの動作モードでデータをコントローラ30に転送しているかに関わらず、信号線RE_上の読み出しデータストローブソースと同期する。
従って、本発明の好ましい実施形態に従って、フラッシュメモリ装置10はアドバンスト、高性能、読み出しおよび書き込み動作モードを提供し、コントローラ30はそのアドバンストモードを利用するように構成される。本発明のこの第3の好ましい実施形態に従うこのアドバンストモードを利用するときのフラッシュメモリ装置10およびコントローラ30の動作を、ここで図5aおよび5bの流れ図および図9a〜9eのタイミング図と関連して、詳しく説明する。
図5aおよび9a〜9cは、データ読み出し動作(すなわち、フラッシュメモリカード25において、フラッシュメモリ装置10からコントローラ30への)を実行するときのフラッシュメモリ装置10の動作を示す。図5aのプロセス40で、フラッシュメモリ装置10およびコントローラ30はパワーアップされ、前に図4a〜4dに関して説明したように、これらの装置の両方を通常動作モードにする(プロセス42)。プロセス44で、この通常モードでの読み出しおよび書き込み動作(あれば)がこの通常動作(“レガシー”)モードで実行される。
アドバンスト読み出し動作モードに入ることはプロセス46から始まり、ここでコントローラ30は、図4bに関連して前に説明したように、通常動作モードに従ってメモリアドレス値をフラッシュメモリ装置10へ発する。プロセス46でコントローラ30により発せられるメモリアドレスは、このアドバンスト動作モードでデータが読み出される最初のメモリアドレスであって、好ましくは、前述したように、対応する読み出しアドレス入力コマンドの送信に続く。プロセス48で、コントローラ30は、“データ転送開始”、すなわち“IDT”、コマンドシーケンスをフラッシュメモリ装置10へ発する。図9aは、この動作をさらに詳しく示す。
本発明の好ましい実施形態に従って、プロセス48で、アドバンストデータ転送モードを開始するために“IDT読み出し”コマンドがコントローラ30によりフラッシュメモリ装置10へ発せられる。このコマンドは、図4aに関連して前に説明したコマンドの発行と同様の仕方で発せられ、コントローラ30はチップイネーブル信号CE_をアクティブローに、アドレスラッチイネーブル信号ALEを非アクティブローに、コマンドラッチイネーブル信号CLEをアクティブハイに駆動する。書き込みイネーブル信号WE_のアクティブローパルスの立ち上がりエッジは、コントローラ30により入出力線I/O1〜I/On上に駆動されたIDTコマンド値IDT_RD_CMD(他の割り当てられたコマンド値と異なる値を有するバイナリワードである)のためのデータストローブとして作用する。書き込みイネーブル信号WE_がハイにされてから所定時間後に、コントローラ30は入出力線I/O1〜I/Onを高インピーダンス状態にする。そして、書き込みイネーブル信号WE_の立ち上がりエッジ(このときIDT読み出しコマンドを中にストローブする)からのもう1つの経過時間trel の後、コントローラ30はその読み出しイネーブル信号RE_の制御を放棄して、フラッシュメモリ装置10の制御ロジック18が(コントローラ30とのデータ競合を敢行せずに)対応する線RE_およびWE_の状態を駆動することを可能にする。本発明のこの好ましい実施形態によれば、アドバンストモードデータ転送の方向(すなわち、書き込みかあるいは読み出しか)は、アドバンストデータ転送モードに入るときのIDTコマンドの値により確定され、これは、以下に説明するように、読み出しイネーブルRE_信号および書き込みイネーブルWE_信号の両方がデータ転送自体に使用されることを可能にする。
あるいは、アドバンストデータ転送モードに入ること、およびこのモードで読み出し動作と書き込み動作とのいずれが実行されるべきかは、他の方法でコントローラ30からフラッシュメモリ装置10に伝えられ得る。例えば、(例えば、読み出しイネーブルRE_信号および書き込みイネーブルWE_信号に加えて、ALE線、CLE線、WP_線、およびCE_線に接続されている信号線のうちの1つ以上を含む制御バスCTRLの線のうちの1つ以上での)制御信号の遷移の特定のシーケンス。読み出し動作および書き込み動作のいずれかまたは両方のためにアドバンストデータ転送モードに入ることへの、これらのアプローチおよび他の代わりのアプローチは、本願明細書を参照した当業者にとっては明らかであろうと考えられる。
いったんIDT読み出しコマンドがフラッシュメモリ装置10の中にラッチされて実行されたならば、フラッシュメモリ装置10は高速モード読み出しデータ転送プロセス50を実行し始める。図9aに示されているように、この読み出しデータ転送プロセスは、フラッシュメモリ装置10が、書き込みイネーブル信号WE_の立ち上がりエッジから1つのゼロではないアクセス時間が経過した後に、第1の有効出力データワードDout (0)を発することから始まる。いったんこの第1の出力データワードDout (0)を与えたならば、フラッシュメモリ装置10は、付加的な出力データワードDout (1)以下参照の交替する1つ1つと同期して、読み出しイネーブル信号RE_および書き込みイネーブル信号WE_の両方のアクティブパルスを発し始める。本発明のこの好ましい実施形態では、読み出しイネーブル信号RE_および書き込みイネーブル信号WE_は互いに位相を異にし、各々の同じエッジ(例えば、この例では立ち下がりエッジであるが、もちろん、代わりに立ち上がりエッジが使用されてもよい)が対応するデータワードをクロックする。図9aに示されているように、このアドバンストモード読み出し動作では書き込みイネーブル信号WE_は読み出しイネーブル信号RE_と位相を180°異にしている。この相補的位相関係は、本発明のこの好ましい実施形態に従うこの動作のために必須ではない。なぜならば、出力データワードのストロービングは、次の代わりの立ち下がりエッジが生じるたびに、この立ち下がりエッジの時に行われるからである。しかし、最速の指定されたレベルでデータ転送速度を最大にするためにこの相補的位相関係が望ましい。図9aに示されているように、フラッシュメモリ装置10自体により駆動される読み出しイネーブル信号RE_および書き込みイネーブル信号WE_の各立ち下がりエッジと同期して1つのデータワードDout (k)が発せられる。図9aの例では、各出力データワードDout (k)はその対応するストローブエッジに1つのゼロではないアクセス時間だけ遅れて続くが、その代わりに各読み出しイネーブル信号RE_および書き込みイネーブル信号WE_の立ち下がりエッジがそれに対応する有効データワードDout (k)の中でコントローラ30に対して発せられ(あるいは発せられるべく遅延され)てもよい。
従って、本発明の好ましい実施形態に従って、フラッシュメモリ装置10がこのアドバンストモードで入出力線I/O1〜I/Onを介してデータをコントローラ30に与える速度は、通常動作モード(図4d)におけるデータ速度より大幅に速く、代表的な実施形態においてこのデータ速度の2倍に近い。このより高いデータ転送速度は、或る程度、フラッシュメモリ装置10が読み出しイネーブル信号RE_および書き込みイネーブル信号WE_の読み出しデータストローブエッジを発することを許すことによって可能にされ、コントローラ30がこれらの読み出しデータストローブエッジを発するとすれば、伴うことになる伝播遅延および所要のタイミングウィンドウをなくす。さらに、これら2つの信号の立ち下がりストローブエッジの周波数は、単一の信号のものの2倍に近い。データ転送の方向はIDT読み出しコマンド値によりセットされるので、書き込みイネーブル信号WE_はこの読み出し動作に使用され得る。
しかし、当業者にとっては明らかであるように、出力データが入出力線I/O1〜I/Onで与えられる増大した速度は、他の全ての要素が同等であるならば、この読み出し動作において主としてフラッシュメモリ装置10のI/O制御回路20内の出力駆動回路から、フラッシュメモリカード25内での消費電力を大幅に増大させる。この電力消費は、最新の傾向がそうであるように、データワード幅(すなわち、入出力線I/O1〜I/Onの数n)が大きくなるに連れて、悪化する。本発明の好ましい実施形態に従って、以下に説明するように、この電力消費は入出力線I/O1〜I/Onにおける出力信号の電圧振幅を減少させることによって大幅に低減される。
在来のフラッシュメモリ装置は周知の3.3ボルトバス標準規格を利用し、この規格では最低のハイレベル出力電圧VOHは2.4ボルトであり、最高のローレベル出力電圧VOLは0.4ボルトであり、公称電圧振幅は約3.3ボルトである。この標準規格によれば、当該技術分野で周知されているように、これらの電圧は名目上3.30ボルトの電源電圧に基づき、それは2.70ボルトおよび3.60ボルトの間の仕様範囲を有する。
本発明の好ましい実施形態によれば、バス電圧は、この在来の3.3vバスレベルから例えば、約1.80ボルトの公称電圧振幅を定める約1.8ボルトのバス電圧へ、大幅に低減される。この場合、最低ハイ出力レベル電圧VOH-Rの限界例は約1.44ボルト(公称電源電圧の80%)であり、最高ロー出力レベル電圧VOL-Rの例は約0.36ボルト(公称電源電圧の20%)であり得る。この低減電圧動作では、これらの電圧は名目上1.80ボルトである電源電圧に基づき、約1.60ボルト〜約2.0ボルトまで変動することが許される。データ速度がより高いのに、このアドバンスト動作モード動作で消費される電流が、より大きな電圧振幅における通常動作モードでのものより大幅に多くはなくて、僅かに少なくなり得るということは容易に計算され得る。その理由は、各出力におけるデータ遷移によって、寄生容量がそこまで充電されなければならないところの電圧が、より大きな電圧振幅での通常動作モードにおけるものより低いことにある。しかし、入出力信号のより小さな電圧振幅は、このアドバンスト動作モードにおける電力消費が在来のフラッシュメモリカードで消費されるものより大幅に少ないという結果をもたらす。電力消費のこの大幅な低減は、大きなバーストについてのデータ転送速度の2倍に近い、データ転送速度の大幅な改善と結合して達成される。
従って、アドバンスト読み出しデータ転送がこれらの(在来のフラッシュメモリ装置と比べて)より低いバス電圧で実行される本発明の好ましい実施形態では、アドバンストモードで消費される電流は、通常動作モードにおいて在来のフラッシュメモリ装置により消費されるものより決して悪くない。また、フラッシュメモリ装置10が通常動作モードでも動作できる能力を有する本発明のこの好ましい実施形態では、より低いバス電圧は、アドバンストモードおよび通常動作モードの両方において、また、コマンド値およびアドレス値の伝達を含む他の動作のためにも、使用される。従って、フラッシュメモリ装置10は、そのデータ転送時に、在来のフラッシュメモリ装置より少ない電力を消費する。
前述したものから明らかなように、コマンドおよびアドレス信号は通常動作モードで伝達される。実施を容易にするために、これらの信号の伝達のためのバス電圧もより低いバス電圧(例えば、1.8ボルト)に好ましくは保たれ、フラッシュメモリカード25の電力消費の付加的な低減を提供する。
図5aに戻って参照すると、本発明のこの実施形態に従うフラッシュメモリ装置10は、コントローラ30からの中断リクエストに応答することができる。本発明によれば、例えばその内部受信データバッファが満杯であるなどの、いくつかの理由のうちのいずれか1つのために読み出しデータ転送の中断がコントローラ30により必要と見なされ得ると考えられる。従って、図5aの判定51は、そのような中断が必要とされるか否かを判定する。必要でなければ、図9aに関して前に説明したように高速読み出しデータ転送がプロセス56で続行される。
コントローラ30が読み出しデータ転送の中断を要求すれば(判定51が肯定であれば)、それはプロセス52で中断リクエストを発する。この代表的な実施例では、このリクエストは、コントローラ30が読み出し転送動作中にアドレスラッチイネーブル信号ALEでアクティブハイレベルをアサートすることによってなされる。図9bは、アドバンストモードでの読み出しデータ転送中に(すなわち、このモードが起動されてデータ転送が始まった後に)発生した、そのような中断動作を示す。図9bの例では、コントローラ30は、フラッシュメモリ装置10からコントローラ30へのデータ転送中にアドレスラッチイネーブル信号ALEをアサートすることによってデータ転送中断をリクエストする。応答して、フラッシュメモリ装置10は(図に示されているように、ローレベルまたはハイレベルのときに)読み出しイネーブル信号RE_および書き込みイネーブル信号WE_を中断させ、従って、読み出しイネーブル信号RE_および書き込みイネーブル信号WE_が中断させられた後の次のデータワードの発行を遅延させる。このアドバンストモードで読み出しイネーブル信号RE_と、書き込みイネーブル信号WE_と、入出力線I/O1〜I/Onとの速いスイッチング速度が与えられたとすれば、中断をリクエストするためにアドレスラッチイネーブル信号ALEがアクティブハイに駆動された後に1つまたは2つの付加的なデータワードと読み出しイネーブル信号RE_および書き込みイネーブル信号WE_の対応するエッジとがフラッシュメモリ装置10によって駆動され得ると考えられる。この例では、コントローラ30は出力データワードDout (4)の間にアドレスラッチイネーブル信号ALEをアサートし、フラッシュメモリ装置10は、出力データワードDout (6)の間、読み出しイネーブル信号RE_と、書き込みイネーブル信号WE_と、入出力線I/O1〜I/Onとのさらなる遷移を抑えることによって、応答する。
さらなるデータ転送のこの中断は、アドレスラッチイネーブル信号ALEを非アクティブ化し、これにより中断を終了させるためにコントローラ30がプロセス54を実行するまで、続く。図9bに示されているように、中断状態は、コントローラ30がアドレスラッチイネーブル信号ALEを非アクティブロー状態にしたときに、終了させられる。本発明のこの実施形態によれば、アドレスラッチイネーブル信号ALEのこの遷移は、フラッシュメモリ装置10からの次の出力データワード、すなわちこの例ではデータワードDout(7)、のための読み出しデータストローブとして役立つ。この最初の中断後データワードの後に、フラッシュメモリ装置10は、示されているように読み出しイネーブル信号RE_および書き込みイネーブル信号WE_の遷移をアサートすることによってストローブ信号を再び生成する。この例において、書き込みイネーブル信号WE_の次の有効な遷移は、中断期間終了後の第2の出力データワードDout (8)のためのストローブであり、読み出しイネーブル信号RE_の次の有効な遷移は中断期間後の第3の出力データワードDout (9)のためのストローブである。図9bに示されているように、アドバンストモード読み出しデータ転送はプロセス56で続行する。
図5aに戻って参照すると、アドバンストモード読み出しデータ転送は、コントローラ30がこの転送を終了させることを望むようなときまで続行し、これをプロセス58,59でフラッシュメモリ装置10に対して示す。通常、この転送は、フラッシュメモリ装置10内の1つのページの末尾に到達しているとコントローラ30が判定したときに終了させられるが、この転送は他の理由(例えば、この動作のための所望のデータの全体を受け取ったとき)からもコントローラ30により終了させられ得る。
この例に従って、このデータ転送を終了させるために、コントローラ30は、始めに、例えば前述したようにアドレスラッチイネーブル信号ALEのアクティブハイレベルをアサートすることによって、プロセス58で中断を発する。図9cは終了プロセス58,59のこの例を示し、そこにはアドバンスト読み出しデータ転送動作中のアドレスラッチイネーブル信号ALEの遷移が示されている。プロセス58のこの中断動作は、コントローラ30がこの中断動作中にプロセス59を実行することによってアドバンスト読み出しデータ転送の終了に変換される。代わりに、プロセス59を、フラッシュメモリ装置10自体がその出力データがページの末尾に達したと判定した後に実行することができ、その場合にはフラッシュメモリ装置10自体は読み出しイネーブル信号RE_および書き込みイネーブル信号WE_をその最後のレベルに保つとともに入出力線I/O1〜I/On上の現在(すなわち、最後)の出力データワードを維持し、この場合、アドレスラッチイネーブル信号ALEは非アクティブローに留まる。図9cに示されている例では、このデータ転送は、アドレスラッチイネーブル信号ALEがアクティブハイである間にコントローラ30がコマンドラッチイネーブル信号CLEでアクティブハイレベルをアサートすることによって終了させられる。コマンドラッチイネーブル信号CLEのこの遷移に応答して、フラッシュメモリ装置10は、その出力ドライバを制御して入出力線I/O1〜I/Onを高インピーダンス状態にし、また読み出しイネーブル信号RE_および書き込みイネーブル信号WE_に対応する導体のこのフラッシュメモリ装置による制御を放棄し、その両方の場合にコントローラ30がデータ競合問題を避けながら適時にこれらの線の制御を取ることを許す。図9cの例において示されているように、中断動作と終了動作とは読み出しイネーブル信号RE_および書き込みイネーブル信号WE_がローレベルであるときに発生したので、コントローラ30は、読み出しイネーブル信号RE_および書き込みイネーブル信号WE_の制御を取ると、対応する線上に非アクティブハイレベルを駆動し、図に示すように遷移を生じさせる。中断動作および終了動作がこれらの信号のいずれかまたは両方が既にハイレベルであるときに発生したならば、もちろん、その線上にはなんらの遷移も生じない。
フラッシュメモリ装置10はその後、通常動作モード(“レガシー”モード)に戻り、制御を図5aの流れ図のプロセス44に戻す。本発明のこの好ましい実施形態では、新しいアドバンストモード読み出しデータ転送は開始プロセス48の他の1つの事例を必要とする。
さらに、代案では、コントローラ30がチップイネーブル信号CE_をアサート解除すれば、無条件終了が発生する。しかし、この制御されない終了は“グリッチ”と、フラッシュメモリ装置10およびコントローラ30の内部および外部の両方における他のスプリアス不定事象をもたらす可能性があると考えられる。
本発明のこの好ましい実施形態に従って、コントローラ30からフラッシュメモリ装置10へのデータ転送のためにも、換言すれば書き込みデータ転送動作のためにも、アドバンスト高性能モードが提供される。以下に説明するように、図5bの流れ図と、図9aおよび9d〜9eのタイミング図とが、この動作を示す。
アドバンストモード書き込みデータ転送を行うために、フラッシュメモリ装置10は、プロセス60で入る通常動作モードから始める。読み出しデータ転送の場合と同様に、通常モード動作(そうであるならば)が始めにプロセス62で実行され得る。プロセス64で、コントローラ30は、図4bに関して前に説明したようにこの通常動作モードでアドレス値をフラッシュメモリ装置10に対して発する。そして、プロセス66で、コントローラ66は、図9aに関して前に説明したアドバンスト読み出しデータ転送のために行われるのと同様の仕方でアドバンストデータ転送モードを開始する。このアドバンストモードでの書き込みデータ転送は、このアドバンストモードデータ転送が読み出しではなくて書き込み動作(コントローラ30からフラッシュメモリ装置10への)であることを示すために異なるコマンド値IDT_WR_CMDで行われることを除いて、プロセス66を通して、読み出しデータ転送が行われたのと実質的に同一の仕方で実行されると考えられる。以下に説明するように、この異なる値は、書き込みイネーブル信号WE_および読み出しイネーブル信号RE_の両方が書き込み転送自体の中で使用されることを可能にする。
プロセス68で、コントローラ30およびフラッシュメモリ装置10はアドバンスト書き込みデータ転送を実行する。図9dは、コマンド値IDT_WR_CMDと、コマンドラッチイネーブルCLEのアクティブハイレベルと、書き込みイネーブル信号WE_のアクティブローパルスとの組み合わせがコントローラ30によりフラッシュメモリ装置10へ発せられてアドバンストモードデータ転送を開始するプロセス66を含む、この動作の例における信号のタイミングを示す。前の例の場合と同様に、アドレスラッチイネーブル信号ALEは非アクティブローレベルに保たれ、チップイネーブル信号CE_はアクティブローに保たれる。そして、この動作はデータ書き込みであるので、読み出しイネーブル信号RE_(図9dには示されていない)はコントローラ30により終始非アクティブハイに保たれる。書き込みデータ転送プロセス68はコントローラ30の完全制御下に留まるので、本発明のこの実施形態では、コマンドIDT_WR_CMDの発行と書き込みデータ転送の開始との間の待ち時間は、読み出しデータ転送(図9a)における第1の出力データワードの前のものより遥かに短くなり得る。好ましくは、図に示されているように、開始コマンドIDT_WR_CMDに対応する書き込みイネーブル信号WE_のパルスの立ち上がりエッジと、第1の入力データワードDin(0)に対応する書き込みイネーブル信号WE_(または読み出しイネーブル信号RE)の第1のパルスの立ち下がりエッジとの間に所定時間が経過する。
いったん書き込みデータ転送が始まれば、本発明のこの好ましい実施形態において、書き込みイネーブル信号WE_および読み出しイネーブル信号RE_の立ち下がりエッジが、コントローラ30によりアサートされる書き込みデータストローブとして作用する。もちろん、その代わりに、これらの信号の立ち上がりエッジが使用されてもよい。さらに、読み出しデータ転送の場合と同様に、書き込みイネーブル信号WE_および読み出しイネーブル信号RE_が互いに位相外れの関係、データ転送速度を最大にするために好ましくは180°位相関係を有することによって、この書き込み動作におけるデータ転送速度が高められる。図9dに示されているように、これは、コントローラ30が書き込みイネーブル信号WE_および読み出しイネーブル信号RE_の両方の各立ち下がりエッジと同期して新しい有効な書き込みデータワードDin(k)を入出力線I/O1〜I/On上に発することを可能にする。その結果として、このアドバンストモードにおける書き込みデータ転送速度は、書き込みイネーブル信号WE_および読み出しイネーブル信号RE_の通常のレガシー動作モードにおける周波数と同じ周波数について、通常動作モード書き込み動作のデータ速度の2倍近くになり得る。
本発明のこの実施形態によれば、図5bに戻って参照すると、アドバンストモード書き込みデータ転送中に中断判定69も実行され得る。通常、書き込み中断の必要性はコントローラ30によってのみ決定され、フラッシュメモリ装置10はこのデータ速度でバッファオーバーフローなどなしに入力データを受信できると考えられる。中断が不要ならば(判定69は否定)、プロセス72でデータ転送が続行される。コントローラ30がそれを必要とするならば(判定69が肯定)、プロセス70で書き込みデータ転送の中断が行われる。この例では、中断プロセス70は、単にコントローラ30が書き込みイネーブル信号WE_および読み出しイネーブル信号RE_の状態を必要なだけ延長することによって行われる。この中断はいずれの状態でも(書き込みイネーブル信号WE_および読み出しイネーブル信号RE_がハイに保たれた状態でも、あるいはローに保たれた状態でも)実行され得る。図9dは書き込みデータワードDin(2)の持続時間中の中断プロセス70を示し、このとき書き込みイネーブル信号WE_はローに保たれ、読み出しイネーブル信号RE_はハイに保たれる。もちろん、コントローラ30は中断プロセス70中に付加的な書き込みデータワードDin(k)を発しない。中断期間の終止は、書き込みデータ転送を続行するために(プロセス72)コントローラ30が単に書き込みイネーブル信号WE_または読み出しイネーブル信号RE_の立ち下がりエッジ遷移を、図9dに示されている例では次の有効な書き込みデータワードDin(3)とともに、駆動することによって行われる。
そして、読み出しデータ転送の場合と同じく、データおよび制御信号(入出力線I/O1〜I/Onと、書き込みイネーブル信号WE_および読み出しイネーブル信号RE_のための線)の電圧レベルは、例えばハイロジックレベルとローロジックレベルとの間の1.8ボルトの“振幅”を伴って、好ましくは在来のレベルよりは低い電圧レベルである。前に詳述したように、この低電圧バスは、このアドバンスト書き込みデータ転送モードにより消費される電力を、半分のデータ速度で通常動作モードで動作している在来のフラッシュメモリシステムにおいて消費されるものと同じまたはそれより低く保つ。
図5bに戻って図9eと組み合わせて参照すると、書き込みデータ転送の終了は、読み出しデータ転送の終了と同じ仕方で行われる。プロセス74で、コントローラ30は、転送を中断させるためにアドレスラッチイネーブル信号ALEをプロセス74でアクティブハイレベルにアサートし、その後に(アドレスラッチイネーブル信号ALEをハイに保ちながら)プロセス76でコマンドラッチイネーブル信号CLEをアクティブハイレベルにアサートし、そのとき書き込みデータ転送を終了させる。図9eは、書き込みデータ転送を終了させるときの種々の信号のタイミングを示す。書き込みイネーブル信号WE_および読み出しイネーブル信号RE_は、(この例では)最後のデータワードDin(5)がラッチされた後に、図9eに示されているようにハイレベルに保たれるか、あるいはハイレベルに駆動される。アドレスラッチイネーブル信号ALEおよびコマンドラッチイネーブル信号CLEのハイレベルを所定パルス幅にわたって保つことによって行われるアドバンストモード書き込みデータ転送の終了の後、フラッシュメモリ装置10およびコントローラ30の通常動作モードに再び入る。
この例では、アドバンストモードを起動するためにはコマンドの実行が必要とされることを考慮すると、また、データ転送の終了時に(すなわち、コマンドの実行を必要とせずに)フラッシュメモリ装置10の動作が通常動作モードに戻ることを考慮すると、通常動作モードは実際上“デフォルト”動作モードである。その代わりに、フラッシュメモリ装置10がいったんアドバンストデータ転送モードになったならば、通常動作モードに戻るコマンドがコントローラ30により発せられてフラッシュメモリ装置10により実行されるまではそれがそのモードに留まるように、アドバンストデータ転送モードおよび通常動作モードの両方に入るためにコマンドの実行が必要とされるようにフラッシュメモリ装置10が構成されてもよい。もちろん、このようなアプローチは、コマンドシーケンスの性質において付加的なオーバーヘッドを必要とする。
さらに、その代わりに、フラッシュメモリ装置10を通常動作モードにするためにコマンドがコントローラ30により発せられなければ全てのデータ転送がアドバンストモードで行われるように、フラッシュメモリ装置10の“デフォルト”動作モードがアドバンストデータ転送モードであり得ると考えられる。この場合、読み出しイネーブル信号および書き込みイネーブル信号の両方が前述したようにデータをストローブすることを可能にするために読み出しアドバンストモード動作かまたは書き込みアドバンストモード動作かの何らかの指示がコントローラ30により行われ得ると考えられる。本発明のこの代わりの実施形態では、フラッシュメモリ装置10がいったん通常動作モードになったならば、データ転送の完了は、フラッシュメモリ装置10がアドバンストデータ転送モードに戻るという結果をもたらす。
フラッシュメモリ装置10の種々の動作モードに入り、また出ることへの他の代わりのアプローチは、本願明細書を参照した当業者にとっては明らかであり、またこれらの実施例およびそのような他の代わりの実施例が特許請求の範囲に記載された本発明の範囲内にあると考えられる。
このように、本発明の好ましい実施形態に従うフラッシュメモリ装置10、コントローラ30、およびフラッシュメモリカード25は、在来の装置およびシステムと比べて重要な利点を提供する。本発明は、在来の装置およびシステムのデータ速度の2倍に近い高いデータ転送速度を可能にし、同時に、アドバンスト(進化した)能力を持っていない“レガシー”装置とのコマンドおよび信号の互換性をなお提供する。さらに、アドバンストデータ転送モードに関係するより低いバス電圧信号は、全体としての装置およびシステムの電流および電力消費を、在来のフラッシュメモリ装置およびシステムのものの近くあるいは本当にそれより少なく保つ。
結果として、データ転送速度が特に重要であるデジタルシステムの用途において本発明が特に有益であり得ると考えられる。前述したように、1つのそのような応用は、高性能デジタルスチルカメラにある。そのようなカメラでは、分解像(従って、1画像あたりに捉えられるデータ)はいまや10メガピクセルを超え、12.4メガピクセルに及ぶカメラが今では市場で入手可能である。しかし、画像センサからフラッシュメモリへのデータ転送速度は重要である。なぜならば、このデータ転送速度は、カメラのユーザが“シャッター遅れ (shutter lag)”として一般に経験する、画像が捉えられ得る速度における直接因子だからである。また、カメラのユーザは、主として、出会う絶対遅延(すなわち、各画像において捉えられるデータの量とは無関係)に関心を持つので、分解像が増大してゆくに連れてデータ転送速度に対するこの負担が重くなる。このような大データ転送速度のための他の1つの潜在的な用途は、コンピュータシステムにおいて、従来使用されてきた磁気ディスクドライブ大容量記憶装置の一部または全部に実質的に取って代わる大容量記憶媒体としての固体フラッシュメモリの使用にある。ディスクドライブではなくて固体メモリを使用できる能力は、コンピュータシステムのさらなる小形化および可搬性を可能にし、また最新の携帯システムおよびハンドヘルドシステムの機能性を大幅に高めると考えられる。
本発明はその好ましい実施形態に従って説明してきたけれども、もちろん、これらの実施形態の改変および代替は、本発明の利点および利益を得るものであって、本願明細書およびその図面を参照した当業者にとっては明らかであろうと考えられる。そのような改変および代替は、特許請求の範囲に記載されている本発明の範囲内にあると考えられる。