JP4524439B2 - ゼロレイテンシ機能、ゼロバスターンアラウンド機能を有するシンクロナスフラッシュメモリ - Google Patents

ゼロレイテンシ機能、ゼロバスターンアラウンド機能を有するシンクロナスフラッシュメモリ Download PDF

Info

Publication number
JP4524439B2
JP4524439B2 JP2001573235A JP2001573235A JP4524439B2 JP 4524439 B2 JP4524439 B2 JP 4524439B2 JP 2001573235 A JP2001573235 A JP 2001573235A JP 2001573235 A JP2001573235 A JP 2001573235A JP 4524439 B2 JP4524439 B2 JP 4524439B2
Authority
JP
Japan
Prior art keywords
command
cycle
write
clock
clock cycle
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
Application number
JP2001573235A
Other languages
English (en)
Other versions
JP2003529870A (ja
Inventor
ルーパーバー、フランキー、エフ.
Original Assignee
ラウンド ロック リサーチ、エルエルシー
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US09/608,580 external-priority patent/US6728161B1/en
Application filed by ラウンド ロック リサーチ、エルエルシー filed Critical ラウンド ロック リサーチ、エルエルシー
Publication of JP2003529870A publication Critical patent/JP2003529870A/ja
Application granted granted Critical
Publication of JP4524439B2 publication Critical patent/JP4524439B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1615Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using a concurrent pipeline structrure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1039Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/105Aspects related to pads, pins or terminals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2281Timing of a read operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/229Timing of a write operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/22Nonvolatile 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

【0001】
発明の技術分野
本発明は、不揮発性メモリに関し、特に、同期式(シンクロナス)の不揮発性フラッシュメモリに関する。
【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のクロックサイクルの直後の次のクロックサイクルでデータの読み出し処理を実行するステップとを含む。
【0010】
シンクロナスメモリデバイスにおける処理を実行する別の方法は、データ接続端子を通じて書き込みデータを受け取るステップと、書き込みデータを書き込みラッチにラッチするステップと、書き込みデータをラッチした後に、データ接続端子を開放するステップと、書き込みデータが前記書き込みラッチからメモリセルに転送されている間にシンクロナスメモリデバイスに対する読み出し処理を実行するステップとを含む。
【0011】
また、別の実施の形態においては、シンクロナスメモリデバイスにおける処理を実行する方法は、第1のクロックサイクルで読み出しコマンドと当該読み出しコマンドに対応する列アドレスを受け取ってシンクロナスメモリのメモリアレイからの出力データを要求するステップを含む。出力データは、第1のクロックサイクルの後、所定数のクロックサイクルを経過した後に、外部データ接続端子に供給される。この方法は、第1のクロックサイクルの直後の第2のクロックサイクルで、書き込みコマンドシーケンスにおける第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】
Figure 0004524439
【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】
Figure 0004524439
【0037】
【表3】
Figure 0004524439
【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】
Figure 0004524439
【0062】
【表5】
Figure 0004524439
【0063】
【表6】
Figure 0004524439
【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】
Figure 0004524439
【0082】
デバイスID、製造メーカー互換ID、デバイス保護ステータス、およびブロック保護ステータスは、全て、READ_DEVICE_CONFIGURATION(90H)コマンドを発行することによって読み出される。所望のレジスタを読み出すために、特定のアドレスがアサートされなければならない。様々なデバイスのコンフィグレーションレジスタ136についての詳細を表3に示す。
【0083】
【表8】
Figure 0004524439
【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】
Figure 0004524439
【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】
Figure 0004524439
【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のクロックサイクルでプロセッサからの書き込みコマンドおよび書き込みデータをシンクロナスメモリデバイスに供給するステップを含む。次に、書き込みデータは、シンクロナスメモリデバイスの書き込みラッチに格納される。書き込みデータは、書き込みラッチからシンクロナスメモリデバイスのメモリアレイにコピーされ、書き込み処理が実行される。第1のクロックサイクルの直後の第2のクロックサイクルでプロセッサからの読み出しコマンドがシンクロメモリデバイスに転送され、メモリアレイに対する読み出し処理が開始する。
【0115】
さらに、本発明は、読み出し処理と、後続する書き込み処理との間にクロックレイテンシ、即ち、CASレイテンシを必要としない。図9に示すように、列読み出しサイクル(T0)の直後のクロックサイクルT1でLCRコマンド(40H)が供給される。上述したように、書き込み処理コマンドシーケンスは、少なくとも3つのクロックサイクル、即ち、LCRサイクル、活性化/行サイクル、さらに、書き込み/列サイクルを含む。読み出し処理のレイテンシに応じて、バスの競合を回避するため、1つ以上のNOPクロックサイクルを使用してもよい。つまり、本発明では、列読み出しコマンドサイクルとLCR書き込みサイクルとの間にレイテンシを必要としない。従って、本発明では、読み出し処理から書き込み処理に切り替える際にレイテンシが存在せず、書き込み処理から読み出し処理に切り替える際にクロックサイクル遅延が存在しないため、データバスの利用を効率化することができる。
【0116】
結論
上述したように、シンクロナスフラッシュメモリは、不揮発性メモリセルのアレイを含む。メモリアレイは、複数の行および複数の列に配列され、さらに、アドレスを指定可能なブロックに配列される。プロセッサやメモリコントローラ等の外部デバイスと双方向データ通信を行うためにデータ通信接続端子が使用される。このデータ通信接続端子にデータバッファを接続することにより、双方向データ通信の調整を行うことができる。データバッファとメモリアレイの間には、データ通信接続端子に供給されるデータをラッチするための書き込みラッチが接続される。
【0117】
上述したように、メモリは、書き込みデータサイクルの後、ゼロバスターンアラウンドを可能にする。つまり、書き込みデータサイクルの直後に読み出し処理を開始することができる。シンクロナスメモリデバイスにおける処理を実行する方法の1つは、データ接続端子で書き込みデータを受け取るステップと、書き込みデータを書き込みラッチにラッチするステップと、書き込みデータをラッチした後、データ接続端子を開放するステップとを含む。書き込みデータが書き込みラッチからメモリセルに転送されている間にシンクロナスメモリデバイスに対する読み出し処理を実行することができる。さらに、メモリデバイスは、書き込み処理の間にクロックレイテンシを必要としない。
【図面の簡単な説明】
【図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】 本発明のメモリシステムを示す図である。

Claims (9)

  1. シンクロナス不揮発性メモリデバイスにおける処理の実行方法において、
    第1のクロックサイクルで読み出しコマンドと当該読み出しコマンドに対応する列アドレスを受け取って読み出し処理を開始して前記シンクロナス不揮発性メモリデバイスのメモリアレイからの出力データを要求するステップと、
    前記第1のクロックサイクルの直後第2のクロックサイクルで、読み出し処理レイテンシの間に、3つのサイクルからなる書き込みコマンドシーケンスにおける第1のサイクルのコマンドを受け取って前記メモリアレイに対する書き込み処理を開始するステップと
    前記第2のクロックサイクルに続く第3のクロックサイクルで、前記書き込みコマンドシーケンスにおける第2のサイクルのコマンドを受け取るステップと、
    前記第3のクロックサイクルに続く第4のクロックサイクルで、前記書き込みコマンドシーケンスにおける第3のサイクルのコマンドを受け取るステップと、
    前記第4のクロックサイクルの前に前記読み出し処理のデータ出力を終了させるステップと
    を含み、
    前記出力データは、前記読み出し処理レイテンシが経過し、前記第1のクロックサイクルの後、所定数のクロックサイクルを経過した後に、外部データ接続端子に供給され、
    前記書き込みコマンドシーケンスの前記第1のサイクルにおけるコマンドは、前記書き込み処理における前記メモリアレイのバンクを特定するものであり、
    前記書き込みコマンドシーケンスの前記第2のサイクルにおけるコマンドは、前記メモリアレイにおいて選択された行を特定及び活性化するものであり、
    前記書き込みコマンドシーケンスの前記第3のサイクルにおけるコマンドは、前記メモリアレイにおける列を特定し、前記外部データ接続端子に対する書き込みデータを供給するものであり、
    前記書き込みコマンドシーケンスの前記第1のサイクルにおけるコマンド、前記第2のサイクルにおけるコマンド及び前記第3のサイクルにおけるコマンドは、3以上のクロックサイクルに亘る連続的なコマンドである
    ことを特徴とするシンクロナス不揮発性メモリデバイスにおける処理の実行方法。
  2. 請求項1記載の方法において、
    前記3つのサイクルからなる書き込みコマンドシーケンスにおける前記連続的なコマンドは、4以上のクロックサイクルに亘るものであり、
    処理を行わない1以上のクロックサイクル又はコマンドが禁止された1以上のクロックサイクルが、前記第2のクロックサイクルと前記第3のクロックサイクルの間、若しくは前記第3のクロックサイクルと前記第4のクロックサイクルの間、又は前記第2のクロックサイクルと前記第3のクロックサイクルの間及び前記第3のクロックサイクルと前記第4のクロックサイクルの間に挿入される
    ことを特徴とするシンクロナス不揮発性メモリデバイスにおける処理の実行方法。
  3. 請求項1記載の方法において、
    前記外部データ接続端子は、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)バス上に設けられる
    ことを特徴とするシンクロナス不揮発性メモリデバイスにおける処理の実行方法。
  4. 請求項1記載の方法において、
    前記読み出し処理レイテンシは、1クロックサイクル、2クロックサイクル又は3クロックサイクルである
    ことを特徴とするシンクロナス不揮発性メモリデバイスにおける処理の実行方法。
  5. 請求項1記載の方法において、
    前記第4のクロックサイクルの前に前記読み出し処理のデータ出力を終了させるステップは、前記第4のクロックサイクルの1クロックサイクル前において、又は前記第4のクロックサイクルの2クロックサイクル前において前記読み出し処理のデータ出力を終了させるステップを含む
    ことを特徴とするシンクロナス不揮発性メモリデバイスにおける処理の実行方法。
  6. シンクロナスダイナミックランダムアクセスメモリデバイス(SDRAM)のメモリシステムにおいて書き込み処理を開始する方法において、
    シンクロナスダイナミックランダムアクセスメモリ(SDRAM)バス上に設けられたシンクロナス不揮発性メモリデバイスに、プロセッサからの読み出しコマンドを供給するステップと、
    第1のクロックサイクルで前記プロセッサからのメモリアレイアドレスを前記シンクロナス不揮発性メモリデバイスに供給し、前記シンクロナス不揮発性メモリデバイスの不揮発性メモリアレイにおいて読み出し処理を実行するステップと、
    前記第1のクロックサイクルの直後の第2のクロックサイクルで、3つのサイクルからなる書き込みコマンドシーケンスにおける第1のサイクルのコマンドを前記プロセッサから前記シンクロナス不揮発性メモリデバイスに供給し、前記不揮発性メモリアレイの書き込み処理を開始するステップと
    前記第2のクロックサイクルに続く第3のクロックサイクルで、前記書き込みコマンドシーケンスにおける第2のサイクルのコマンドを前記プロセッサから前記シンクロナス不揮発性メモリに供給するステップと、
    前記第3のクロックサイクルに続く第4のクロックサイクルで、前記書き込みコマンドシーケンスにおける第3のサイクルのコマンドを前記プロセッサから前記不揮発性メモリデバイスに供給するステップと、
    前記第4のクロックサイクルより少なくとも2クロックサイクル前に前記プロセッサから前記シンクロナス不揮発性メモリデバイスにデータマスク信号を供給するステップと
    を含み、
    前記書き込みコマンドシーケンスの前記第1のサイクルにおけるコマンドは、前記書き込み処理における前記メモリアレイのバンクを特定するものであり、
    前記書き込みコマンドシーケンスの前記第2のサイクルにおけるコマンドは、前記メモリアレイにおいて選択された行を特定及び活性化するものであり、
    前記書き込みコマンドシーケンスの前記第3のサイクルにおけるコマンドは、前記メモリアレイにおける列を特定し、前記外部データ接続端子に対する書き込みデータを供給するものであり、
    前記書き込みコマンドシーケンス前記第1のサイクルにおけるコマンド、前記第2のサイクルにおけるコマンド及び前記第3のサイクルにおけるコマンドは、3以上のクロックサイクルに亘る連続的なコマンドである
    ことを特徴とするメモリシステムにおいて書き込み処理を開始する方法。
  7. 請求項記載の方法において、
    前記3つのサイクルからなる書き込みコマンドシーケンスにおける前記連続的なコマンドは、4以上のクロックサイクルに亘るものであり、
    処理を行わない1以上のクロックサイクル又はコマンドが禁止された1以上のクロックサイクルが、前記第2のクロックサイクルと前記第3のクロックサイクルの間、若しくは前記第3のクロックサイクルと前記第4のクロックサイクルの間、又は前記第2のクロックサイクルと前記第3のクロックサイクルの間及び前記第3のクロックサイクルと前記第4のクロックサイクルの間に挿入される
    ことを特徴とするメモリシステムにおいて書き込み処理を開始する方法。
  8. 請求項6記載の方法において、
    前記第4のクロックサイクルより少なくとも2クロックサイクル前に前記プロセッサから前記シンクロナス不揮発性メモリデバイスにデータマスク信号を供給するステップでは、前記第4のクロックサイクルの2クロックサイクル前に前記データマスク信号をアサートするステップと、前記第4のクロックサイクルの前に前記データマスク信号のアサート状態を解除するステップとを含む
    ことを特徴とするメモリシステムにおいて書き込み処理を開始する方法。
  9. 請求項6記載の方法において、
    前記読み出し処理に応じて、読み出し処理レイテンシの後に前記外部データ接続端子にデータ出力を行うステップと、
    前記第4のクロックサイクルより少なくとも2クロックサイクル前に前記プロセッサから前記シンクロナス不揮発性メモリデバイスにデータマスク信号を供給するステップに対応して、前記第4のクロックサイクルの前に前記データ出力を終了させるステップとを含む
    ことを特徴とするメモリシステムにおいて書き込み処理を開始する方法。
JP2001573235A 2000-03-30 2001-03-30 ゼロレイテンシ機能、ゼロバスターンアラウンド機能を有するシンクロナスフラッシュメモリ Expired - Fee Related JP4524439B2 (ja)

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/608,580 US6728161B1 (en) 2000-06-30 2000-06-30 Zero latency-zero bus turnaround synchronous flash memory
US09/608,580 2000-06-30
PCT/US2001/010379 WO2001075623A2 (en) 2000-03-30 2001-03-30 Zero-latency-zero bus turnaround synchronous flash memory

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006315272A Division JP4902325B2 (ja) 2000-03-30 2006-11-22 ゼロレイテンシ機能、ゼロバスターンアラウンド機能を有するシンクロナスフラッシュメモリ

Publications (2)

Publication Number Publication Date
JP2003529870A JP2003529870A (ja) 2003-10-07
JP4524439B2 true JP4524439B2 (ja) 2010-08-18

Family

ID=26889066

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2001573235A Expired - Fee Related JP4524439B2 (ja) 2000-03-30 2001-03-30 ゼロレイテンシ機能、ゼロバスターンアラウンド機能を有するシンクロナスフラッシュメモリ
JP2006315272A Expired - Fee Related JP4902325B2 (ja) 2000-03-30 2006-11-22 ゼロレイテンシ機能、ゼロバスターンアラウンド機能を有するシンクロナスフラッシュメモリ

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2006315272A Expired - Fee Related JP4902325B2 (ja) 2000-03-30 2006-11-22 ゼロレイテンシ機能、ゼロバスターンアラウンド機能を有するシンクロナスフラッシュメモリ

Country Status (5)

Country Link
JP (2) JP4524439B2 (ja)
KR (1) KR100495848B1 (ja)
AU (1) AU4968701A (ja)
DE (1) DE10196008B4 (ja)
WO (1) WO2001075623A2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1501100B1 (en) * 2003-07-22 2018-11-28 Samsung Electronics Co., Ltd. Nonvolatile memory device, memory system, and operating methods
JP4085983B2 (ja) * 2004-01-27 2008-05-14 セイコーエプソン株式会社 情報処理装置およびメモリアクセス方法
US8307180B2 (en) * 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US8599886B2 (en) 2010-08-26 2013-12-03 Qualcomm Incorporated Methods and apparatus for reducing transfer qualifier signaling on a two-channel bus
KR102296740B1 (ko) * 2015-09-16 2021-09-01 삼성전자 주식회사 메모리 장치 및 그것을 포함하는 메모리 시스템
CN110008154B (zh) * 2019-04-16 2020-08-21 北京智芯微电子科技有限公司 提高处理器与访存总线时序的方法及内存属性预测器

Family Cites Families (14)

* Cited by examiner, † Cited by third party
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
US5539696A (en) * 1994-01-31 1996-07-23 Patel; Vipul C. Method and apparatus for writing data in a synchronous memory having column independent sections and a method and apparatus for performing write mask operations
US5696917A (en) * 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
US6804760B2 (en) * 1994-12-23 2004-10-12 Micron Technology, Inc. Method for determining a type of memory present in a system
US5619456A (en) * 1996-01-19 1997-04-08 Sgs-Thomson Microelectronics, Inc. Synchronous output circuit
US5867430A (en) * 1996-12-20 1999-02-02 Advanced Micro Devices Inc Bank architecture for a non-volatile memory enabling simultaneous reading and writing
US5841696A (en) * 1997-03-05 1998-11-24 Advanced Micro Devices, Inc. Non-volatile memory enabling simultaneous reading and writing by time multiplexing a decode path
JP3237583B2 (ja) * 1997-08-29 2001-12-10 日本電気株式会社 同期型半導体記憶装置及びこれを用いた半導体記憶システム
US6016270A (en) * 1998-03-06 2000-01-18 Alliance Semiconductor Corporation Flash memory architecture that utilizes a time-shared address bus scheme and separate memory cell access paths for simultaneous read/write operations
JP2000048567A (ja) * 1998-05-22 2000-02-18 Mitsubishi Electric Corp 同期型半導体記憶装置
JP4000233B2 (ja) * 1998-06-03 2007-10-31 富士通株式会社 半導体記憶装置及びデータバス制御方法
JP3939858B2 (ja) * 1998-06-05 2007-07-04 富士通株式会社 同期型dramのアクセス方法、インタフェース回路、及び、半導体集積回路装置
KR100306966B1 (ko) * 1998-08-04 2001-11-30 윤종용 동기형버스트반도체메모리장치
KR100285063B1 (ko) * 1998-08-13 2001-03-15 윤종용 동기형 램 장치와 시스템 버스를 공유하는 동기형 플래시 메모리 장치의 소거 및 쓰기 방법

Also Published As

Publication number Publication date
JP4902325B2 (ja) 2012-03-21
DE10196008T1 (de) 2003-03-13
WO2001075623A2 (en) 2001-10-11
WO2001075623A3 (en) 2002-07-04
JP2007122865A (ja) 2007-05-17
JP2003529870A (ja) 2003-10-07
KR20020089422A (ko) 2002-11-29
DE10196008B4 (de) 2007-07-12
AU4968701A (en) 2001-10-15
KR100495848B1 (ko) 2005-06-16

Similar Documents

Publication Publication Date Title
JP3809909B2 (ja) ステータスバースト出力を行うシンクロナスフラッシュメモリ
JP3773846B2 (ja) プリチャージ処理が不要化されたシンクロナスフラッシュメモリ
US6580659B1 (en) Burst read addressing in a non-volatile memory device
US6883044B1 (en) Synchronous flash memory with simultaneous access to one or more banks
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: 20051007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051025

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060125

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060411

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060725

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20061219

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070129

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20070309

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090121

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090217

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090220

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090318

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090324

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091104

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091109

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091125

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091130

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091228

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100204

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100427

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20100510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100510

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130611

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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