JP2004505404A - ステータスバースト出力を行うシンクロナスフラッシュメモリ - Google Patents
ステータスバースト出力を行うシンクロナスフラッシュメモリ Download PDFInfo
- Publication number
- JP2004505404A JP2004505404A JP2002516785A JP2002516785A JP2004505404A JP 2004505404 A JP2004505404 A JP 2004505404A JP 2002516785 A JP2002516785 A JP 2002516785A JP 2002516785 A JP2002516785 A JP 2002516785A JP 2004505404 A JP2004505404 A JP 2004505404A
- Authority
- JP
- Japan
- Prior art keywords
- register
- data
- command
- read
- memory device
- 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.)
- Granted
Links
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
- 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
- G11C7/103—Read-write modes for single port memories, i.e. having either a random port or a serial port using serially addressed read-write data registers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
-
- 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
- G11C7/1018—Serial bit line access mode, e.g. using bit line address shift registers, bit line address counters, bit line burst counters
-
- 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
- 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
- G11C16/20—Initialising; Data preset; Chip identification
-
- 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/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
- Read Only Memory (AREA)
Abstract
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】
一実施の形態においては、シンクロナスメモリデバイスにおける処理を実行する方法は、シンクロナスメモリデバイスからのデータ出力がx個の連続したクロックサイクルにわたって行われるように、読み出しバースト長のサイクル数xを設定するステップと、レジスタの読み出し処理を開始し、内部レジスタに格納されたデータを読み出すステップと、内部レジスタに格納されたデータをx個の連続したクロックサイクルにわたって外部データ接続端子に出力するステップとを含む。
【0010】
別の実施の形態においては、シンクロナスデバイスにおける処理を実行する方法は、読み出しレジスタコマンドを受取るステップと、読み出しレジスタコマンドに応じてx個のクロックサイクルにわたってシンクロナスメモリデバイスからレジスタデータを出力するステップを含む。
【0011】
また、別の実施の形態においては、シンクロナスメモリデバイスにおける処理を実行する方法は、シンクロナスメモリデバイスのアレイに対して書き込み処理を実行するステップと、書き込み処理の実行中に、プロセッサからメモリデバイスにレジスタ読み出しコマンドを転送するステップとを含む。第1のクロックサイクルにおいて、メモリデバイスの入力でレジスタコマンドが受取られ、メモリレジスタに格納されたレジスタデータが読み出される。シンクロナスメモリデバイスのデータ通信接続端子に複数のクロックサイクルにわたってレジスタデータを出力され、レジスタデータの出力は、レジスタ読み出しコマンドを受取ってから所定のクロックレイテンシの期間が経過した後に行われる。
【0012】
シンクロナスメモリデバイスは、メモリセルのアレイと、データレジスタと、クロック信号入力接続端子とを有する。制御回路は、レジスタ読み出しコマンドに応じてデータレジスタからのデータを出力接続端子に出力する。制御回路は、プログラムされた読み出しバースト長の値に基づいて所定数のクロックサイクルにわたってデータを出力する。
【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個のバンクに分割され、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つのプロセッサは、同一のメモリブロックに対して処理を実行するような場合、競合の問題を回避するために、メモリに対してどのような処理が実行されているかを知る必要がある。従来のシステムは、複数のプロセッサによって同時に実行されている処理を把握するために、バスマスタが使用されている。バスマスタの負荷を軽減するために、2つの方法が存在する。
【0119】
1つめの方法は、メモリ対して2番目の処理が行われようとしているとき、ステータスレジスタ内のデータを出力するための自動読み出しステータスモードをメモリに採用することである。つまり、メモリに対して書き込み処理が行われている間に該メモリに対して読み出し処理が実行されると、ステータスレジスタ内のデータを出力するという方法である。この方法では、異なるアレイブロックに対して読み出し処理を実行しようとする場合であっても、ステータスデータが出力されるので、読み出し処理を実行することができない。2つめの方法は、ステータスレジスタを読み出してメモリの書き込みステータスを判別するプロセッサを用いることである。この方法においても、読み出し処理は実行されない。
【0120】
本発明によれば、異なるアレイのバンクに対して同時に読み出し処理が実行される際の混乱の発生を回避するために、2つのステータス読み出しモードが採用されている。本発明のシンクロナスフラッシュメモリの第1のステータスモードは、メモリデバイス全体のステータスを得るためのものである。つまり、ステータスレジスタは、メモリアレイまたは非アレイ構造のレジスタに対して現在書き込み処理が実行中であるか否かを示す。このステータスモードは、本明細書中ではメモリステータスモードと呼ぶ場合もある。ステータスモードは、外部プロセッサからのリクエストよって選択的に開始する。メモリステータスコマンドに応じてメモリの制御回路は、DQ接続端子にステータスレジスタデータを出力する。
【0121】
第2のステータスモードは、メモリバンク特定モードである。このモードでは、ステータスデータは自動的にDQ接続端子に出力される。つまり、プロセッサがアレイバンクに対する書き込み処理を開始すると、バンクがバンクステータスモードになる。その後、書き込み処理の実行中にこのバンクに対して読み出し処理を実行しようとした場合には、ステータスレジスタのデータがDQ接続端子に出力される。従って、複数の複数のプロセッサを有するシステムにおいても、メモリ制御回路の機能により、プロセッサが互いに干渉することなく、協力して動作する。
【0122】
このメモリは、バンクレジスタ450(図33参照)を含む。このバンクレジスタ450の設定により、どのバンクに書き込み処理が行われているかを識別することができる。メモリはバンクレジスタに対してプログラミングを行い、バンクレジスタをポインタとして使用する。読み出し処理の間、読み出しアドレスがバンクレジスタと照合され、このバンクアドレスに対して書き込み処理が実行中である場合には、メモリはステータスレジスタデータを自動的に出力する。従って、本発明は、バスマスタの負荷を軽減し、複数の処理の実行に適している。
【0123】
シングルバーストステータス
上述したように、従来のフラッシュメモリは、シンプルステータス読み出し処理を採用していた。このようなメモリでは、一旦、メモリが書き込みモードに入ってメモリから読み出しを行おうとすると、ステータスレジスタ内のデータが読み出される。従って、ユーザが書き込み処理の進行状況を確認することができる。
【0124】
本発明では、ステータス読み出しコマンドを用いてステータスレジスタからのデータを出力するステータス読み出しモードを採用している。さらに、シンクロナスフラッシュメモリがロードコマンドレジスタ処理を用いてプログラムすることによって、バースト長とクロックレイテンシを設定することができる。これらの設定は、主に、読み出し処理の実行中にデータを出力するタイミングを制御するために使用される。この従来のフラッシュメモリデバイスの問題は、レジスタデータの出力がバースト長とレイテンシによって制御されないことである。
【0125】
本発明のメモリは、レジスタ読み出しモードにおいて、一連のクロックサイクル(バースト)にわたってレジスタデータを出力する。上述したように、バースト長は、モードレジスタへのプログラミングによって予め設定することができる。例えば、バースト長が4ワードでクロックレイテンシが3となるようにモードレジスタを設定することができる。本発明のメモリは、ステータスレジスタ読み出しコマンドを受取ると、クロックレイテンシの3クロックサイクルが経過した後にステータスレジスタ内のデータを出力し、設定されたバースト長、即ち、4サイクルにわたって、バス(DQ接続端子)にステータスレジスタ内のデータを出力する。レジスタの読み出し処理は、ステータスレジスタの読み出しに限定されるものではなく、デバイス識別レジスタ、製造元識別レジスタ等、処理データを格納するものであればどの処理レジスタを読み出すようにしてもよい。
【0126】
バースト長の設定およびクロックレイテンシの設定を使用してレジスタデータの出力を制御することによって、メモリデバイスにおいて読み出し処理と書き込み処理が同時に実行された際に混乱が発生することが少なくなる。例えば、ユーザがメモリデバイスにおける処理のステータスを知る必要がある場合には、読み出しステータスコマンドが発行され、バースト長にわたってステータスレジスタのデータが出力される。
【0127】
結論
シンクロナスフラッシュメモリは、不揮発性メモリセルのアレイを含む。メモリアレイは、複数の行および列に配列され、アドレス指定可能なブロックに配列される。プロセッサやメモリコントローラなどの外部デバイスと双方向データ通信を行うために、データ通信接続端子が使用される。メモリは、一連のクロックサイクルの間、データ通信接続端子を介してストレージレジスタからのデータを出力し、レジスタデータをバースト処理することができる。また、メモリは、設定されたクロックレイテンシの値に従ってレジスタデータを出力する。レジスタデータには、ステータスデータ、処理設定データ、製造元識別データ、さらに、メモリデバイス識別データが含まれる。
【図面の簡単な説明】
【図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 (22)
- シンクロナスメモリデバイスからのデータ出力がx個の連続したクロックサイクルにわたって行われるように、読み出しバースト長のサイクル数xを設定するステップと、
レジスタの読み出し処理を開始し、内部レジスタに格納されたデータを読み出すステップと、
前記内部レジスタに格納されたデータをx個の連続したクロックサイクルにわたって外部データ接続端子に出力するステップと
を含むことを特徴とするシンクロナスメモリデバイスにおける処理を実行する方法。 - 請求項1記載の方法において、さらに、
前記レジスタの読み出し処理を開始してからy個のクロックサイクルが経過した後に前記内部レジスタに格納された前記データが出力されるように、クロックレイテンシのサイクル数yを設定するステップを含むことを特徴とするシンクロナスメモリデバイスにおける処理を実行する方法。 - 請求項1記載の方法において、前記内部レジスタが、処理データ、ステータスデータ、製造元識別データ、または、メモリデバイス識別データを保持することを特徴とするシンクロナスメモリデバイスにおける処理を実行する方法。
- 読み出しレジスタコマンドを受取るステップと、
前記読み出しレジスタコマンドに応じてx個のクロックサイクルにわたって前記シンクロナスメモリデバイスからレジスタデータを出力するステップを含むことを特徴とするシンクロナスデバイスにおける処理を実行する方法。 - 請求項4記載の方法において、前記シンクロナスメモリデバイスが、不揮発性メモリセルを有するシンクロナスフラッシュメモリデバイスであることを特徴とするシンクロナスメモリデバイスにおける処理を実行する方法。
- 請求項4記載の方法において、前記レジスタデータは、前記読み出しレジスタコマンドを受取ってからy個のクロックサイクルが経過した後に出力されることを特徴とするシンクロナスメモリデバイスにおける処理を実行する方法。
- 請求項4記載の方法において、前記レジスタデータが、処理データ、ステータスデータ、製造元識別データ、または、メモリデバイス識別データを含むことを特徴とするシンクロナスメモリデバイスにおける処理を実行する方法。
- 請求項4記載の方法において、クロックサイクル数xが、2、4、8、16のいずれかであることを特徴とするシンクロナスメモリデバイスにおける処理を実行する方法。
- プロセッサからシンクロナスメモリデバイスにレジスタ読み出しコマンドを転送するステップと、
第1のクロックサイクルにおいて、前記メモリデバイスの入力でレジスタ読み出しコマンドを受取るステップと、
メモリレジスタに格納されたレジスタデータを読み出すステップと、
前記シンクロナスメモリデバイスのデータ通信接続端子に複数のクロックサイクルにわたって前記レジスタデータを出力するステップとを含み、
前記レジスタデータの出力は、前記レジスタ読み出しコマンドを受取ってから所定のクロックレイテンシの期間が経過した後に行われることを特徴とするシンクロナスメモリデバイスにおけるレジスタデータを読み出す方法。 - 請求項8記載の方法において、前記レジスタデータが、処理データ、ステータスデータ、製造元識別データ、または、メモリデバイス識別データを含むことを特徴とするシンクロナスメモリデバイスにおけるレジスタデータを読み出す方法。
- 請求項8記載の方法において、さらに、
前記シンクロナスメモリデバイスのバースト長を設定し、前記レジスタデータが出力されるクロックサイクル数を定義するステップと、
クロックレイテンシの期間を設定するステップと
を含むことを特徴とするシンクロナスメモリデバイスにおけるレジスタデータを読み出す方法。 - 請求項10記載の方法において、前記バースト長のクロックサイクル数が、2、4、8、16のいずれかであることを特徴とするシンクロナスメモリデバイスにおけるレジスタデータを読み出す方法。
- 請求項8記載の方法において、前記シンクロナスメモリデバイスが、不揮発性メモリセルを有するシンクロナスフラッシュメモリデバイスであることを特徴とするシンクロナスメモリデバイスにおけるレジスタデータを読み出す方法。
- シンクロナスメモリデバイスのアレイに対して書き込み処理を実行するステップと、
前記書き込み処理の実行中に、プロセッサから前記メモリデバイスにレジスタ読み出しコマンドを転送するステップと、
第1のクロックサイクルにおいて、前記メモリデバイスの入力でレジスタコマンドを受取るステップと、
メモリレジスタに格納されたレジスタデータを読み出すステップと、
前記シンクロナスメモリデバイスのデータ通信接続端子に複数のクロックサイクルにわたって前記レジスタデータを出力するステップとを含み、
前記レジスタデータの出力は、前記レジスタ読み出しコマンドを受取ってから所定のクロックレイテンシの期間が経過した後に行われることを特徴とするシンクロナスメモリデバイスにおける処理を実行する方法。 - 請求項13記載の方法において、前記レジスタデータが、前記メモリデバイスの書き込みステータスを示すことを特徴とするシンクロナスメモリデバイスにおける処理を実行する方法。
- 請求項13記載の方法において、さらに、
前記シンクロナスメモリデバイスのバースト長を設定し、前記レジスタデータが出力されるクロックサイクル数を定義するステップと、
クロックレイテンシの期間を設定するステップと
を含むことを特徴とするシンクロナスメモリデバイスにおける処理を実行する方法。 - メモリセルのアレイと、
データレジスタと、
クロック信号入力接続端子と、
レジスタ読み出しコマンドに応じて前記データレジスタからのデータを出力接続端子に出力する制御回路とを含むシンクロナスメモリデバイスにおいて、
前記制御回路は、プログラムされた読み出しバースト長の値に基づいて所定数のクロックサイクルにわたって前記データを出力することを特徴とするシンクロナスメモリデバイス。 - 請求項16記載のシンクロナスメモリデバイスにおいて、前記メモリセルが不揮発性であることを特徴とするシンクロナスメモリデバイス。
- 請求項16記載のシンクロナスメモリデバイスにおいて、前記データレジスタがステータスレジスタであり、前記データが前記メモリデバイスの書き込みステータスを示すことを特徴とするシンクロナスメモリデバイス。
- 請求項16記載のシンクロナスメモリデバイスにおいて、前記制御回路は、前記読み出しレジスタコマンドが発行されてから所定のクロックレイテンシの期間が経過した後、前記出力接続端子に前記データを出力することを特徴とするシンクロナスメモリデバイス。
- プロセッサと、
前記プロセッサに接続された前記不揮発性メモリデバイスとを含む処理システムにおいて、
メモリセルのアレイと、
ステータスレジスタと、
クロック信号入力接続端子と、
レジスタ読み出しコマンドに応じて前記ステータスレジスタからのデータを出力接続端子に出力する制御回路とを含み、
前記制御回路は、プログラムされた読み出しバースト長の値に基づいて所定数のクロックサイクルにわたって前記データを出力することを特徴とする処理システム。 - 請求項20記載の処理システムにおいて、前記制御回路は、前記読み出しレジスタコマンドが発行されてから所定のクロックレイテンシの期間が経過した後、前記出力接続端子に前記データを出力することを特徴とするシンクロナスメモリデバイス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/626,190 US6728798B1 (en) | 2000-07-28 | 2000-07-28 | Synchronous flash memory with status burst output |
PCT/US2001/023695 WO2002011148A1 (en) | 2000-07-28 | 2001-07-27 | Synchronous flash memory with status burst output |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004505404A true JP2004505404A (ja) | 2004-02-19 |
JP2004505404A5 JP2004505404A5 (ja) | 2005-02-17 |
JP3809909B2 JP3809909B2 (ja) | 2006-08-16 |
Family
ID=24509337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002516785A Expired - Fee Related JP3809909B2 (ja) | 2000-07-28 | 2001-07-27 | ステータスバースト出力を行うシンクロナスフラッシュメモリ |
Country Status (9)
Country | Link |
---|---|
US (4) | US6728798B1 (ja) |
EP (1) | EP1305804B1 (ja) |
JP (1) | JP3809909B2 (ja) |
KR (1) | KR100511820B1 (ja) |
CN (2) | CN100578659C (ja) |
AT (1) | ATE492880T1 (ja) |
AU (1) | AU2001277210A1 (ja) |
DE (2) | DE60143700D1 (ja) |
WO (1) | WO2002011148A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008530721A (ja) * | 2005-02-14 | 2008-08-07 | クゥアルコム・インコーポレイテッド | 揮発性メモリのレジスタの読み出し |
JP2010507148A (ja) * | 2006-10-11 | 2010-03-04 | クゥアルコム・インコーポレイテッド | 同時ステータスレジスタ読み取り |
US8122187B2 (en) | 2004-07-02 | 2012-02-21 | Qualcomm Incorporated | Refreshing dynamic volatile memory |
WO2012128000A1 (ja) * | 2011-03-23 | 2012-09-27 | 株式会社 東芝 | 半導体記憶装置およびその制御方法 |
US9262326B2 (en) | 2006-08-14 | 2016-02-16 | Qualcomm Incorporated | Method and apparatus to enable the cooperative signaling of a shared bus interrupt in a multi-rank memory subsystem |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6728798B1 (en) * | 2000-07-28 | 2004-04-27 | Micron Technology, Inc. | Synchronous flash memory with status burst output |
US20030204675A1 (en) * | 2002-04-29 | 2003-10-30 | Dover Lance W. | Method and system to retrieve information from a storage device |
JP4010400B2 (ja) * | 2002-06-14 | 2007-11-21 | シャープ株式会社 | 半導体記憶装置およびデータ書き込み制御方法 |
US7149824B2 (en) | 2002-07-10 | 2006-12-12 | Micron Technology, Inc. | Dynamically setting burst length of memory device by applying signal to at least one external pin during a read or write transaction |
US7254690B2 (en) * | 2003-06-02 | 2007-08-07 | S. Aqua Semiconductor Llc | Pipelined semiconductor memories and systems |
CN100530146C (zh) * | 2004-08-26 | 2009-08-19 | 鸿富锦精密工业(深圳)有限公司 | Bios在线烧录方法 |
US20060143330A1 (en) * | 2004-12-23 | 2006-06-29 | Oliver Kiehl | Method for data transmit burst length control |
US7620783B2 (en) * | 2005-02-14 | 2009-11-17 | Qualcomm Incorporated | Method and apparatus for obtaining memory status information cross-reference to related applications |
US7640392B2 (en) | 2005-06-23 | 2009-12-29 | Qualcomm Incorporated | Non-DRAM indicator and method of accessing data not stored in DRAM array |
KR100762259B1 (ko) | 2005-09-12 | 2007-10-01 | 삼성전자주식회사 | 버스트 읽기 레이턴시 기능을 갖는 낸드 플래시 메모리장치 |
US7904639B2 (en) * | 2006-08-22 | 2011-03-08 | Mosaid Technologies Incorporated | Modular command structure for memory and memory system |
KR101364443B1 (ko) * | 2007-01-31 | 2014-02-17 | 삼성전자주식회사 | 메모리 시스템, 이 시스템을 위한 메모리 제어기와 메모리,이 시스템의 신호 구성 방법 |
WO2008101316A1 (en) | 2007-02-22 | 2008-08-28 | Mosaid Technologies Incorporated | Apparatus and method for using a page buffer of a memory device as a temporary cache |
US8086785B2 (en) | 2007-02-22 | 2011-12-27 | Mosaid Technologies Incorporated | System and method of page buffer operation for memory devices |
KR100813631B1 (ko) * | 2007-03-19 | 2008-03-14 | 삼성전자주식회사 | 읽기 성능을 향상시킬 수 있는 플래시 메모리 장치 |
JP4959806B2 (ja) * | 2007-10-18 | 2012-06-27 | 株式会社東芝 | 記憶装置、データ伝送方法及び伝送制御回路 |
US9354890B1 (en) | 2007-10-23 | 2016-05-31 | Marvell International Ltd. | Call stack structure for enabling execution of code outside of a subroutine and between call stack frames |
WO2009079744A1 (en) | 2007-12-21 | 2009-07-02 | Mosaid Technologies Incorporated | Non-volatile semiconductor memory device with power saving feature |
US8291248B2 (en) | 2007-12-21 | 2012-10-16 | Mosaid Technologies Incorporated | Non-volatile semiconductor memory device with power saving feature |
US7841436B2 (en) | 2008-01-21 | 2010-11-30 | Amigo Mobility International | Personal mobility vehicle |
KR100955684B1 (ko) * | 2008-10-02 | 2010-05-06 | 주식회사 하이닉스반도체 | 플래그신호 생성회로 및 반도체 메모리 장치 |
US8762621B2 (en) * | 2008-10-28 | 2014-06-24 | Micron Technology, Inc. | Logical unit operation |
KR101638764B1 (ko) * | 2008-12-19 | 2016-07-22 | 휴렛 팩커드 엔터프라이즈 디벨롭먼트 엘피 | 균일한 판독 대기시간을 위한 중복 데이터 저장 |
US20100287217A1 (en) * | 2009-04-08 | 2010-11-11 | Google Inc. | Host control of background garbage collection in a data storage device |
US9582443B1 (en) | 2010-02-12 | 2017-02-28 | Marvell International Ltd. | Serial control channel processor for executing time-based instructions |
US8582382B2 (en) * | 2010-03-23 | 2013-11-12 | Mosaid Technologies Incorporated | Memory system having a plurality of serially connected devices |
US8843692B2 (en) | 2010-04-27 | 2014-09-23 | Conversant Intellectual Property Management Inc. | System of interconnected nonvolatile memories having automatic status packet |
KR101817159B1 (ko) * | 2011-02-17 | 2018-02-22 | 삼성전자 주식회사 | Tsv를 가지는 인터포저를 포함하는 반도체 패키지 및 그 제조 방법 |
KR20120098325A (ko) * | 2011-02-28 | 2012-09-05 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 시스템 및 이를 위한 특성 정보 설정 방법 |
US9098694B1 (en) * | 2011-07-06 | 2015-08-04 | Marvell International Ltd. | Clone-resistant logic |
US9471484B2 (en) | 2012-09-19 | 2016-10-18 | Novachips Canada Inc. | Flash memory controller having dual mode pin-out |
US9741442B2 (en) * | 2013-03-12 | 2017-08-22 | Sandisk Technologies Llc | System and method of reading data from memory concurrently with sending write data to the memory |
US9430411B2 (en) * | 2013-11-13 | 2016-08-30 | Sandisk Technologies Llc | Method and system for communicating with non-volatile memory |
KR102164019B1 (ko) * | 2014-01-27 | 2020-10-12 | 에스케이하이닉스 주식회사 | 버스트 랭스 제어 장치 및 이를 포함하는 반도체 장치 |
US10141039B2 (en) * | 2014-03-10 | 2018-11-27 | Everspin Technologies, Inc. | Burst length defined page size |
KR20150112075A (ko) * | 2014-03-26 | 2015-10-07 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
JP6420139B2 (ja) * | 2014-12-26 | 2018-11-07 | シナプティクス・ジャパン合同会社 | 半導体デバイス |
US10063376B2 (en) | 2015-10-01 | 2018-08-28 | International Business Machines Corporation | Access control and security for synchronous input/output links |
US10120818B2 (en) | 2015-10-01 | 2018-11-06 | International Business Machines Corporation | Synchronous input/output command |
US11776591B2 (en) * | 2019-09-26 | 2023-10-03 | Arm Limited | Concurrent access techniques utilizing wordlines with the same row address in single port memory |
US11386937B2 (en) | 2019-10-12 | 2022-07-12 | Arm Limited | System device and method for providing single port memory access in bitcell array by tracking dummy wordline |
CN110955387B (zh) * | 2019-10-25 | 2023-10-24 | 合肥沛睿微电子股份有限公司 | 自适应识别闪存类型方法及计算机可读取存储介质及装置 |
TWI780653B (zh) * | 2019-11-08 | 2022-10-11 | 大陸商合肥沛睿微電子股份有限公司 | 識別快閃記憶體類型的方法及其裝置 |
TWI780654B (zh) * | 2019-11-08 | 2022-10-11 | 大陸商合肥沛睿微電子股份有限公司 | 調整識別快閃記憶體類型的裝置及其方法 |
US11720281B2 (en) * | 2020-12-11 | 2023-08-08 | Micron Technology, Inc. | Status information retrieval for a memory device |
WO2023009122A1 (en) * | 2021-07-29 | 2023-02-02 | Hewlett-Packard Development Company, L.P. | Minimize delay times for status checks to flash memory |
FR3138709A1 (fr) * | 2022-08-04 | 2024-02-09 | STMicroelectronics (Alps) SAS | Dispositif à mémoire FLASH |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR940006094B1 (ko) | 1989-08-17 | 1994-07-06 | 삼성전자 주식회사 | 불휘발성 반도체 기억장치 및 그 제조방법 |
JP3319105B2 (ja) | 1993-12-15 | 2002-08-26 | 富士通株式会社 | 同期型メモリ |
KR970001699B1 (ko) * | 1994-03-03 | 1997-02-13 | 삼성전자 주식회사 | 자동프리차아지기능을 가진 동기식 반도체메모리장치 |
US5696917A (en) | 1994-06-03 | 1997-12-09 | Intel Corporation | Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory |
USRE36532E (en) * | 1995-03-02 | 2000-01-25 | Samsung Electronics Co., Ltd. | Synchronous semiconductor memory device having an auto-precharge function |
US5570381A (en) * | 1995-04-28 | 1996-10-29 | Mosaid Technologies Incorporated | Synchronous DRAM tester |
US5661054A (en) | 1995-05-19 | 1997-08-26 | Micron Technology, Inc. | Method of forming a non-volatile memory array |
US5600605A (en) | 1995-06-07 | 1997-02-04 | Micron Technology, Inc. | Auto-activate on synchronous dynamic random access memory |
US5666321A (en) | 1995-09-01 | 1997-09-09 | Micron Technology, Inc. | Synchronous DRAM memory with asynchronous column decode |
JP2874619B2 (ja) | 1995-11-29 | 1999-03-24 | 日本電気株式会社 | 半導体記憶装置 |
US5749086A (en) | 1996-02-29 | 1998-05-05 | Micron Technology, Inc. | Simplified clocked DRAM with a fast command input |
EP0929075B1 (en) * | 1996-09-26 | 2003-08-20 | Mitsubishi Denki Kabushiki Kaisha | Synchronous type semiconductor memory device |
US5787457A (en) | 1996-10-18 | 1998-07-28 | International Business Machines Corporation | Cached synchronous DRAM architecture allowing concurrent DRAM operations |
US5974514A (en) | 1996-11-12 | 1999-10-26 | Hewlett-Packard | Controlling SDRAM memory by using truncated burst read-modify-write memory operations |
JP4057084B2 (ja) | 1996-12-26 | 2008-03-05 | 株式会社ルネサステクノロジ | 半導体記憶装置 |
US5825710A (en) | 1997-02-26 | 1998-10-20 | Powerchip Semiconductor Corp. | Synchronous semiconductor memory device |
KR100248353B1 (ko) | 1997-04-09 | 2000-03-15 | 김영환 | 반도체 메모리 소자 |
US5892777A (en) | 1997-05-05 | 1999-04-06 | Motorola, Inc. | Apparatus and method for observing the mode of a memory device |
US5903496A (en) | 1997-06-25 | 1999-05-11 | Intel Corporation | Synchronous page-mode non-volatile memory with burst order circuitry |
JP3161384B2 (ja) * | 1997-09-16 | 2001-04-25 | 日本電気株式会社 | 半導体記憶装置とそのアクセス方法 |
US6141247A (en) | 1997-10-24 | 2000-10-31 | Micron Technology, Inc. | Non-volatile data storage unit and method of controlling same |
KR100274602B1 (ko) * | 1997-11-20 | 2000-12-15 | 윤종용 | 동기형 메모리 장치 |
US5917724A (en) * | 1997-12-20 | 1999-06-29 | Ncr Corporation | Method for predicting disk drive failure by monitoring the rate of growth of defects within a disk drive |
JPH11203864A (ja) | 1998-01-14 | 1999-07-30 | Mitsubishi Electric Corp | 同期型半導体記憶装置 |
KR100306965B1 (ko) * | 1998-08-07 | 2001-11-30 | 윤종용 | 동기형반도체메모리장치의데이터전송회로 |
FI990038A (fi) * | 1999-01-11 | 2000-07-12 | Nokia Mobile Phones Ltd | Menetelmä dynaamisen muistin virkistämiseksi |
US6785764B1 (en) * | 2000-05-11 | 2004-08-31 | Micron Technology, Inc. | Synchronous flash memory with non-volatile mode register |
US6728798B1 (en) * | 2000-07-28 | 2004-04-27 | Micron Technology, Inc. | Synchronous flash memory with status burst output |
US6580659B1 (en) * | 2000-08-25 | 2003-06-17 | Micron Technology, Inc. | Burst read addressing in a non-volatile memory device |
US6480429B2 (en) * | 2001-02-12 | 2002-11-12 | Micron Technology, Inc. | Shared redundancy for memory having column addressing |
-
2000
- 2000-07-28 US US09/626,190 patent/US6728798B1/en not_active Expired - Fee Related
-
2001
- 2001-07-27 EP EP01955000A patent/EP1305804B1/en not_active Expired - Lifetime
- 2001-07-27 AT AT01955000T patent/ATE492880T1/de not_active IP Right Cessation
- 2001-07-27 CN CN01816420A patent/CN100578659C/zh not_active Expired - Fee Related
- 2001-07-27 CN CN2009102217820A patent/CN101930794A/zh active Pending
- 2001-07-27 JP JP2002516785A patent/JP3809909B2/ja not_active Expired - Fee Related
- 2001-07-27 KR KR10-2003-7001296A patent/KR100511820B1/ko not_active IP Right Cessation
- 2001-07-27 AU AU2001277210A patent/AU2001277210A1/en not_active Abandoned
- 2001-07-27 WO PCT/US2001/023695 patent/WO2002011148A1/en active IP Right Grant
- 2001-07-27 DE DE60143700T patent/DE60143700D1/de not_active Expired - Lifetime
- 2001-07-27 DE DE1305804T patent/DE1305804T1/de active Pending
-
2004
- 2004-04-26 US US10/831,823 patent/US7096283B2/en not_active Expired - Fee Related
-
2005
- 2005-08-31 US US11/216,953 patent/US7603534B2/en not_active Expired - Fee Related
-
2009
- 2009-09-30 US US12/570,570 patent/US8010767B2/en not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8122187B2 (en) | 2004-07-02 | 2012-02-21 | Qualcomm Incorporated | Refreshing dynamic volatile memory |
JP2008530721A (ja) * | 2005-02-14 | 2008-08-07 | クゥアルコム・インコーポレイテッド | 揮発性メモリのレジスタの読み出し |
JP2014211939A (ja) * | 2005-02-14 | 2014-11-13 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 揮発性メモリのレジスタの読み出し |
US9262326B2 (en) | 2006-08-14 | 2016-02-16 | Qualcomm Incorporated | Method and apparatus to enable the cooperative signaling of a shared bus interrupt in a multi-rank memory subsystem |
JP2010507148A (ja) * | 2006-10-11 | 2010-03-04 | クゥアルコム・インコーポレイテッド | 同時ステータスレジスタ読み取り |
JP2013232276A (ja) * | 2006-10-11 | 2013-11-14 | Qualcomm Inc | ステータスレジスタの同時読み取り |
JP2014139798A (ja) * | 2006-10-11 | 2014-07-31 | Qualcomm Incorporated | ステータスレジスタの同時読み取り |
WO2012128000A1 (ja) * | 2011-03-23 | 2012-09-27 | 株式会社 東芝 | 半導体記憶装置およびその制御方法 |
US9256523B2 (en) | 2011-03-23 | 2016-02-09 | Kabushiki Kaisha Toshiba | Semiconductor storage device and control method thereof |
US9582414B2 (en) | 2011-03-23 | 2017-02-28 | Kabushiki Kaisha Toshiba | Semiconductor storage device and control method thereof |
Also Published As
Publication number | Publication date |
---|---|
EP1305804A1 (en) | 2003-05-02 |
AU2001277210A1 (en) | 2002-02-13 |
DE60143700D1 (ja) | 2011-02-03 |
CN100578659C (zh) | 2010-01-06 |
CN1466762A (zh) | 2004-01-07 |
JP3809909B2 (ja) | 2006-08-16 |
US7603534B2 (en) | 2009-10-13 |
US8010767B2 (en) | 2011-08-30 |
US6728798B1 (en) | 2004-04-27 |
US20050289313A1 (en) | 2005-12-29 |
CN101930794A (zh) | 2010-12-29 |
DE1305804T1 (de) | 2003-11-27 |
EP1305804B1 (en) | 2010-12-22 |
ATE492880T1 (de) | 2011-01-15 |
US20040199713A1 (en) | 2004-10-07 |
US7096283B2 (en) | 2006-08-22 |
WO2002011148A1 (en) | 2002-02-07 |
KR100511820B1 (ko) | 2005-09-05 |
KR20030028556A (ko) | 2003-04-08 |
US20100088484A1 (en) | 2010-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3809909B2 (ja) | ステータスバースト出力を行うシンクロナスフラッシュメモリ | |
JP3773846B2 (ja) | プリチャージ処理が不要化されたシンクロナスフラッシュメモリ | |
US7080193B2 (en) | Flash memory with accessible page during write | |
US7051178B2 (en) | Burst write in a non-volatile memory device | |
JP4902325B2 (ja) | ゼロレイテンシ機能、ゼロバスターンアラウンド機能を有するシンクロナスフラッシュメモリ | |
JP3631209B2 (ja) | 読み出し処理におけるレイテンシを一致させたフラッシュ | |
JP3725479B2 (ja) | シンクロナスフラッシュメモリ用のインタフェースコマンドアーキテクチャ | |
JP3779209B2 (ja) | 読み出し処理および書き込み処理を並列に実行する機能を有するシンクロナスフラッシュメモリ | |
JP4229946B6 (ja) | フラッシュ用のトップ/ボトム対称保護スキーム | |
KR100507589B1 (ko) | 비휘발성 모드 레지스터를 이용한 동기 플래시 메모리 | |
JP2006164511A6 (ja) | フラッシュ用のトップ/ボトム対称保護スキーム | |
JP3822495B2 (ja) | シンクロナスフラッシュメモリ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050104 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050404 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20050412 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050906 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051227 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060213 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060320 |
|
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: 20060502 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060517 |
|
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: 20100602 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110602 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120602 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120602 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130602 Year of fee payment: 7 |
|
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 |