JP3779209B2 - 読み出し処理および書き込み処理を並列に実行する機能を有するシンクロナスフラッシュメモリ - Google Patents
読み出し処理および書き込み処理を並列に実行する機能を有するシンクロナスフラッシュメモリ Download PDFInfo
- Publication number
- JP3779209B2 JP3779209B2 JP2001573484A JP2001573484A JP3779209B2 JP 3779209 B2 JP3779209 B2 JP 3779209B2 JP 2001573484 A JP2001573484 A JP 2001573484A JP 2001573484 A JP2001573484 A JP 2001573484A JP 3779209 B2 JP3779209 B2 JP 3779209B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- read
- write
- memory
- bank
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims description 227
- 238000012545 processing Methods 0.000 title claims description 150
- 230000001360 synchronised effect Effects 0.000 title claims description 93
- 230000006870 function Effects 0.000 title description 18
- 238000000034 method Methods 0.000 claims description 206
- 230000006854 communication Effects 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 19
- 238000010586 diagram Methods 0.000 description 28
- 239000000872 buffer Substances 0.000 description 18
- 230000000630 rising effect Effects 0.000 description 9
- 238000007667 floating Methods 0.000 description 7
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1072—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2281—Timing of a read operation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/229—Timing of a write operation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2216/00—Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
- G11C2216/12—Reading and writing aspects of erasable programmable read-only memories
- G11C2216/22—Nonvolatile memory in which reading can be carried out from one memory bank or array whilst a word or sector in another bank or array is being erased or programmed simultaneously
Description
発明の技術分野
本発明は、不揮発性メモリに関し、特に、同期式(シンクロナス)の不揮発性フラッシュメモリに関する。
【0002】
発明の背景
通常、メモリデバイスは、コンピュータの内部記憶領域用として提供される。用語「メモリ」は、データの記録媒体として用いられる集積回路チップを示す。メモリには幾つかの種類がある。例えば、RAM(random-access memory)は、コンピュータのメインメモリとして用いられる。RAMは、読み書き可能なメモリである。つまり、データをRAMに書き込んだり、データをRAMから読み出したりすることができる。これに対し、ROMは、データの読み出ししかできないメモリである。RAMの多くは揮発性であり、コンテンツを記憶した状態を維持するためには、保持電流を必要とする。電源が切れれば、RAMに記録されたデータが失われる。
【0003】
ほとんどのコンピュータは、コンピュータを起動するための命令コード群が記録された小容量のROMを内蔵している。RAMとは異なり、ROMに書き込みを行うことはできない。EEPROM(electrically erasable programmable read-only memory)は、特別な不揮発性メモリであり、電荷を与えることによって(電気的に)データを消去することができる。他のROMと同様に、本来、EEPROMはRAMのように高速なメモリではない。EEPROMは、多数のメモリセルを備え、各メモリセルは、電気的に絶縁された複数のゲート(フローティングゲート)を有する。フローティングゲートの電荷の有無に応じてメモリセルにデータが記録される。プログラミングや消去処理によって、フローティングゲートに対して電荷が供給されたり除去されたりする。
【0004】
また、別の不揮発性メモリの例として、フラッシュメモリが挙げられる。フラッシュメモリは、EEPROMの一種であり、データの消去やプログラムの更新は、バイト単位ではなく、ブロック単位で行われる。最近のパーソナルコンピュータの多くは、フラッシュメモリチップにBIOSを記録しており、BIOSの更新を必要に応じて簡単に行うことができる。このようなBIOSは、フラッシュBIOSとも呼ばれる。フラッシュメモリは、モデムにも使用されることが多い。フラッシュメモリを使用することによって、新しいプロトコルが標準化された際に、モデムの製造元から提供されるファームウェアを更新して、このプロトコールをモデムがサポートするようにすることができる。
【0005】
通常、フラッシュメモリは、メモリアレイを備え、このメモリアレイは、行アドレスおよび列アドレスによって指定される多数のメモリセルで構成される。メモリセルの各々には、フローティングゲートを有して電荷を保持する電界効果トランジスタが設けられる。これらのセルは、ブロック単位のグループに分けられる。ブロックにおける各セルは、フローティングゲートに電荷を与えることによって、電気的に、ランダムにプログラムすることができる。蓄積電荷は、ブロック単位の消去処理によって、フローティングゲートから抜き出される。フローティングゲートにおける電荷の有無によってセルのデータが決定する。
【0006】
シンクロナスDRAM(SDRAM)は、従来のDRAMメモリよりも高速で動作するDRAMである。SDRAMは、CPUのバスと同期して動作する。SDRAMは、従来のFPM(Fast Page Mode)RAMの約3倍、EDO(Extended Data Output)DRAMやBEDO(Burst Extended Data Output)DRAMの約2倍の周波数である、100MHzで動作する。SDRAMは、高速アクセスが可能であるが、揮発性である。多くのコンピュータシステムは、SDRAMを使用して動作するように設計されているが、不揮発性メモリの利用も期待されている。
【0007】
上述した理由、または以下に述べる理由により、本技術分野において、SDRAMと同じように動作する不揮発性メモリデバイスに対する要求が存在する。これらの理由は、当業者であれば、明細書に記載された内容を理解することによって、明らかとなるであろう。特に、シンクロナス不揮発性メモリデバイスでは、読み出し処理と書き込み処理とを並列的に行う機能を備えることが求められている。
【0008】
発明の要旨
本発明は、上述したメモリデバイスの問題等を解決するためのものであり、以下の記載内容を検討することによって、理解可能となるであろう。
【0009】
一実施の形態においては、不揮発性メモリは、アドレス指定可能な複数のブロックに配列された不揮発性メモリセルのアレイと、アレイに接続された読み出し/書き込み回路とを含む。読み出し/書き込み回路は、アドレス指定可能な第1のブロックに対する第1のデータの書き込みと、アドレス指定可能な第2のブロックに対する第2のデータの読み出しとをほぼ同時に実行する。メモリは、前記第1のデータを前記メモリに書き込む前に格納するラッチを含んでいてもよい。
【0010】
別の実施の形態においては、不揮発性メモリにおける処理の実行方法は、不揮発性メモリのメモリアレイにおける第1のバンクロケーションに第1のデータを書き込むステップと、第1のデータの書き込みとほぼ同時に不揮発性メモリのメモリアレイにおける第2のバンクロケーションから第2のデータを読み出すステップとを含む。
【0011】
また、別の実施の形態のメモリにおける処理の実行方法は、外部から供給される第1のデータを受け取るステップと、書き込みラッチに第1のデータを格納するステップと、書き込みラッチからの第1のデータをメモリのメモリアレイにおける第1のバンクロケーションに書き込むステップと、前記第1のデータの書き込みとほぼ同時にメモリのメモリアレイにおける第2のバンクロケーションから第2のデータを読み出すステップとを含む。
【0012】
さらに、別の実施の形態においては、不揮発性メモリにおける処理の実行方法は、メモリに接続された第1の外部プロセッサから第1のデータを受け取るステップと、書き込みラッチに第1のデータを格納するステップと、書き込みラッチからの第1のデータを不揮発性メモリデバイスのメモリアレイにおける第1のロケーションに書き込むステップとを含む。また、この方法は、前記第1のデータの書き込みとほぼ同時に不揮発性メモリにおけるメモリアレイにおける第2のバンクロケーションから第2のデータを読み出すステップと、第2のデータを前記メモリデバイスに接続された第2の外部プロセッサに出力するステップとを含む。
【0013】
発明の実施の形態の説明
添付図面を参照して本発明の実施の形態を詳細に説明する。添付図面は、本明細書の一部を構成するものであり、本発明の具体的な実施の形態を例示的に示している。実施の形態の各々は、当業者が発明を実施できるように十分に説明されている。なお、本発明の精神および範囲を逸脱することなく、論理的、機械的、電気的な変更を加えて発明を実施してもよいことが理解されよう。従って、以下の詳細な説明は、限定的に解釈されるべきではない。本発明の範囲は、クレームによってのみ定義されるものである。
【0014】
以下の詳細な説明は、2つの主項目に分かれる。第1の項目(インタフェースの機能説明)では、SDRAMメモリとの互換性について詳細に説明されている。第2の項目(機能説明)では、フラッシュアーキテクチャにおける機能的コマンドが定められている。
【0015】
インタフェースの機能説明
図1Aは、本発明の一実施の形態を示すブロック図である。メモリデバイス100は、不揮発性のフラッシュメモリセル102のアレイを含む。このアレイは、アドレス指定が可能な複数のバンクに配列されている。本実施の形態においては、4つのメモリバンク104、106、108、110がメモリに含まれている。各メモリバンクは、メモリセルからなるアドレス指定が可能な複数のセクタを含む。メモリに保存されたデータは、ロケーションアドレスを用いることによってアクセスすることができる。このロケーションアドレスは、外部から供給され、アドレスレジスタ112によって受け取られる。該アドレスは、行アドレスマルチプレクサ114によって解読される。また、前記アドレスは、バンク制御ロジック116および行アドレスラッチ/デコーダ118によって解読される。メモリにおける所望の列にアクセスすることを可能にするために、列アドレスカウンタ/ラッチ120は、受け取った複数のアドレスを結合し、列デコーダ122に出力する。回路124は、入出力ゲート、データマスクロジック、読出しデータラッチ、さらに、書き込みドライバとしての機能を有する。データは、データ入力レジスタ126を通じて入力され、データ出力レジスタ128を通じて出力される。コマンド実行ロジック130は、メモリデバイスの基本動作を制御する。また、ステートマシン132は、メモリアレイおよびセル上で実行される特定の処理を制御する。さらに、データ出力のため、ステータスレジスタ134およびIDレジスタ136が設けられる。
【0016】
図1Bは、本発明の一実施の形態における接続ピン配列(入出力コネクタピンアサイン)を示す。メモリパッケージ150は、54個の接続ピンを有する。ピン構成は、既存のSDRAMパッケージのものと概ね同じである。本発明独自の接続ピンは、RP#152およびVccp154の2つである。本発明は、SDRAMのものと同じ接続ピンラベルを使用するが、本明細書において、接続ピンを通じて入出力される信号の機能は、特に説明がない限りは、SDRAMのものと同じではない。図1Cは、一実施の形態におけるメモリパッケージ160を示す。メモリパッケージ160は、ピンによる接続端子ではなく、バンプによる接続端子を有する。従って、本発明は、特定のパッケージ構成に限定されるものではない。
【0017】
メモリデバイスの処理の特徴を説明する前に、接続ピンおよび各接続ピンを通じて入出力される信号について説明する。入力クロック端子は、クロック信号(CLK)を供給する。クロック信号は、システムクロックによってドライブされる。シンクロナスフラッシュメモリの入力信号は、全て、CLKの立ち上がりエッジ(ポジティブエッジ)でサンプリングされる。また、CLKは、内部バーストカウンタのカウント値を増加させ、更に、出力レジスタを制御する。
【0018】
入力クロックイネーブル(CKE)端子は、CLK信号入力をアクティブ(活性化したHIGH状態)、非アクティブ(活性化していないLOW状態)にするために使用される。クロック入力を非アクティブにすることによって、POWER−DOWN_STANDBY処理(全てのメモリバンクがアイドル状態になる)、ACTIVE_POWER−DOWN処理(メモリ行がいずれかのバンクにおいてACTIVEになる)、または、CLOCK_SUSPEND処理(バースト/アクセスが続行中である)が可能になる。CKEは、メモリデバイスがパワーダウンモードに入っているとき以外は、同期状態になっている。メモリデバイスがパワーダウンモードに入っているときは、CKEは、非同期状態になっている。CLK等の入力バッファは、パワーダウンモードでは、無効になっており、低消費電力のスタンバイ状態になっている。CKEは、RP#がディープパワーダウンであるときを除き、パワーダウンモードが要求されていない場合は、システムにおいてHIGH状態に維持されていてもよい。
【0019】
チップセレクト(CS#)入力端子には、コマンド実行ロジックに設けられたコマンドデコーダを有効、無効にするための信号が入力される。信号がLOWであれば、コマンドデコーダが有効となり、信号がHIGHであれば、コマンドデコーダが無効となる。つまり、CS#がHIGHであれば、全てのコマンドがマスクされる。さらに、システムにおいて複数のバンクが存在する場合、CS#によって外部からバンクを選択できるようになる。従って、CS#は、コマンドコードの一部であるとみなすことができる。しかしながら、このCS#は、必須のものではない。
【0020】
入力コマンドを入力するための接続端子RAS#、CAS#およびWE#は(CAS#、CS#と共に)、後述するように、メモリによって実行されるコマンドを定義する。入出力マスク(DQM)端子は、書き込みアクセスのためのマスク信号を入力し、読み出しアクセスのためのイネーブル信号を出力するために使用される。WRITEサイクルの間にサンプリングされたDQMがHIGHであった場合には、入力データがマスクされる。READサイクルの間にサンプリングされたDQMがHIGHであった場合には、2クロックのレイテンシが経過後、出力バッファが高インピーダンス(High−Z)状態になる。DQMLは、データ端子DQ0〜DQ7に対応し、DQMHは、データ端子DQ8〜DQ15に対応する。DQMLおよびDQMHは、DQMとして参照されたとき、同一の状態であると考えられる。
【0021】
アドレス入力部(接続端子)133は、主に、アドレス信号を入力するために使用される。図示した実施の形態においては、メモリは12のライン(A0〜A11)を有する。また、後述するように、アドレス端子を通じて他の信号を入力するようにしてもよい。メモリバンクのあるロケーションを選択するために、ACTIVEコマンド(行アドレスA0〜A11)やREAD/WRITEコマンド(列アドレスA0〜A7)が発行された際、アドレス入力部の信号がサンプリングされる。アドレス入力部は、後述するLOAD_COMMAND_REGISTER処理の際、処理コード(OpCode)を入力するためにも使用される。また、アドレスラインA0−A11は、LOAD_MODE_REGISTER処理の際に、モード設定を入力するために使用される。
【0022】
入力リセット/パワーダウン(RP#)端子140は、リセット処理やパワーダウン処理を行うために使用される。一実施の形態においては、デバイスを立ち上げる(initial device power-up)ときには、RP#がLOWからHIGHになった後、実行可能なコマンドを発行する前に、デバイス内部での初期動作のため、100μsの遅延時間が必要となる。RP#信号がLOWになると、ステータスレジスタがクリアされ、デバイス内のステートマシン(ISM)132がアレイ読み出しモードに設定される。また、デバイスがディープパワーダウンモードになる。パワーダウンによって、CS#142を含む全ての入力端子が「ドントケア(Don't Care)」に設定され、全ての出力がHigh−Z状態になる。RP#信号がVHH電圧(5V)と同じになると、WRITE処理、ERASE処理の間、全ての保護モードが解除される。RP#信号によって、デバイス保護ビットが「1(保護モード)」に設定されるが、RP#信号がVHHになったときは、16ビットレジスタのロケーション0および15に存在するブロック保護ビットの各々が、「0(非保護モード)」に設定される。保護ビットについては後述する。他の処理モードの全てにおいて、RP#は、HIGHに維持される。
【0023】
バンクアドレス入力端子BA0およびBA1は、どのバンクに対し、ACTIVEコマンド、READコマンド、WRITEコマンド、または、BLOCK_PROTECTコマンドを発行するかどうかを定義する。DQ0〜DQ15端子143は、双方向データ通信に使用されるデータバス接続端子である。図1Bに示すVCCQ端子は、ノイズの干渉を受けにくくなるように、VCC端子と絶縁された電源をDQ端子に供給するために使用される。一実施の形態においては、VCCQ=Vcc、即ち、1.8V±0.15Vである。VSSQ端子は、ノイズの干渉を受けにくくなるように、DQ端子に対してVSS端子と絶縁されたグラウンドとして使用される。VCC端子は、例えば、3Vの電源供給用である。グラウンドへの接続は、Vss端子を通じて行われる。また、VCCP端子144を通じて別のオプション電圧を供給してもよい。VCCP端子は、デバイスの外部でVCC端子に接続され、デバイスの初期動作、WRITE処理、ERASE処理に使用される電流を供給する。つまり、メモリデバイスの書き込み処理や消去処理は、VCCP端子を通じて供給された電圧を用いて行われ、他の処理は、全て、VCC端子を通じて供給された電圧を用いて行われる。Vccp端子は、高圧スイッチ/ポンプ回路145に接続される。
【0024】
以下、シンクロナスフラッシュメモリの動作に関するより詳細な説明を行う。本発明の一実施の形態は、不揮発性であり、セクタ単位で電気的にデータを消去(フラッシュ)可能であり、プログラム可能なROMに関する。このメモリは、16ビット単位の4,194,304ワードとして構成される67,108,864ビットのデータ容量を有する。他のデータ容量でもよく、本発明は、例として示したデータ容量に限定されない。メモリバンクの各々は、4つの別個に消去可能なブロックで構成される。つまり、合計16のブロックが存在する。不慮の消去処理や上書き処理を防いで重要なファームウエアを確実に保護するために、メモリは、ハードウエアおよびソフトウエアによってロック可能な16個のブロックを含み、各ブロックは、256Kワードのデータ容量を有する。メモリには4つのバンクが含まれているため、真の並列処理を実現することができる。
【0025】
バンクに対する読み出しアクセスは、バックグラウンドで他のバンクに対してWRITE処理またはERASE処理を行っているときに行うことができる。シンクロナスフラッシュメモリは、シンクロナスインタフェースを有し、クロック信号CLKの立ち上がりエッジ上で全ての信号を登録することができる。また、メモリの読み出しは、バーストモードで行うことができる。つまり、メモリアクセスは、選択されたロケーションから開始され、アクセスするロケーションの数は、予めプログラムされている。メモリアクセスは、予めプログラムされたシーケンスに従って行われる。読み出しアクセスは、ACTIVEコマンドの登録で開始し、READコマンドによって続行される。ACTIVEコマンドと同時に登録されたアドレスビットは、アクセス対象のバンクと行を選択するために使用される。READコマンドと同時に登録されたアドレスビットは、バーストアクセスを開始する列のロケーションとバンクを選択するために使用される。
【0026】
シンクロナスフラッシュメモリは、1つのロケーション、2つのロケーション、4つのロケーション、8つのロケーション、または、フルページに対応するプログラム可能な読み出しバースト長を提供する。オプションとしてバースト終端を提供するようにしてもよい。また、シンクロナスフラッシュメモリは、高速処理を達成するために、内部パイプラインアーキテクチャを採用している。シンクロナスフラッシュメモリは、低電力のメモリシステム、例えば、3Vで駆動するシステムで動作する。メモリの動作モードとしては、ディープパワーダウンモードが省電力スタンバイモードとして提供される。全ての入出力は、LVTTL(low voltage transistor-transistor logic)互換である。シンクロナスフラッシュメモリは、フラッシュ処理性能を大幅に向上させることができる。ここで、フラッシュ処理性能とは、自動的に列アドレスを生成しながら高速にデータを転送する能力と、バーストアクセス期間にクロックサイクル毎に列アドレスをランダムに切り換える能力を含む。
【0027】
一般的に、シンクロナスフラッシュメモリは、低電圧で駆動し、複数のバンクを備えたDRAMと同様の構成を有する。バンクの各々は、複数の行と複数の列とで構成される。シンクロナスフラッシュメモリは、通常の処理を行う前に初期化される。以下、デバイスの初期化、レジスタの定義、コマンドの内容、およびデバイスの動作について詳細に説明する。
【0028】
シンクロナスフラッシュは、所定の方法で起動され(powered up)、初期化される。VCC、VCCQ、およびVCCPに対して(同時に)電源が供給されると、クロック信号が安定し、RP#140がLOW状態からHIGH状態になる。デバイス内部の初期化を完了するまでには、RP#がHIGH状態に移行した後、例えば、100μsの遅延時間が必要である。遅延時間が経過した後、メモリは、アレイ読み出しモードになり、モードレジスタへのプログラミング、または、コマンドの実行可能状態となる。不揮発性モードレジスタ(NVモードレジスタ)147に対する最初のプログラミングの後、初期化処理の間、コンテンツが自動的に揮発性モードレジスタにロードされる。デバイスは、予めプログラムされた状態で起動し(power-up)、処理コマンドを発行する前に再度不揮発性モードレジスタ147のリロードを行う必要はない。これについては後述する。
【0029】
モードレジスタ148は、シンクロナスフラッシュメモリの特定の処理モードを定義するために使用される。この定義には、図2に示すように、バースト長、バーストタイプ、CASレイテンシ、処理モードの選択が含まれる。モードレジスタは、LOAD_MODE_RESISTORコマンドに基づいてプログラミングを行い、再プログラミングが行われるまで、格納された情報を保持する。モードレジスタのコンテンツをNVモードレジスタ147にコピーしてもよい。NVモードレジスタの設定に基づいて、初期化処理の間、モードレジスタ148が自動的にロードされる。ERASE_NVMODE_REGISTERコマンド、WRITE_NVMODE_REGISTERコマンドの詳細については後述する。当業者であれば、SDRAMにおいては、初期化処理毎に、モードレジスタが外部からロードされる必要があることを理解できるであろう。本発明によればデフォルトモードの設定がNVモードレジスタ147に登録される。NVモードレジスタのコンテンツは、揮発性モードレジスタ148にコピーされ、メモリで各処理が実行されている間にアクセスされる。
【0030】
モードレジスタビットM0〜M2は、バースト長を定義する。モードレジスタビットM3は、バーストタイプ(シーケンシャル、インターリーブ)を定義する。モードレジスタビットM4〜6は、CASレイテンシを定義する。モードレジスタビットM7およびM8は、処理モードを定義する。モードレジスタビットM9は1に設定される。モードレジスタビットM10およびM11は、本実施の形態では予備とされている。本実施の形態では、WRITEバーストは、実行されないため、M9は、論理1に設定され、書き込みアクセスは、1つのロケーション(非バースト)で行われる。モードレジスタは、全てのバンクがアイドル状態にあるときにロードされる必要がある。コントローラは、後続の処理を開始するためには、所定の時間待機しなければならない。
【0031】
シンクロナスフラッシュメモリに対する読み出しアクセスは、バーストモードで行われる。バースト長は表1に示すようにプログラム可能である。バースト長は、所定のREADコマンドによって自動的にアクセス可能な列ロケーションの最大の数を定義する。バーストタイプがシーケンシャルの場合でも、インターリーブの場合でも、1つのロケーション、2つのロケーション、4つのロケーション、8つのロケーションに対応するバースト長を有する。また、バーストタイプがシーケンシャルである場合には、フルページに対応するバースト長を利用できる。バースト長がフルページである場合、BURST_TERMINATEコマンドを使用して任意のバースト長を作成してもよい。つまり、バーストを選択的に終了させることによって、バースト長をカスタマイズすることができる。READコマンドが発行されたとき、バースト長に相当する数の列を含むブロックを選択することができる。このバーストモードで行われるアクセスは、全て、選択されたブロック内で行われる。つまり、境界に達するまでそのブロック内を連続してアクセスする。バースト長が2に設定されている場合は、A1〜A7によってブロックが独自に選択される。バースト長が4に設定されている場合は、A2〜A7によってブロックが選択される。バースト長が8に設定されている場合は、A3〜A7によってブロックが選択される。残余の下位アドレスビット(最下位ビットを含む)は、ブロック内での開始位置を選択するために使用される。フルページバーストは、境界に達するまでそのページ内を連続してアクセスする。
【0032】
所定のバースト内で行われるアクセスは、ビットM3によって、シーケンシャル、またはインターリーブのバーストタイプにプログラムされる。バースト内でのアクセスの順序は、表1に示すように、バースト長、バーストタイプ、開始列アドレスによって決定される。
【0033】
【表1】
【0034】
CAS(Column Address Strobe)レイテンシは、READコマンドを登録した後、最初の出力データをDQ端子で利用できるまでの遅延時間をクロックサイクルで示している。レイテンシは、1、2、または3クロックサイクルに設定することができる。例えば、READコマンドがクロックエッジnで登録され、レイテンシがmクロックである場合、クロックエッジn+mでデータを利用可能になる。DQ接続部は、1サイクル前(n+m−1)のクロックエッジでデータのドライブを開始し、アクセスタイムが適切である場合には、クロックエッジn+mで有効なデータが得られる。例えば、アクセスタイムが適当となるようにクロックサイクル時間が設定されていると仮定すると、READコマンドがT0で登録され、レイテンシが2クロックである場合には、図3に示すように、DQは、T1以降にデータのドライブを開始し、T2で有効なデータが得られる。図3は、異なるクロックのレイテンシの設定を使用した場合の動作周期の例を示す。通常の処理モードは、M7およびM8を0に設定することによって選択される。予めプログラムされたバースト長がREADバーストに適用される。
【0035】
以下の真理値表は、本発明のメモリの処理コマンドをより詳細に示している。各コマンドおよび真理値表2について説明する。
【0036】
【表2】
【0037】
【表3】
【0038】
COMMAND_INHIBIT機能は、CLK信号が有効であるかどうかにかかわらず、シンクロナスフラッシュメモリによって新しいコマンドが実行されるのを禁止する。シンクロナスフラッシュメモリは、非選択状態となるが、既に実行中の処理には影響を与えない。
【0039】
NO_OPERATION(NOP)コマンドは、CS#がLOWとされて選択されたシンクロナスフラッシュメモリに対してNOPを実行するために使用される。NOPの実行によって、アイドル状態、または待機状態の間に希望しないコマンドが登録されることを防ぐことができる。但し、既に実行中の処理には影響を与えない。
【0040】
モードレジスタに対するデータは、入力端子A0〜A11を通じてロードされる。全てのアレイバンクがアイドル状態にあるときにのみ、LOAD_MODE_REGISTERコマンドが発行され、所定の遅延時間(MRD)が経過した後、次に実行されるべき処理のコマンドが発行される。NVモードレジスタ147が保持するデータは、LOAD_MODE_REGISTERコマンドによって動的に変更されない限り、電源立ち上げ時の初期化処理の際(upon power-up initialization)、自動的にモードレジスタ148にデフォルトデータとしてロードされる。
【0041】
ACTIVEコマンドは、アクセスが可能となるように、特定のアレイバンクの行を開く(アクティブにする)。入力端子BA0、BA1からの入力値によって、バンクが選択され、入力端子A0〜A11から入力されるアドレスによって行が選択される。次のACTIVEコマンド、パワーダウンコマンド、または、RESETコマンドが登録されるまで、この行は、アクセスが可能となるようにアクティブになっている。
【0042】
READコマンドは、アクティブな行に対してバーストモードで読み出しアクセスを開始するために使用される。入力端子BA0、BA1からの入力値によってバンクが選択され、入力端子A0〜A7から入力されるアドレスによって開始列ロケーションが選択される。DQ端子上の読み出しデータは、2クロック前におけるデータマスク(DQM)入力端子上でのロジックレベルに依存する。与えられたDQM信号の登録がHIGHであった場合には、2クロック後の対応するDQ端子は、High−Z(高インピーダンス)になる。与えられたDQM信号の登録がLOWであった場合には、DQ端子は有効なデータを保持する。従って、読み出し処理の間、DQM入力端子を用いて出力データをマスクすることができる。
【0043】
WRITEコマンドは、アクティブな行の1つのロケーションで行われる書き込みアクセスを開始するために使用される。WRITEコマンドを発行する前に、WRITE_SETUPコマンドを発行する必要がある。入力端子BA0、BA1からの入力値によってバンクが選択され、入力端子A0〜A7から入力されるアドレスによって、列ロケーションが選択される。DQ端子上の入力データは、メモリアレイに書き込まれる。入力データは、該入力データと同時に現れるDQM入力のロジックレベルに依存する。与えられたDQM信号の登録がLOWであった場合には、対応するデータがメモリに書き込まれる。DQM信号の登録がHIGHであった場合には、対応するデータの入力が無視され、書き込み対象となっているワード/列ロケーションでのWRITE処理は実行されない。WRITEコマンドが発行され、DQM信号の登録がHIGHであった場合には、NOPコマンドが発行されたものとみなされる。
【0044】
ACTIVE_TERMINATEコマンドは、シンクロナスフラッシュメモリに必須のものではないが、SDRAMのPRECHARGEコマンドと同様の方法で読み出し処理を終了させるために用いることができる。ACTIVE_TERMINATEコマンドは、実行中のBURST_READを終了させるために発行されるが、特定のバンクに対して発行されてもよいし、特定のバンクに対して発行されなくてもよい。
【0045】
BURST_TERMINATEコマンドは、固定長、またはフルページにわたるバーストをトランケートする(truncate)ために使用される。BURST_TERMINATEコマンドを登録する直前に登録されたREADコマンドがトランケートされる。BURST_TERMINATEコマンドは、特定のバンクに対して発行されるものではない。
【0046】
ロードコマンドレジスタ処理は、コマンド実行ロジック(CEL)130に対するフラッシュメモリの制御コマンドの出力を開始するために使用される。CELは、デバイスに対するコマンドの受け取りおよび解読を行う。このコマンドによって内部ステートマシン(ISM)132の動作、読み出しパス(即ち、メモリアレイ102、IDレジスタ136、またはステータスレジスタ134)に対する制御が行われる。
【0047】
シンクロナスフラッシュメモリ内でバンクに対するREADコマンドまたはWRITEコマンドが発行される前に、このバンクにおいて処理の対象となる行が「開かれる(アクティブにする)」必要がある。これは、図4に示すように、CS#、WE#、RAS#、CAS#によって定義されるACTIVEコマンドによって行われ、アクティブにするバンクや行の双方が選択される。
【0048】
ACTIVEコマンドを発行して行を開いた後、この行に対し、READコマンドやWRITEコマンドが発行される。READコマンドやWRITEコマンドを発行するまでの時間は、所定の期間(tRCDの仕様)に基づいて決められる。tRCD(MIN)をクロック周期で分割した値を切り上げ、整数にする。この整数に基づいて、ACTIVEコマンドが発行された後、READコマンドやWRITEコマンドが発行される最初のクロックエッジが求められる。例えば、tRCDの仕様が30nsであり、クロックが90MHZ(11.11nsクロック周期)であれば、計算された値は2.7クロックであるため、「3」に切り上げられる。この場合、つまり、2<tRCD(MIN)/tCK≦3の場合を図5に示す(tRCDの仕様条件が異なる場合にも、同様の方法を用いて時間の単位をクロックサイクルに変換することができる)。
【0049】
同一のバンクにおける異なる行に対する次のACTIVEコマンドの発行は、このバンクに対する連続するACTIVEコマンドの最小間隔がtRCDで定義されていれば、前回アクティブにした行を閉じることなく行うことができる。
【0050】
別のバンクに対する次のACTIVEコマンドは、最初のバンクがアクセスされている間に発行することができる。従って、行のアクセスにおける合計のオーバーヘッドを減らすことができる。異なるバンクに対する連続するACTIVEコマンドの最小間隔は、期間tRCDで定義される。
【0051】
READバーストは、図6に示すCS#、WE#、RAS#、CAS#によって定義されるREADコマンドによって開始される。READコマンドによって、開始列とバンクアドレスが選択される。READバーストの間において、READコマンドの発行後、CASレイテンシが経過した後、開始列のアドレスからの有効なデータ出力要素(data-out element)を利用できる。続くデータ出力要素の各々は、それぞれ次のポジティブクロックエッジで有効となる。バースト終了後、他のコマンドが開始されていなければ、DQ端子はHIGH−Z状態になる。フルページバーストは、終了まで継続的に実行される(ページの最後で列0に戻り、処理が継続する)。READバーストからのデータは、次のREADコマンドが発行されるとトランケート(truncate)される。固定長READバーストからのデータの直後には、次のREADコマンドからのデータが続いている。いずれの場合であっても、継続的なデータの流れが保たれる。新たなバーストの第1番目のデータ要素は、終了したバーストの最後のデータ要素、または、固定長よりも長いバースト(途中でトランケートされている)の場合は、最後の所望のデータ要素の後に続く。新たなREADコマンドは、最後の所望のデータ要素が有効となるクロックエッジのxサイクル前に発行される。xは、CASレイテンシより1だけ少ない。図7において、CASレイテンシが1、2、3の場合、データ要素n+3は、4つのバーストの最後であるか、固定長よりも長いバーストの最後である。シンクロナスフラッシュメモリは、パイプライン・アーキテクチャを採用しているため、プリフェッチ・アーキテクチャのように2nルールを必要としない。前回のREADコマンドの後、どのクロックサイクルにおいてもREADコマンドを開始することができる。ページ内における最高速度のランダム読み出しアクセスは、図8に示すように行われる。後続する各READ処理を異なるバンクに対して実行してもよい。
【0052】
READバーストからのデータは、次のWRITEコマンドによってトランケートされる。なお、WRITEコマンドの前には、WRITE_SETUPを実行する必要がある。固定長READバーストからのデータの直後には、次のWRITEコマンドからのデータが続いている。WRITEコマンドは、バスのターンアラウンドの制約を受ける。入出力の競合を回避することができれば、READバーストからの最後の(最後の所望の)データ要素の直後のクロックエッジでWRITE処理が開始する。システムの設計によっては、シンクロナスフラッシュメモリのDQ端子がHigh−Zになる前に、入力データをドライブする装置がLow−Zになることがある。この場合、少なくとも1サイクルの遅延が最後に読み出したデータとWRITEコマンドとの間に発生する。
【0053】
DQM入力は、図9に示す入出力の競合を回避するために使用される。DQM信号は、WRITEコマンド(出力バッファに対するDQMレイテンシは2クロックである)の少なくとも2クロック前にアサートされ(HIGH)、READからのデータ出力が抑制される。WRITEコマンドが登録されると、DQM信号の状態に関わらず、DQ端子は、High−Zになる(または、High−Zの状態を維持する)。WRITEコマンド(入力バッファに対するDQMレイテンシはゼロクロックである)の前にDQM信号のアサート状態を解除し、書き込みデータのマスクを解除しなければならない。図9は、クロック周波数がNOPサイクルを付加することなくバスの競合を回避できるように設定されている場合を示す。
【0054】
固定長またはフルページのREADバーストは、ACTIVE_TERMINATEコマンド(特定のバンクに対するものでもよく、特定のバンクに対するものでなくともよい)、BURST_TERMINATEコマンド(特定のバンクに対するものではない)のいずれによってもトランケートされる。ACTIVE_TERMINATEコマンドやBURST_TERMINATEコマンドは、最後の所望のデータ要素が有効であるクロックエッジのxサイクル前に発行される。xは、CASレイテンシより1少ない。これを、異なるCASレイテンシの場合の各々について、図10に示す。データ要素n+3は、4つのバーストのうち最後の望ましいデータ要素でもよく、固定長よりも長いバーストにおける最後の所望のデータ要素でもよい。
【0055】
1つのロケーションでのWRITE処理は、図11に示すCS#、WE#、RAS#、CAS#によって定義されるWRITEコマンドによって開始される。WRITEコマンドによって、開始列とバンクアドレスが選択される。WRITEコマンドが登録されると、真理値表4および5によって定義されるようにREADコマンドが実行される。図12に一例を示す。WRITE処理の間、WRITEコマンドと同時に有効なデータ入力(data-in)が登録される。
【0056】
SDRAMとは異なり、シンクロナスフラッシュメモリは、特定のバンクの開いている行、あるいは全てのバンクにおける開いている行を非アクティブにするのにPRECHARGEコマンドを必要としない。ACTIVE_TERMINATEコマンドは、BURST_TERMINATEコマンドに類似するが、ACTIVE_TERMINATEコマンドは、特定のバンクに対するものでもよく、特定のバンクに対するものでなくてもよい。ACTIVE_TERMINATEコマンドの実行中に入力A10がアサートされてHIGHになっていれば、どのバンクにおいてもBURST_READが終了する。ACTIVE_TERMINATEコマンドの実行中に入力A10がLOWであれば、BA0、BA1によってどのバンクを終了するかが指定される。ACTIVE_TERMINATEは、A10、BA0、BA1によってアドレス指定されないバンクに対するNOPであるとみなされる。
【0057】
アクセスが行われていないときに、NOPまたはCOMMAND_INHIBITに一致するクロックイネーブルCKEがLOWに登録されると、パワーダウンが発生する。パワーダウンが発生すると、WRITE処理を含む内部ステートマシンによる処理の後、CKEを除き、入力バッファと出力バッファが非アクティブになる。つまり、省電力モードのスタンバイ状態となる。
【0058】
パワーダウン状態は、NOPまたはCOMMAND_INHIBITが登録され、所望のクロックエッジでCKEがHIGHになる(tCKSを満たす)と終了する。図13にパワーダウン処理の例を示す。
【0059】
列アクセス/バーストの実行中にCKE端子がLOWに登録されるとクロックサスペンドモードになる。クロックサスペンドモードにおいては、内部クロックが非アクティブになり、シンクロナスロジックが「フリーズ」する。それぞれのクロックの立ち上がりエッジにおいてCKEがLOWにサンプリングされると、次の内部クロックの立ち上がりエッジがサスペンドされる。内部クロックエッジがサスペンドされているときには、入力端子に保持されているコマンドやデータは無視される。クロックがサスペンドされている限り、図14の例に示すように、DQ端子が保持するデータは、そのドライブされた状態を維持し、バーストカウンタは増加されない。クロックサスペンドモードは、CKE端子がHIGHに登録されると終了し、次のクロックの立ち上がりエッジで内部クロックによる処理が再開する。
【0060】
バースト読み出し/シングル書き込みモードは、一実施の形態におけるデフォルトモードである。WRITEコマンドの全ては、単一の列ロケーションでのアクセス(1つのバースト)を発生させるものであり、READコマンドは、予めプログラムされたバースト長、シーケンスに従って各列に対するアクセスを発生させるものである。次の真理値表3は、CKE信号を用いたメモリ処理を示す。
【0061】
【表4】
【0062】
【表5】
【0063】
【表6】
【0064】
機能説明
シンクロナスフラッシュメモリは、多くの機能を有し、SDRAMバス上でのコードの格納や、XIP技術(execute in place)技術を利用したアプリケーションに最適である。メモリアレイは、個々の消去ブロックに細分化される。各々のブロックに保持されたデータは、他のブロックに保持されたデータに影響を与えることなく消去することができる。これらのメモリブロックの読み出し、書き込み、消去は、コマンド実行ロジック(CEL)130に対するコマンドの発行によって実行することができる。CELは、内部ステートマシン(ISM)132の処理を制御する。CELは、ERASE_NVMODE_REGISTER処理、WRITE_NVMODE_REGISTER処理、WRITE処理、BLOCK_ERASE処理、BLOCK_PROTECT処理、DEVICE_PROTECT処理、UNPROTECT_ALL_BLOCKS処理、およびVERIFY処理の全てを完全に制御する。ISM132は、各々のメモリロケーションで過剰消去がなされないように保護し、各々のメモリロケーションでデータの保持が最大限に行われるように最適化する。さらに、ISMによって、システム内でのデバイスの書き込み、または、外部のプログラマによるデバイスの書き込みに必要な制御が大幅に簡略化する。
【0065】
シンクロナスフラッシュメモリは、16個の別個の消去可能なブロックで構成される。メモリブロックに保持されたデータは、他のメモリブロックに保持されたデータに影響を与えることなく、部分的に消去可能である。メモリブロックは、ハードウエアによって不慮のデータ消去や書き込みから保護されるようにしてもよい。ブロックを保護する場合には、当該ブロックのデータが改変される前に、RP#端子の電圧をVHH(比較的に高電圧)にドライブする必要がある。ロケーション0および15の256Kワードの容量を有するブロックは、別のハードウエアによる保護手段を備えていてもよい。これらのブロックに対してPROTECTコマンドが一旦実行されると、UNPROTECT_ALL_BLOCKSコマンドによって、RP#がVHHでなければ、ロケーション0およびロケーション15以外の全てのブロックの保護を解除する。これにより、システム内でのファームウエアのアップデートの際、不慮の電力障害やシステムリセットが発生した場合であっても、重要なコードに対するセキュリティが高められる。
【0066】
電源立ち上げ時の初期化、ERASE処理、WRITE処理およびPROTECT処理のタイミングは、メモリアレイ内の全てのプログラミングのアルゴリズムを制御するISMを用いることによって簡略化される。ISMによって、過剰消去を防止してデータが保護され、各セルに対する書き込みマージンが最適化される。WRITE処理の間、ISMは、自動的に、WRITE処理の試行回数のインクリメントおよび監視を行い、各メモリセルにおける書き込みマージンを認証し、ISMステータスレジスタを更新する。BLOCK_ERASE処理を実行するとき、ISMは、自動的にアドレスブロック全体を上書きして過剰消去を防止し、WRITE処理の試行回数のインクレメントおよび監視を行い、ISMステータスレジスタのビットをセットする。
【0067】
8ビットのISMステータスレジスタ134は、外部プロセッサ200にWRITE処理、ERASE処理、PROTECT処理時のISMのステータスを監視させる。8ビットのステータスレジスタのうち、1ビット(SR7)のセットおよびクリア(設定解除)は、ISMによって完全に行われる。このビットは、ISMがERASE処理、WRITE処理、または、PROTECT処理でビジーになっているか否かを示す。また、他のエラー情報、即ち、書き込み保護ブロックエラー、消去非保護全ブロックエラー、デバイス保護エラーは、別の3つのビット(SR3、SR4、SR5)で設定する。ステータスレジスタビットSR0、SR1およびSR2により、実行中のISMの処理の詳細な情報が得られる。ユーザは、デバイスレベルでのISMの処理が進行中であるのか、バンクレベルでのISM処理が進行中であるのかを確認でき、どのバンクがISMによって制御されているかも確認できる。これらの6個のビット(SR3〜SR5)は、ホストシステムによってクリアされなければならない。表2を参照してステータスレジスタについてより詳細に説明する。
【0068】
CEL130は、デバイスに対するコマンドの受け取りおよび解読を行う。各コマンドは、ISMの処理および読み出しパス(即ち、メモリアレイ、デバイス構成、または、ステータスレジスタ)を制御する。ISMがアクティブになっているとき、CELに対するコマンドが発行される。
【0069】
節電効果を高めるために、シンクロナスフラッシュは、極めて低電流のディープパワーダウンモードに対応している。このモードに入るためには、RP#端子140(リセット/パワーダウン)をVSS±0.2Vにする必要がある。不慮のRESETを回避するため、RP#がVssで100nsの間維持されなければデバイスはリセットモードに入らない。RP#がVssに維持されると、デバイスは、ディープパワーダウンモードに入る。デバイスがディープパワーダウンモードに入った後にRP#がLOWからHIGHに変化すると、本明細書中で概略説明しているように、デバイスの起動初期化シーケンスが実行される。リセットモードに入った後にRP#がLOWからHIGHに変化しても、ディープパワーダウンモードに入っていなかった場合には、実行可能なコマンドの発行までに1μsの遅延時間が必要となる。デバイスがディープパワーダウンモードに入ると、RP#バッファを除く全てのバッファが不作動(disable)になり、電流量が少なくなり、例えば、3.3VのVCCで最大50μAになる。ディープパワーダウンモードの間、RP#への入力はVssに維持されなければならない。RESETモードに入ると、ステータスレジスタ134がクリアされ、ISM132がアレイ読み出しモードにセットされる。
【0070】
シンクロナスフラッシュメモリアーキテクチャによれば、各セクタのデータを消去する際、アレイの他の部分に影響を与えることがない。アレイは、16個のアドレス指定可能な「ブロック」に分けられており、これらのブロックは、別個に消去可能である。アレイ全体ではなく、ブロック単位でデータの消去が可能であるため、デバイス全体の耐久性およびシステムの柔軟性が向上する。ERASE機能およびBLOCK_PROTECT機能のみがブロック単位で実行される。16個のアドレス指定可能なブロックは、4つのバンク104、106、108、110に等分される。つまり、各バンク104、106、108、110は、4つのブロックからなる。4つのバンクに対し、一方では読み出し、他方では書き込みを同時に行うことができる。あるバンクに対し、ISMによるWRITE処理またはERASE処理を行っているときに別のバンクに対してREAD処理を行うことができる。ステータスレジスタ134をポーリングすることによって、どのバンクに対してISMの処理が実行されているかを判定することができる。シンクロナスフラッシュメモリは、単一のバックグランド処理を行うISMを備える。このISMは、電源立ち上げ時の初期化処理、ERASE処理、WRITE処理およびPROTECT処理を制御する。どのような場合であっても、ISMによる処理は1つしか実行することができない。しかしながら、READ処理を含む他の特定のコマンドは、ISM処理を行っている間に実行することができる。ISMによって制御される処理コマンドは、バンクレベルの処理、またはデバイスレベルの処理である。WRITE処理やERASE処理は、バンクレベルで行われるISM処理である。バンクレベルで行われるISM処理が開始されると、このバンクにおいては、どのロケーションに対してREAD処理が行われても無効データが出力されるが、他のバンクに対してREAD処理が行われると、そのアレイが読み出される。READ_STATUS_REGISTERコマンドが実行されると、ステータスレジスタ134が保持するコンテンツが出力される。ISMステータスビットは、ISM処理の終了を示す(SR7=1)。ISM処理が終了すると、バンクが自動的にアレイ読み出しモードに入る。ERASE_NVMODE_REGISTER処理、WRITE_NVMODE REGISTER処理、BLOCK_PROTECT処理、DEVICE_PROTECT処理、およびUNPROTECT_ALL_BLOCKS処理は、デバイスレベルで行われるISM処理である。デバイスレベルで行われるISM処理が一旦開始されると、どのバンクに対してREAD処理が行われてもアレイが保持するコンテンツが出力される。READ_STATUS_REGISTERコマンドは、ISM処理の終了を判定するために発行される。SR7=1であるとき、ISM処理は終了し、次のISM処理が開始される。ハードウエア回路によって意図しないERASE処理またはWRITE処理が行われるのを防いでブロックのデータを保護する場合には、以下に述べるように、WRITE処理またはERASE処理が行われる前にRP#をVHHにドライブする必要がある。
【0071】
ファームウエアの最も重要な部分に対するセキュリティを高めるために、ブロックのデータをハードウエアによって保護する場合がある。ハードウエアによって保護されているブロックに対してWRITE処理またはERASE処理が行われている間には、即ち、WRITE処理またはERASE処理が終了するまでは、RP#は、VHHに維持されなければならない。RP#=VHHでない場合、保護されたブロックに対するWRITE処理またはERASE処理は禁止され、書き込みエラーまたは消去エラーとなる。ロケーション0および15のブロックは、予期しないWRITE処理あるいはERASE処理を保護するために、別のハードウエア保護機能を有する。本実施の形態において、これらのブロックは、RP#=VHHでない場合には、UNPROTECT_ALL_BLOCKSコマンドの発行に基づくソフトウエアによる保護解除ができないようになっている。ブロックの保護ステータスは、READ_STATUS_REGISTERコマンドを発行し、ブロックの保護ビットを読み取ることによって確認することができる。また、ブロックを保護するためには、対象となるブロックアドレスに対し、3サイクルのコマンドシーケンスを発行しなければならない。
【0072】
シンクロナスフラッシュメモリは、3つの異なるモードのREAD処理に対応している。モードに応じたREAD処理によって、メモリアレイ、ステータスレジスタ、または、デバイスコンフィグレーションレジスタの1つからデータが作成される。デバイスコンフィグレーションレジスタまたはステータスレジスタに対するREAD処理は、LCR−ACTIVEサイクルの後に行われる。データ出力(data out)のバースト長は、モードレジスタの設定によって定義される。LCR−ACTIVEサイクルの後のREAD処理、またはLCR−ACTIVEサイクルを必要としないで行われるREAD処理によって、アレイが読み出される。しかしながら、読み出し動作には幾つかのバリエーションが存在するため、以下の項目で説明する。
【0073】
バンクに対するREADコマンドの実行によって、メモリアレイのコンテンツが出力される。ISMによるWRITE処理またはERASE処理が行われている間は、ISMの制御下にあるバンク内のどのロケーションに対してREAD処理が行われても無効データが出力される。RESET処理を終了すると、デバイスが自動的にアレイ読み出しモードに入る。
【0074】
ステータスレジスタ134のREAD処理を実行するためには、アレイの読み出し時と同様の入力シーケンスが必要であるが、LCR_READ_STATUS_REGISTER(70H)サイクルがACTIVE READサイクルの前でなければならない。ステータスレジスタによるデータ出力(data out)のバースト長は、モードレジスタ148によって定義される。ステータスレジスタが保持するコンテンツは、CASレイテンシが経過した後、クロックの次の立ち上がりエッジで更新され、ラッチされる。デバイスは、自動的にアレイ読み出しモードに入り、次のREAD処理が可能な状態になる。
【0075】
デバイスコンフィグレーションレジスタ136の読み出しには、ステータスレジスタの読み出しと同様の入力シーケンスが必要であるが、特定のアドレスを指定しなければならない。WE#は、HIGHでなければならず、DQMおよびCS#はLOWでなければならない。メーカ互換IDを読み出すためには、アドレスは、000000Hに指定されていなければならない。デバイスIDを読み出すためには、アドレスは、000001Hに指定されていなければならない。各消去ブロック(xx0002H)内での第三のアドレスロケーションでブロック保護ビットは読み出され、デバイス保護ビットは、ロケーション000003Hから読み出される。
【0076】
DQ端子は、アレイにデータを入力するためにも用いられる。アドレス端子は、アドレスロケーションを指定するため、または、LOAD_COMMAND_REGISTERサイクルの間にCELに対してコマンドを入力するために用いられる。コマンド入力によって、CELに対して8ビットのコマンドが発行され、デバイスの処理モードが制御される。WRITE処理は、メモリアレイにデータを入力するために使用される。以下、入力タイプの両方について説明する。
【0077】
コマンド入力を実行するためには、DQMはLOWでなければならず、CS#およびWE#も、LOWでなければならない。アドレス端子やDQ端子は、各コマンドの入力に用いられる。コマンドの入力に使用されないアドレス端子は「ドントケア」であって、状態が維持されていなければならない。8ビットコマンドは、DQ0〜DQ7、または、A0〜A7に対する入力であり、クロックの立ち上がりエッジでラッチされる。
【0078】
メモリアレイに対するWRITE処理によって、所望のビットが論理0に設定されるが、論理0に設定されているビットを論理1に変更することはできない。いずれかのビットを論理1に設定すると、ブロック全体のデータが消去される。WRITE処理を実行するためには、DOQは、LOWでなければならず、CS#およびWE#も、LOWでなければならない。また、VCCPをVCCに保持しなければならない。保護されたブロックに対して書き込みを行うには、RP#をVHHにする必要がある。A0〜A11によって書き込みアドレスが指定され、アレイに書き込まれるデータは、DQ端子に入力される。データおよびアドレスは、クロックの立ち上がりエッジでラッチされる。WRITE処理の前には、WRITE_SETUPコマンドを発行する必要がある。
【0079】
メモリブロックの書き込みを簡略化するために、シンクロナスフラッシュメモリのISMは、WRITEサイクルおよびERASEサイクルの内部アルゴリズムの全てを制御する。デバイスの制御には、8ビットのコマンドセットが使用される。真理値表1および2に有効なコマンドのリストを示す。
【0080】
8ビットのISMステータスレジスタ134(表2)に対してポーリングを行うことによって、ERASE_NVMODE_REGISTER処理、WRITE_NVMODE_REGISTER処理、WRITE処理、ERASE処理、BLOCK_PROTECT処理、DEVICE_PROTECT処理、または、UNPROTECT_ALL_BLOCKS処理が終了されたかどうか、また、これらの処理の際にエラーが発生したかどうかがチェックされる。ISM処理の終了は、READ_STATUS_REGISTER(70H)コマンドの発行によって監視される。ステータスレジスタのコンテンツは、DQ0〜DQ7に出力され、CASレイテンシが経過した後、次のクロックの立ち上がりエッジで、モードレジスタの設定によって定義される固定バースト長の分だけ更新される。ISM処理は、SR7=1となったときに終了する。ビットで定義されるブロックは全てISMによって設定されるが、ISMのステータスビットのみがISMによってリセットされる。消去/非保護ブロック、書き込み/保護ブロック、デバイス保護は、CLEAR_STATUS_REGISTER(50H)コマンドによってクリアされなければならない。これによってユーザがポーリングを行ってステータスレジスタをクリアするタイミングを選択することができる。例えば、ホストシステムは、個々のWRITE処理が行われた後にステータスレジスタをチェックするのではなく、複数のWRITE処理が行われた後にステータスレジスタをチェックすることができる。RP#信号のアサート、デバイスのパワーダウンによってもステータスレジスタがクリアされる。
【0081】
【表7】
【0082】
デバイスID、製造メーカー互換ID、デバイス保護ステータス、およびブロック保護ステータスは、全て、READ_DEVICE_CONFIGURATION(90H)コマンドを発行することによって読み出される。所望のレジスタを読み出すために、特定のアドレスがアサートされなければならない。様々なデバイスのコンフィグレーションレジスタ136についての詳細を表3に示す。
【0083】
【表8】
【0084】
デバイスの処理モードを変更するためのコマンドを発行することもできる。各モードでは、そのモード特有の処理が行われる。幾つかのモードでは、処理の実行の前に、一連のコマンドを書き込む必要がある。以下、各モードの特性について説明する。真理値表1および2は、所望の処理を行うために必要なコマンドシーケンスのリストである。読み出しと書き込みを同時に行う機能によって、バックグランド処理であるバンクに対して書き込み処理または消去処理を行っている間に他のバンクに読み出し処理を行うことができる。書き込み処理では、真理値表2に記載されたLCR−ACTIVE−WRITEコマンドシーケンスを連続したクロックサイクルで終了させなければならない。しかしながら、シンクロナスフラッシュコントローラの処理を簡略化するために、このコマンドシーケンスの間、NOPコマンドまたはCOMMAND_INHIBITコマンドを数に制限なく発行するようにしている。さらに、データの保護機能を高めるために、これらのコマンドシーケンスは、3サイクルの間、同一のバンクアドレスに指定しなければならない。LCR−ACTIVE−WRITEコマンドシーケンスの間にバンクアドレスが変更される場合、または、コマンドシーケンスが連続していない場合(コマンドシーケンスの間に、コマンドの発行が許されているNOPコマンドおよびCOMMAND_INHIBITコマンド以外のコマンドが発行された場合)、書き込みステータスビットおよび消去ステータスビット(SR4およびSR5)が設定され、処理が禁止される。
【0085】
パワーアップ(電源立ち上げ)後、処理コマンドがデバイスに対して発行される前に、シンクロナスフラッシュメモリが初期化される。VCC、VCCQ、およびVCCPに対して(同時に)電源が供給された後、クロックが安定し、RP#がLOWからHIGHに変化する。RP#がHIGHに移行した後、デバイス内部の初期化が終了するには、遅延時間(一実施の形態においては、100μsの遅延時間)が必要である。デバイスの初期化が終了すると、デバイスは、アレイ読み取りモードになり、実行可能なコマンドがデバイスに対して発行される。
【0086】
デバイスID、メーカー互換ID、デバイス保護ビットおよびブロック保護ビットの各々を読み出すためには、READ_DEVICE_CONFIGURATION(90H)コマンドが発行される。このモードにおいては、所望の情報を読み出すために特定のアドレスが指定される。メーカー互換IDは、000000Hで読み出される。デバイスIDは、000001Hで読み出される。メーカー互換およびデバイスIDは、DQ0〜DQ7に出力される。デバイス保護ビットは、000003Hで読み出される。ブロック保護ビットの各々は、各ブロックにおける3番目のアドレスロケーション(xx0002H)で読み出される。デバイス保護ビットおよびブロック保護ビットは、DQ0に出力される。
【0087】
アレイに対してデータを入力するには、連続的なクロックエッジで3つの連続的なコマンドを発行する必要がある(各サイクルの間において、NOPコマンドおよびCOMMAND_INHIBITコマンドの発行が許されている)。初めのサイクルにおいては、A0〜A7に対し、LOAD_COMMAND_REGISTERコマンドがWRITE_SETUPコマンド(40H)とともに発行され、BA0、BA1に対し、バンクアドレスが発行される。次のサイクルにおいては、ACTIVEコマンドが発行され、行アドレスがアクティブとなり、バンクアドレスが確認される。3番目のサイクルは、WRITEコマンドであり、開始列、バンクアドレスおよびデータが発行される。CASレイテンシが経過した後、次のクロックエッジでISMステータスビットが設定される。ISMがWRITE処理を実行している間、ISMステータスビット(SR7)は0になる。ISMの制御下では、バンクに対してREAD処理が行われると、無効なデータが作成される。ISMステータスビット(SR7)が論理1に設定されると、WRITE処理が終了し、このバンクはアレイ読み出しモードとなり、コマンドの実行が可能となる。ハードウエアによって保護されたブロックに書き込みをする場合にも、第3のサイクルであるWRITE処理を実行する前にRP#がVHHに設定される必要があり、ISMによるWRITE処理が終了するまで、RP#は、VHHに保持されなければならない。連続するサイクルでLCR−ACTIVE−WRITEコマンドシーケンスが終了していない場合、または、バンクアドレスが3サイクルのいずれかにおいて変更された場合には、書き込みステータスビットおよび消去ステータスビット(SR4およびSR5)が設定される。ISMがWRITE処理を開始すると、このWRITE処理は、RESET処理が行われるか、パワーダウンが行われることがない限り、中止することはない。RESET処理が行われたり、パワーダウンが行われたりすると、いずれの場合にも、書き込み中のデータが破壊される可能性がある。
【0088】
ERASEシーケンスを実行すると、ブロック内の全てのビットが論理1に設定される。ERASE処理を実行するのに必要なコマンドシーケンスは、WRITE処理を実行するためのものと同様である。予期しないブロック消去が行われるのを防止してセキュリティを高めるために、あるブロックのERASE処理を開始するには、連続的なクロックエッジで3つの連続的なコマンドを発行する必要がある。初めのサイクルにおいては、A0〜A7に対してLOAD_COMMAND_REGISTERコマンドがERASE_SETUPコマンド(20H)と共に発行され、BA0、BA1に対して消去されるブロックのバンクアドレスが発行される。次のサイクルにおいては、ACTIVEコマンドが発行され、A10、A11、BA0、BA1によって消去されるブロックのアドレスが指定される。3番目のサイクルではWRITEコマンドが発行され、その間に、DQ0〜DQ7に対してERASE_CONFIRMコマンド(D0H)が発行され、バンクアドレスが再発行される。CASレイテンシが経過した後、次のクロックエッジでISMステータスビットが設定される。ERASE_CONFIRMコマンド(D0H)が発行された後、ISMは、アドレスが指定されたブロックのERASE処理を開始する。アドレスが指定されているブロックが存在するバンクに対してREAD処理が行われると、無効なデータが出力される。ERASE処理が終了すると、バンクはアレイ読み出しモードになり、コマンドの実行が可能となる。ハードウエアによって保護されたブロックを消去する場合にも、第3のサイクルであるWRITE処理を実行する前にRP#がVHHに設定される必要があり、ISMによるERASE処理が終了する(SR7=1)まで、RP#は、VHHに保持されなければならない。連続的なサイクルでLCR−ACTIVE−WRITEコマンドシーケンスが終了していない場合(各サイクルの間において、NOPコマンドおよびCOMMAND_INHIBITコマンドの発行が許されている)、または、1つ以上のコマンドサイクルでバンクアドレスが変更されている場合には、書き込みステータスビットおよび消去ステータスビット(SR4およびSR5)が設定され、処理が禁止される。
【0089】
モードレジスタ148のコンテンツをWRITE_NVMODE_REGISTERコマンドによってNVモードレジスタにコピーしてもよい。NVモードレジスタに対して書き込みを行う前に、ERASE_NVMODE_REGISTERコマンドシーケンスを終了させ、NVモードレジスタ内の全てのビットを論理1に設定する必要がある。ERASE_NVMODE_REGISTER処理およびWRITE_NVMODE_REGISTER処理を実行するのに必要なコマンドシーケンスは、WRITE処理を実行するためのものと同様である。ERASE_NVMODE_REGISTER処理およびWRITE_NVMODE_REGISTER処理を終了させるのに必要なLCR−ACTIVE−WRITEコマンドについての詳細な情報は、真理値表2に示されている。ERASE_NVMODE_REGISTERコマンドシーケンスまたはWRITE_NVMODEREGISTERコマンドシーケンスのWRITEサイクルが登録された後、READコマンドがアレイに対して発行される。現在実行中のISM処理が終了し、SR7=1となるまでは、新たなWRITE処理は許可されない。
【0090】
BLOCK_PROTECTシーケンスを実行することにより、所定のブロックに対する第1レベルのソフトウエア/ハードウエア保護を行うことができる。メモリは、1つのビットで16個のブロックを保護する16ビットレジスタを有する。また、メモリは、書き込み処理や消去処理を防止してデバイス全体のデータを保護するためのデバイスビットを提供するレジスタを備える。BLOCK_PROTECT処理を実行するのに必要なコマンドシーケンスは、WRITE処理を実行するためのものと同様である。予期しないブロック消去が行われるのを防止してセキュリティを高めるために、BLOCK_PROTECT処理を開始するには、3つの連続的なコマンドを発行する必要がある。初めのサイクルにおいては、A0〜A7に対してLOAD_COMMAND_REGISTERコマンドがPROTECT_SETUPコマンド(60H)と共に発行され、BA0、BA1に対して保護すべきブロックのバンクアドレスが発行される。次のサイクルにおいては、ACTIVEコマンドが発行され、保護されるべきブロックの行がアクティブになり、バンクアドレスが確認される。3番目のサイクルでは、WRITEコマンドが発行され、その間に、DQ0〜DQ7に対してBLOCK_PROTECT_CONFIRMコマンド(01H)が発行され、バンクアドレスが再発行される。CASレイテンシが経過した後、次のクロックエッジでISMステータスビットが設定される。そして、ISMは、PROTECT処理を開始する。連続的なサイクルでLCR−ACTIVE−WRITEコマンドシーケンスが終了していない場合、(各サイクルの間において、NOPコマンドおよびCOMMAND_INHIBITコマンドの発行が許されている)、または、バンクアドレスが変更された場合には、WRITEステータスビットおよび消去ステータスビット(SR4およびSR5)が設定され、処理が禁止される。ISMステータスビット(SR7)が論理1に設定されると、PROTECT処理が終了し、そのバンクはアレイ読み出しモードとなり、コマンドの実行が可能となる。ブロック保護ビットが一旦1(保護)に設定されると、UNPROTECT_ALL_BLOCKSコマンドによって0にリセットする以外には、この保護ビットを変更できなくなる。UNPROTECT_ALL_BLOCKSコマンドシーケンスは、BLOCK_PROTECTコマンドに類似しているが、第3のサイクルでは、WRITEコマンドがUNPROTECT_ALL_BLOCKS_CONFIRMコマンド(D0H)と共に発行され、アドレスが「ドントケア」に指定される。真理値表2には、さらに他の情報も含まれている。ロケーション0および15のブロックでは、さらにセキュリティが高まっている。ロケーション0および15のブロック保護ビットが一旦1(保護)に設定されると、各ビットは、UNPROTECT処理の3番目のサイクルの前にRP#をVHHにし、BLOCK_PROTECT処理またはUNPROTECT ALL_BLOCKS処理が終了するまで(SR7=1)VHHに保持されなければ、ビットが0にリセットされない。さらに、デバイス保護ビットがセットされた場合、前記3番目のサイクルの前にRP#をVHHにし、BLOCK_PROTECT処理又はUNPROTECT_ALL_BLOCKS処理が終了するまでVHHに保持させる必要がある。ブロックの保護ステータスの確認は、READ_DEVICE_CONFIGURATIONコマンド(90H)を発行することによって行われる。
【0091】
DEVICE_PROTECTシーケンスを実行すると、デバイスの保護ビットが1に設定され、ブロック保護ビットの変更が防止される。DEVICE_PROTECT処理を実行するのに必要なコマンドシーケンスは、WRITE処理を実行するためのものと同様である。DEVICE_PROTECTシーケンスを開始するには3つの連続したコマンドサイクルが必要となる。初めのサイクルでは、A0〜A7に対してLOAD_COMMAND_REGISTERコマンドがPROTECT_SETUPコマンド(60H)と共に発行され、BA0、BA1に対してバンクアドレスが発行される。バンクアドレスは、「ドントケア」であるが、3つのサイクルの全てに対して同一のバンクアドレスを使用しなければならない。次のコマンドは、ACTIVEである。3番目のサイクルは、WRITEサイクルである。WRITEサイクルの間、DQ0〜DQ7に対してDEVICE_PROTECTコマンド(F1H)が発行され、RP#がVHHになる。CASレイテンシが経過した後、次のクロックエッジでISMステータスビットが設定される。デバイスに対して実行可能なコマンドを発行することが可能になる。RP#は、WRITE処理が終了する(SR7=1)までは、VHHに保持されなければならない。現在実行中のISM処理が終了するまでは、新たなWRITE処理の実行は許されない。デバイス保護ビットが一旦1に設定されると、RP#がVHHにならない限り、BLOCK_PROTECT処理やBLOCK_UNPROTECT処理は実行することができない。デバイス保護ビットは、WRITE処理またはERASE処理に影響を与えない。ブロック保護処理およびデバイス保護処理についてのより詳細な情報を表4に示す。
【0092】
【表9】
【0093】
ISMステータスビット(SR7)が設定された後、デバイス/バンク(SR0)、デバイス保護(SR3)、バンクA0(SR1)、バンクA1(SR2)、書き込み/保護ブロック(SR4)および消去/非保護(SR5)の各ステータスビットがチェックされる。SR3、SR4、SR5のステータスビットのうちの1つ、またはこれらのステータスビットの組み合わせ(幾つか)が設定されている場合には、処理の際にエラーが発生する。ISMはSR3、SR4、SR5のビットをリセットすることはできない。これらのビットをクリアするためには、CLEAR_STATUS_REGISTERコマンド(50H)を発行する必要がある。表5は、SR3、SR4、SR5の組み合わせによるエラーを示す。
【0094】
【表10】
【0095】
シンクロナスフラッシュメモリは、コードおよびデータストレージの高度な要求を満たすように設計、製造される。このようなレベルの信頼性を確保するため、WRITEサイクル間またはERASEサイクル間において、VCCPは、Vccに保持されなければならない。この制約が満たされることなく処理が実行される場合には、デバイスにおいて実行されるWRITEサイクルの回数やERASEサイクルの回数が減少する。各ブロックは、最低で100,000回の書き込み/消去が可能なように設計、製造される。
【0096】
シンクロナスフラッシュメモリは、幾つかの省電力機能を有し、この省電力機能はアレイ読み出しモードで使用することで、電力を節約することができる。ディープパワーダウンモードは、RP#をVSS±0.2Vにすることによって実行することができる。このモードでは、電流量(ICC)が小さく、例えば、最大で50μAである。CS#がHIGHになると、デバイスは、アクティブスタンバイモードに入る。このモードにおいても、低電流であり、電流量(ICC)は、例えば、最大で30mAである。CS#が書き込み処理、消去処理、または、保護処理中にHIGHになると、ISMはWRITE処理を続行し、デバイスは、処理が終了するまでアクティブIccp電力を消費する。
【0097】
図16は、本発明の一実施の形態に係る自己同期(self-timed)書き込みシーケンスのフローチャートである。このシーケンスは、コマンドレジスタ(コード40H)のロード、アクティブコマンドおよび行アドレスの受け取り、書き込みコマンドおよび列アドレスの受け取りを含む。そして、このシーケンスでは、ステータスレジスタに対してポーリングが行われ、書き込みが終了しているかどうかが判定される。ポーリングによってステータスレジスタビット7(SR7)が監視され、ステータスレジスタビット7が1に設定されているかどうかが判定される。また、オプションとして、ステータスチェックを実行するようにしてもよい。書き込み処理が終了すると、アレイがアレイ読み出しモードに入る。
【0098】
図17は、本発明の一実施の形態に係る完全な読み出しステータスチェックシーケンスのフローチャートを示す。このシーケンスでは、ステータスレジスタビット4(SR4)がチェックされ、0に設定されているかどうか判定される。SR4が1であれば、書き込み処理の際にエラーが発生したとされる。そして、このシーケンスでは、ステータスレジスタビット3(SR3)がチェックされ、0に設定されているかどうかが判定される。SR3が1であれば、書き込み処理の際に無効書き込みエラーが発生したとされる。
【0099】
図18は、本発明の一実施の形態に係る自己同期ブロック消去シーケンスのフローチャートを示す。このシーケンスは、コマンドレジスタ(コード20H)のロード、アクティブコマンドおよび行アドレスの受け取りを含む。そして、メモリは、ブロックが保護されているかどうかを判定する。ブロックが保護されていなければ、メモリはブロックに対して書き込み処理(D0H)を実行し、ステータスレジスタを監視し、処理が終了しているかどうかを判定する。また、オプションとして、ステータスチェックを実行するようにしてもよい。消去処理が終了すると、メモリはアレイ読み出しモードに入る。ブロックが保護されていれば、RP#信号が高電圧(VHH)になっていない限り、消去処理を実行することはできない。
【0100】
図19は、本発明の一実施の形態に係る完全なブロック消去ステータスチェックシーケンスのフローチャートを示す。このシーケンスでは、ステータスレジスタが監視され、コマンドシーケンスエラーが発生したかどうかが確認される(SR4=1またはSR5=1)。SR3が1に設定されていれば、無効消去エラーまたは非保護エラー(保護違反エラー)が発生する。SR5が1に設定されていれば、ブロック消去エラーまたは非保護エラー(保護違反エラー)が発生する。
【0101】
図20は、本発明の一実施の形態に係るブロック保護シーケンスのフローチャートを示す。このシーケンスは、コマンドレジスタ(コード60H)のロード、アクティブコマンドおよび行アドレスの受け取りを含む。そして、メモリは、ブロックが保護されているかどうかを判定する。ブロックが保護されていなければ、ブロックに対してメモリは書き込み処理(01H)を実行し、ステータスレジスタを監視し、処理が終了しているかどうかをチェックする。また、オプションとして、ステータスチェックを実行するようにしてもよい。ブロック保護処理が終了すると、メモリはアレイ読み出しモードに入る。ブロックが保護されていれば、RP#信号が高電圧(VHH)になっていない限り、消去処理を実行することはできない。
【0102】
図21は、本発明の一実施の形態に係る完全なブロックステータスチェックシーケンスのフローチャートを示す。このシーケンスでは、ステータスレジスタビット3、4、5が監視され、エラーが検出されたかどうかが判定される。
【0103】
図22は、本発明の一実施の形態に係るデバイス保護シーケンスのフローチャートを示す。このシーケンスは、コマンドレジスタ(コード60H)のロード、アクティブコマンドおよび行アドレスの受け取りを含む。そして、メモリは、RP#がVHHになっているかどうかを判定する。メモリは、書き込み処理(F1H)を実行し、ステータスレジスタを監視し、書き込み処理が終了しているかどうかをチェックする。また、オプションとして、ステータスチェックを実行するようにしてもよい。デバイス保護処理が終了すると、メモリはアレイ読み出しモードに入る。
【0104】
図23は、本発明の一実施の形態に係るブロック保護解除シーケンスのフローチャートを示す。このシーケンスは、コマンドレジスタのロード(コード60H)、アクティブコマンドおよび行アドレスの受け取りを含む。そして、メモリは、当該メモリデバイスが保護されているかどうかを判定する。保護されていない場合、メモリは、ブートロケーション(ブロック0および15)が保護されているかどうかを判定する。いずれのブロックも保護されていない場合、メモリはブロックに対して書き込み処理(D0H)を実行し、ステータスレジスタを監視し、書き込み処理が終了しているかどうかをチェックする。オプションとして、ステータスチェックを実行するようにしてもよい。全ブロック保護解除処理が終了すると、メモリはアレイ読み出しモードになる。デバイスが保護されている場合、RP#信号が高電圧(VHH)になっていない限り、消去処理を実行することはできない。同様に、各ブートロケーションが保護されている場合には、メモリは、全てのブロックの保護を解除するべきかどうかを判定する。
【0105】
図24は、モードレジスタを初期化およびロードする処理のタイミングを示す。モードレジスタは、ロードモードレジスタコマンドの発行と、アドレスラインに対する処理コード(オペコード:opcode)の発行によってプログラムされる。オペコードは、モードレジスタにロードされる。上述したように、不揮発性モードレジスタのコンテンツは、立ち上がり(power-up)の際に、自動的にモードレジスタにロードされ、ロードモードレジスタ処理が必要とならない場合もある。
【0106】
図25は、クロックサスペンドモード処理のタイミングを示し、図26は、別のバースト読み出し処理のタイミングを示している。図27は、バンク読み出しアクセスを交互に行う際のタイミングを示している。ここで、バンクアドレスを変更するためには、アクティブコマンドが必要である。図28は、フルページバースト読み出し処理を示す。フルページバーストは、自己同期方式で行われることなく、終了コマンドの発行を必要とする。
【0107】
図29は、データマスク信号を使用した読み出し処理のタイミングを示す。DQM信号は、DQ端子にDout m+lが出力されないように、データ出力をマスクするために使用される。
【0108】
図30は、書き込み処理を行った後、異なるバンクに対して読み出し処理を行う場合のタイミングを示している。この処理においては、書き込み処理が、バンクaに対して行われ、その後、読み出し処理が、バンクbに対して行われる。各々のバンクにおいて同一の行がアクセスされる。
【0109】
図31は、書き込み処理を行った後、同一のバンクに対して読み出し処理を行う場合のタイミングを示している。この処理においては、書き込み処理が、バンクaに対して行われ、その後、読み出し処理が、バンクaに対して行われる。読み出し処理において、別の行がアクセスされ、メモリは、書き込み処理が終了するのを待機する必要がある。これは、図30に示すような読み出し処理の場合、即ち、読み出し処理の開始の際に書き込み処理による遅延時間が生じない場合とは異なる。
【0110】
シンクロナスフラッシュメモリは、書き込み処理にレイテンシを必要としない。つまり、読み出し処理と同様に書き込み処理にレイテンシを必要とするSDRAMとは異なる。SDRAMの場合と比較して、システムバスにおける書き込み処理のサイクルが少ないため、システムの読み出しスループットが向上する。図12に示すように、書き込みデータDinの供給と、書き込みコマンドおよび列アドレスの供給とは、同一のクロックサイクルで行われる。図12において、クロックサイクルT1は、NOPコマンドでなくともよい(図30参照)。読み出しコマンドは、書き込みデータの供給後の次のクロックサイクルで供給される。従って、読み出し処理においては、読み出しコマンドが供給された後、所定のサイクル数にわたってDQ接続端子が利用可能である必要があるが(レイテンシ有り)、書き込み処理においては、書き込みコマンドが供給された直後にDQ接続端子が利用可能となる(レイテンシ無し)。つまり、本発明は、ゼロバスターンアラウンド機能を提供する。この機能は、読み出し処理と書き込み処理とを交互に行う際、システムバスにおいて複数の待機時間を必要とするSDRAMの場合とは大幅に異なる。シンクロナスフラッシュにおけるこれらの2つの特徴によってバスのスループットが向上する
図32に本発明のシステム300を例示する。システム300は、シンクロナスメモリ302を有する。このようなシンクロナスメモリ302は、DQ入力端子306に供給された書き込みデータを格納するための書き込みラッチ304を内部に有する。書き込みラッチ304は、メモリアレイ310に接続される。また、メモリアレイは、数多くのアドレス指定可能なブロックに配列される。あるバンクでデータを書き込みしている間に他のブロックに対する読み出し処理を実行することができる。アレイのメモリセルは、不揮発性メモリセルを使用してもよい。データ通信接続端子306は、プロセッサ320や他のメモリコントローラなどの外部デバイスと双方向通信を行うために使用される。
【0111】
データバッファ330は、データ通信端子に接続され、双方向データ通信の調整を行う。このバッファは、従来のFIFOバッファ回路でもよく、パイプライン入出力バッファ回路でもよい。書き込みラッチは、データバッファとメモリアレイとの間に接続され、データ通信接続端子に供給されたデータをラッチする。また、制御回路は、アレイに対する読み出し処理および書き込み処理を制御する。
【0112】
入力書き込みデータをラッチすることによって、データバス306(DQ)が開放され、このラッチされたデータを用いて書き込み処理が実行される。メモリに対する最初の書き込み処理が実行されている間は、このメモリに対する後続する書き込み処理は禁止される。しかしながら、バスは、メモリに対し、遅延時間を必要とすることなく、即座に読み出し処理を実行することができる。
【0113】
本発明は、従来の入出力バッファアーキテクチャとは異なるアーキテクチャを有する。つまり、従来のメモリデバイスは、DQ入力パスに入力バッファ、DQ出力パスに出力バッファを使用しているが、読み出し処理と書き込み処理の双方に同じクロックレイテンシを必要とする。本発明では、DQ接続端子と外部プロセッサとの間のインタフェースとして機能する入出力バッファ回路を用いることができる。さらに、書き込みラッチにより、書き込みパス(処理)をメモリの一領域に制限することができるとともに、データの読み出し処理を他の領域で行うことができる。
【0114】
読み出し処理および書き込み処理の並列化
従来のフラッシュメモリデバイスは、並列処理性能が極めて限られていた。つまり、従来のフラッシュメモリは、通常、書き込み処理を行っている間、読み出し処理の実行はブロックされている。幾つかのメモリにおいては、実行中の書き込み処理をサスペンドすることによって書き込み中のアレイの読み出し処理を可能にするものが存在する。また、書き込み可能なセクタを限定し、メモリのほかの部分で読み出しを行うことによって書き込み中の読み出し処理を可能にするフラッシュメモリも存在する。このようなフラッシュメモリは、1つのシステムにおいて、別個のEEPROMが必要とならないようにしている。限定されたセクタスペースは、フラッシュにおけるEEPROMロケーションとして設けられ、メモリの他の部分は、フラッシュ処理のために使用される。しかしながら、このようなフラッシュメモリでは、メモリアレイの全体にわたって読み出し処理と書き込み処理を同時に行うことはできない。
【0115】
本発明のフラッシュアレイは、SDRAMと同様のバンク構造に配列されている。一実施の形態においては、64Mのシンクロナスフラッシュが4個の16M単位のバンクに分割され、64MのSDRAMと同様にアドレス指定される。各バンクは、アドレス指定可能で、4M単位で消去、プログラム可能なセクタにさらに分割される。メモリは、バンク単位で並列的に読み出し処理および書き込み処理を行うことができる。従って、あるバンクに対する書き込み処理と他のバンクに対する読み出し処理とを同時に行うことができる。当業者であれば、周知であるように、SDRAMでは、各バンクにおいて、1つの共通な行が開かれる。読み出し処理および書き込み処理は、この開かれた行の上でアレイにおける各バンクにわたってシーケンシャルに行われる。
【0116】
本発明のシンクロナスフラッシュメモリは、SDRAMと同様のバンクアーキテクチャを有し、バンクの1つで書き込みを行っている間に各バンクにおいて行を開くことができる。
【0117】
図33は、本発明の一実施の形態の処理システム400を示す。シンクロナスフラッシュメモリ410は、双方向データバス435を介して複数のプロセッサ440、442、444、および446に接続される。前記メモリは、複数のバンク412、414、416および418が配列された不揮発性メモリのアレイを有する。また、アレイとデータ通信を行う読み出し/書き込み回路430を図33に概略的に示す。プロセッサ440等のプロセッサはアレイバンク412の列420に対する書き込みを開始する。書き込み処理を行っている間、プロセッサ442等の第2のプロセッサは、第2のアレイバンクの行420からデータを読み出すことができる。従って、シンクロナスフラッシュメモリ上で4つのプロセッサを別個に動作させることができる。本発明は、4つのバンクを有するものや4つのプロセッサを動作させるものに限定されない。例えば、図32に示すように、1つまたは複数のプロセッサを用いて1つのバンク書き込み処理を行っている間に、他のメモリアレイバンクからデータを読み出すことができる。つまり、書き込み処理を行っている間、複数の読み出し処理が並列的に行われるようにしてもよい。
【0118】
結論
本明細書において、不揮発性メモリセルのアレイを含むシンクロナスフラッシュメモリについて説明した。メモリアレイは、複数の行および複数の列によって配列され、アドレス指定可能なブロックによって配列される。プロセッサや他のメモリコントローラ等の外部装置との双方向データ通信のためにデータ通信端子が用いられる。書き込みラッチは、データバッファとメモリアレイとの間に接続され、データ通信端子に供給されたデータをラッチする。メモリに対する書き込みをメモリアレイブロックなどの1つのロケーションで行っている間、第2のメモリアレイブロック等の2つ目のロケーションでデータの読み出しを行うことができる。書き込み処理および読み出し処理は、複数のアレイブロックにおけるアドレス指定可能な共通の行で実行される。
【図面の簡単な説明】
【図1】 図1Aは、本発明に係るシンクロナスフラッシュメモリを示すブロック図であり、図1Bは、本発明の一実施の形態に係る集積回路の端子接続を示す図であり、図1Cは、本発明の一実施の形態に係る集積回路のバンプグリッドアレイの配列を示す図である。
【図2】 本発明の一実施の形態に係るモードレジスタを示す説明図である。
【図3】 CASレイテンシが1、2、3クロックサイクルのときの読み出し処理を示す動作説明図である。
【図4】 本発明の一実施の形態に係るメモリのバンクの特定の行を活性化する処理を示す動作説明図である。
【図5】 活性化コマンドと読み出しコマンドまたは書き込みコマンドとの間のタイミングを示す説明図である。
【図6】 読み出しコマンドを示す説明図である。
【図7】 本発明の一実施の形態に係る連続した読み出しバーストのタイミングを示す図である。
【図8】 本発明の一実施の形態に係るページ内でのランダム読み取りアクセスのタイミングを示す図である。
【図9】 読み出し処理に続いて行われる書き込み処理のタイミングを示す図である。
【図10】 本発明の一実施の形態において、バーストターミネートコマンドを用いて読み出しバースト処理が終了するタイミングを示す図である。
【図11】 書き込みコマンドを示す説明図である。
【図12】 書き込み処理に続いて行われる読み出し処理のタイミングを示す図である。
【図13】 本発明の一実施の形態に係るパワーダウン処理のタイミングを示す図である。
【図14】 バースト読み出しの際のクロックサスペンド処理のタイミングを示す図である。
【図15】 メモリが2つのブートセクタを有する実施の形態におけるメモリアドレスマップを示す説明図である。
【図16】 本発明の一実施の形態に係る自己同期書き込みシーケンスを示すフローチャートである。
【図17】 本発明の一実施の形態に係る完全な書き込みステータスチェックシーケンスを示すフローチャートである。
【図18】 本発明の一実施の形態に係る自己同期消去シーケンスを示すフローチャートである。
【図19】 本発明の一実施の形態に係る完全なブロック消去ステータスチェックシーケンスを示すフローチャートである。
【図20】 本発明の一実施の形態に係るブロック保護シーケンスを示すフローチャートである。
【図21】 本発明の一実施の形態に係る完全なブロックステータスチェックシーケンスを示すフローチャートである。
【図22】 本発明の一実施の形態に係るデバイス保護シーケンスを示すフローチャートである。
【図23】 本発明の一実施の形態に係るブロック保護解除シーケンスを示すフローチャートである。
【図24】 モードレジスタの初期化、ロード処理のタイミングを示す図である。
【図25】 クロックサスペンドモード処理のタイミングを示す図である。
【図26】 バースト読み出し処理のタイミングを示す図である。
【図27】 バンク読み出しアクセスを交互に行うタイミングを示す図である。
【図28】 フルページバースト読み出し処理のタイミングを示す図である。
【図29】 データマスク信号を用いて行われるバースト読み出し処理のタイミングを示す図である。
【図30】 読み出し処理に続いて異なるバンクに対して読み出し処理を行うタイミングを示す図である。
【図31】 書き込み処理に続いて同一のバンクに対して読み出し処理を行うタイミングを示す図である。
【図32】 本発明のメモリシステムを示す図である。
【図33】 本発明のマルチ処理システムを示す図である。
Claims (16)
- アドレス指定可能な複数のバンクに配列された不揮発性メモリセルのアレイと、
前記アレイに接続された読み出し/書き込み回路と、
前記読み出し/書き込み回路に接続された書き込みラッチとを含み、
前記読み出し/書き込み回路は、前記アドレス指定可能な複数のバンクにおける第1のバンクに対する第1のデータの書き込みと、前記アドレス指定可能な複数のバンクにおける第2のバンクに対する第2のデータの読み出しとを同時に実行し、
前記書き込みラッチは、外部データ通信接続端子に提供された前記第1のデータを格納するように構成されており、
前記読み出し動作及び前記書き込み動作には、同一の組の読み出し/書き込みセンスアンプが利用され、
前記アドレス指定可能な複数のバンクにおいて、読み出し及び書き込みアクセスのために単一のアレイ行が開き、前記読み出し/書き込み回路は、前記第1のデータを前記アドレス指定可能な複数のバンクの前記第1のバンクにおける前記開かれたアレイ行に書き込むと同時に、前記アドレス指定可能な複数のバンクの前記第2のバンクにおける前記開かれたアレイ行から前記第2のデータを読み出し、
前記外部データ通信接続端子は、シンクロナスDRAM(SDRAM)と互換性を有する物理的構成とされることを特徴とする不揮発性シンクロナスメモリ。 - 請求項1記載の不揮発性シンクロナスメモリにおいて、
前記アドレス指定可能な複数のバンクが4つのブロックを含むことを特徴とする不揮発性シンクロナスメモリ。 - 請求項1記載の不揮発性シンクロナスメモリにおいて、
前記読み出し/書き込み回路は、第1の外部プロセッサから前記第1のデータを受け取り、第2の外部プロセッサからの要求に基づいて前記第2のデータを供給することを特徴とする不揮発性シンクロナスメモリ。 - アドレス指定可能な複数のバンクに配列された不揮発性メモリセルのアレイと、
外部データ通信接続端子に供給された第1のデータを格納する書き込みラッチと、
前記アレイに接続された読み出し/書き込み回路とを含み、
前記読み出し/書き込み回路は、前記アドレス指定可能な複数のバンクにおける第1のバンクに対する前記第1のデータの書き込みと、前記アドレス指定可能な複数のバンクにおける第2のバンクに対する第2のデータの読み出しとを同時に実行し、
前記読み出し動作及び前記書き込み動作には、同一の組の読み出し/書き込みセンスアンプが利用され、
前記アドレス指定可能な複数のバンクにおいて、読み出し及び書き込みアクセスのために単一のアレイ行が開き、前記読み出し/書き込み回路は、前記第1のデータを前記アドレス指定可能な複数のバンクの前記第1のバンクにおける前記開かれたアレイ行に書き込むと同時に、前記アドレス指定可能な複数のバンクの前記第2のバンクにおける前記開かれたアレイ行から前記第2のデータを読み出し、
前記外部データ通信接続端子は、シンクロナスDRAM(SDRAM)と互換性を有する物理的構成とされることを特徴とする不揮発性シンクロナスメモリ。 - 請求項4記載の不揮発性シンクロナスメモリにおいて、
前記読み出し/書き込み回路は、第1の外部プロセッサから前記第1のデータを受け取り、第2の外部プロセッサからの要求に基づいて前記第2のデータを供給することを特徴とする不揮発性シンクロナスメモリ。 - プロセッサと、
前記プロセッサに接続された不揮発性シンクロナスメモリとを含む処理システムであって、
前記不揮発性シンクロナスメモリは、
アドレス指定可能な複数のバンクに配列された不揮発性メモリセルのアレイと、
前記アレイに接続された読み出し/書き込み回路と、
書き込みラッチとを含み、
前記読み出し/書き込み回路は、前記アドレス指定可能な複数のバンクにおける第1のバンクに対する前記プロセッサによって供給された前記第1のデータの書き込みと、前記アドレス指定可能な複数のバンクにおける第2のバンクに対する第2のデータの読み出しとを同時に実行し、前記第2のデータを前記プロセッサに供給し、
前記書き込みラッチは、前記第1データが前記アドレス指定可能な複数のバンクのうちの最初の1つに書き込まれる際に当該第1データを格納するように構成されており、
前記読み出し動作及び前記書き込み動作には、同一の組の読み出し/書き込みセンスアンプが利用され、
前記アドレス指定可能な複数のバンクにおいて、読み出し及び書き込みアクセスのために単一のアレイ行が開き、前記読み出し/書き込み回路は、前記第1のデータを前記アドレス指定可能な複数のバンクの前記第1のバンクにおける前記開かれたアレイ行に書き込むと同時に、前記アドレス指定可能な複数のバンクの前記第2のバンクにおける前記開かれたアレイ行から前記第2のデータを読み出し、
前記外部データ通信接続端子は、シンクロナスDRAM(SDRAM)と互換性を有する物理的構成とされることを特徴とする処理システム。 - 第1のプロセッサおよび第2のプロセッサと、
前記第1のプロセッサおよび前記第2のプロセッサに接続された不揮発性シンクロナスメモリとを含む処理システムであって、
前記不揮発性シンクロナスメモリは、
アドレス指定可能な複数のバンクに配列された不揮発性メモリセルのアレイと、
書き込みデータを格納するために前記アレイに接続されたデータラッチと、
前記アレイに接続された読み出し/書き込み回路とを含み、
前記読み出し/書き込み回路は、前記アドレス指定可能な複数のバンクにおける第1のバンクに対する前記第1のプロセッサによって供給された前記第1のデータの書き込みと、前記アドレス指定可能な複数のバンクにおける第2のバンクに対する第2のデータの読み出しとを同時に実行し、前記第2のデータを前記第2のプロセッサに供給し、
前記読み出し動作及び前記書き込み動作には、同一の組の読み出し/書き込みセンスアンプが利用され、
前記アドレス指定可能な複数のバンクにおいて、読み出し及び書き込みアクセスのために単一のアレイ行が開き、前記読み出し/書き込み回路は、前記第1のデータを前記アドレス指定可能な複数のバンクの前記第1のバンクにおける前記開かれたアレイ行に書き込むと同時に、前記アドレス指定可能な複数のバンクの前記第2のバンクにおける前記開かれたアレイ行から前記第2のデータを読み出し、
前記外部データ通信接続端子は、シンクロナスDRAM(SDRAM)と互換性を有する物理的構成とされることを特徴とする処理システム。 - 不揮発性シンクロナスメモリにおける処理の実行方法において、
第1のバンクのロケーションと第2のバンクのロケーションに共通のアドレス指定可能な行にアクセスするステップと、
前記不揮発性シンクロナスメモリのメモリアレイにおける前記第1のバンクロケーションに第1のデータを書き込むステップと、
前記第1のデータの書き込みとほぼ同時に前記不揮発性シンクロナスメモリの前記メモリアレイにおける前記第2のバンクロケーションから第2のデータを読み出すステップとを含み、
前記メモリアレイにおける前記第1のバンクロケーションに前記第1のデータを書き込む前にラッチ回路に前記第1のデータが格納され、
前記読み出し動作及び前記書き込み動作には、同一の組の読み出し/書き込みセンスアンプが利用され、
前記不揮発性シンクロナスメモリの外部データ通信接続端子は、シンクロナスDRAM(SDRAM)と互換性を有する物理的構成とされることを特徴とする不揮発性シンクロナスメモリにおける処理の実行方法。 - 請求項8記載の方法において、
前記第1のデータが外部プロセッサを通じて前記不揮発性シンクロナスメモリに供給されることを特徴とする不揮発性シンクロナスメモリにおける処理の実行方法。 - 請求項8記載の方法において、
前記第1のデータが第1の外部プロセッサを通じて前記不揮発性シンクロナスメモリに供給され、当該方法が、前記第2のデータを第2の外部プロセッサに出力するステップを含むことを特徴とする不揮発性シンクロナスメモリにおける処理の実行方法。 - シンクロナスメモリにおける処理の実行方法において、
シンクロナスDRAM(SDRAM)と互換性を有する物理的構成とされた前記不揮発性シンクロナスメモリの外部データ通信接続端子を介して、外部から供給される第1のデータを受け取るステップと、
書き込みラッチに前記第1のデータを格納するステップと、
前記メモリのメモリアレイにおける第1のバンクロケーションに前記書き込みラッチからの前記第1データを書き込むステップと、
前記第1のバンク及び前記第2のバンクにおける共通のアレイ行が読み出し及び書き込みアクセスのために開いた状態で、前記第1のデータの書き込みとほぼ同時に前記メモリの前記メモリアレイにおける第2のバンクロケーションから第2のデータを読み出すステップとを含み、
前記読み出し動作及び前記書き込み動作には、同一の組の読み出し/書き込みセンスアンプが利用されることを特徴とするシンクロナスメモリにおける処理の実行方法。 - 請求項11記載の方法において、
前記第1のデータが外部プロセッサを通じて供給されることを特徴とするシンクロナスメモリにおける処理の実行方法。 - 請求項12記載の方法において、
前記シンクロナスDRAM(SDRAM)と互換性を有する前記外部データ通信接続端子を介して、前記第2のデータを前記外部プロセッサに出力するステップを含むことを特徴とするシンクロナスメモリにおける処理の実行方法。 - 請求項11記載の方法において、
前記第1のデータが第1の外部プロセッサを通じて供給され、当該方法が、前記シンクロナスDRAM(SDRAM)と互換性を有する前記外部データ通信接続端子を介して、前記第2のデータを第2の外部プロセッサに出力するステップを含むことを特徴とするシンクロナスメモリにおける処理の実行方法。 - 不揮発性シンクロナスメモリにおける処理の実行方法において、
前記不揮発性シンクロナスメモリに接続された第1の外部プロセッサから第1のデータを、シンクロナスDRAM(SDRAM)と互換性を有する物理的構成とされた前記不揮発性シンクロナスメモリの外部インタフェースを介して受け取るステップと、
書き込みラッチに前記第1のデータを格納するステップと、
前記不揮発性シンクロナスメモリデバイスのメモリアレイにおける第1のロケーションに前記書き込みラッチからの前記第1のデータを書き込むステップと、
前記第1のロケーション及び前記第2のロケーションに共通のアレイ行が開いた状態で、前記第1のデータの書き込みとほぼ同時に前記不揮発性シンクロナスメモリの前記メモリアレイにおける第2のバンクロケーションから第2のデータを読み出すステップと、
前記第2のデータを前記不揮発性シンクロナスメモリデバイスに接続された第2の外部プロセッサに、前記シンクロナスDRAM(SDRAM)と互換性を有する前記外部インタフェースを介して出力するステップとを含み、
前記読み出し動作及び前記書き込み動作には、同一の組の読み出し/書き込みセンスアンプが利用されることを特徴とする不揮発性シンクロナスメモリにおける処理の実行方法。 - 請求項15記載の方法において、
前記第1のロケーションおよび前記第2のロケーションは、前記メモリアレイの第1のアドレス指定可能なブロックおよび第2のアドレス指定可能なブロックであることを特徴とする不揮発性シンクロナスメモリにおける処理の実行方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US19350600P | 2000-03-30 | 2000-03-30 | |
US60/193,506 | 2000-03-30 | ||
US09/628,184 | 2000-07-28 | ||
US09/628,184 US6851026B1 (en) | 2000-07-28 | 2000-07-28 | Synchronous flash memory with concurrent write and read operation |
PCT/US2001/010375 WO2001075892A2 (en) | 2000-03-30 | 2001-03-30 | Synchronous flash memory with concurrent write and read operation |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003529880A JP2003529880A (ja) | 2003-10-07 |
JP3779209B2 true JP3779209B2 (ja) | 2006-05-24 |
Family
ID=26889068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001573484A Expired - Fee Related JP3779209B2 (ja) | 2000-03-30 | 2001-03-30 | 読み出し処理および書き込み処理を並列に実行する機能を有するシンクロナスフラッシュメモリ |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP3779209B2 (ja) |
KR (1) | KR100438634B1 (ja) |
AU (1) | AU2001251169A1 (ja) |
DE (1) | DE10196002B3 (ja) |
WO (1) | WO2001075892A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102021107044A1 (de) | 2021-03-10 | 2022-09-15 | Elmos Semiconductor Se | Sicherheitsrelevantes Rechnersystems mit einem Datenspeicher und einem Datenspeicher |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101002276B (zh) * | 2004-07-29 | 2010-09-01 | 斯班逊有限公司 | 在非易失性存储装置中信息设定之方法及设备 |
WO2007023544A1 (ja) * | 2005-08-25 | 2007-03-01 | Spansion Llc | 記憶装置、記憶装置の制御方法、および記憶制御装置の制御方法 |
JP2007164938A (ja) | 2005-12-16 | 2007-06-28 | Matsushita Electric Ind Co Ltd | 半導体記憶装置 |
US7639540B2 (en) | 2007-02-16 | 2009-12-29 | Mosaid Technologies Incorporated | Non-volatile semiconductor memory having multiple external power supplies |
KR101293226B1 (ko) | 2011-06-30 | 2013-08-05 | (주)아토솔루션 | 비휘발성 메모리 소자, 전자제어 시스템, 및 비휘발성 메모리 소자의 동작방법 |
US11269779B2 (en) * | 2020-05-27 | 2022-03-08 | Microsoft Technology Licensing, Llc | Memory system with a predictable read latency from media with a long write latency |
CN113343319B (zh) * | 2021-06-29 | 2024-04-02 | 珠海一微半导体股份有限公司 | 一种flash的类型识别方法及类型识别系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5245572A (en) * | 1991-07-30 | 1993-09-14 | Intel Corporation | Floating gate nonvolatile memory with reading while writing capability |
JP3435783B2 (ja) * | 1994-03-17 | 2003-08-11 | 株式会社日立製作所 | 複数組のデータバッファを備える記憶素子及び記憶素子を用いたデータ処理システム |
US5666322A (en) * | 1995-09-21 | 1997-09-09 | Nec Electronics, Inc. | Phase-locked loop timing controller in an integrated circuit memory |
JP3570879B2 (ja) * | 1997-07-09 | 2004-09-29 | 富士通株式会社 | 不揮発性半導体記憶装置 |
JP3386705B2 (ja) * | 1997-12-25 | 2003-03-17 | 株式会社東芝 | 半導体記憶装置およびそのバーストアドレスカウンタ |
-
2001
- 2001-03-30 AU AU2001251169A patent/AU2001251169A1/en not_active Abandoned
- 2001-03-30 DE DE10196002T patent/DE10196002B3/de not_active Expired - Fee Related
- 2001-03-30 WO PCT/US2001/010375 patent/WO2001075892A2/en active IP Right Grant
- 2001-03-30 JP JP2001573484A patent/JP3779209B2/ja not_active Expired - Fee Related
- 2001-03-30 KR KR10-2002-7013090A patent/KR100438634B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102021107044A1 (de) | 2021-03-10 | 2022-09-15 | Elmos Semiconductor Se | Sicherheitsrelevantes Rechnersystems mit einem Datenspeicher und einem Datenspeicher |
DE102021107045A1 (de) | 2021-03-10 | 2022-09-15 | Elmos Semiconductor Se | Rechnersystem für eine Motorsteuerung mit einem Programmspeicher und einem Datenspeicher |
Also Published As
Publication number | Publication date |
---|---|
AU2001251169A1 (en) | 2001-10-15 |
WO2001075892A3 (en) | 2002-05-23 |
KR20020086746A (ko) | 2002-11-18 |
WO2001075892A2 (en) | 2001-10-11 |
DE10196002T1 (de) | 2003-03-13 |
JP2003529880A (ja) | 2003-10-07 |
KR100438634B1 (ko) | 2004-07-02 |
DE10196002B3 (de) | 2012-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3809909B2 (ja) | ステータスバースト出力を行うシンクロナスフラッシュメモリ | |
JP3773846B2 (ja) | プリチャージ処理が不要化されたシンクロナスフラッシュメモリ | |
US7080193B2 (en) | Flash memory with accessible page during write | |
US6760274B2 (en) | Burst read addressing in a non-volatile memory device | |
US6851026B1 (en) | Synchronous flash memory with concurrent write and read operation | |
US20050259506A1 (en) | Synchronous flash memory | |
US20040153613A1 (en) | Burst write in a non-volatile memory device | |
JP4902325B2 (ja) | ゼロレイテンシ機能、ゼロバスターンアラウンド機能を有するシンクロナスフラッシュメモリ | |
JP3631209B2 (ja) | 読み出し処理におけるレイテンシを一致させたフラッシュ | |
JP3725479B2 (ja) | シンクロナスフラッシュメモリ用のインタフェースコマンドアーキテクチャ | |
JP3779209B2 (ja) | 読み出し処理および書き込み処理を並列に実行する機能を有するシンクロナスフラッシュメモリ | |
JP4229946B6 (ja) | フラッシュ用のトップ/ボトム対称保護スキーム | |
JP2006164511A6 (ja) | フラッシュ用のトップ/ボトム対称保護スキーム | |
JP2003529878A (ja) | 不揮発性モードレジスタを有するシンクロナスフラッシュメモリ | |
JP3822495B2 (ja) | シンクロナスフラッシュメモリ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041124 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050223 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20050308 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050512 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050809 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20051129 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060106 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060301 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100310 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110310 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110310 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120310 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130310 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130310 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140310 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |