JP3408552B2 - 不揮発性半導体メモリをプログラム及び消去する回路とその方法 - Google Patents

不揮発性半導体メモリをプログラム及び消去する回路とその方法

Info

Publication number
JP3408552B2
JP3408552B2 JP05662792A JP5662792A JP3408552B2 JP 3408552 B2 JP3408552 B2 JP 3408552B2 JP 05662792 A JP05662792 A JP 05662792A JP 5662792 A JP5662792 A JP 5662792A JP 3408552 B2 JP3408552 B2 JP 3408552B2
Authority
JP
Japan
Prior art keywords
state
semiconductor memory
erase
signal
volatile semiconductor
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
JP05662792A
Other languages
English (en)
Other versions
JPH05182475A (ja
Inventor
ヴァジル・ナイルズ・キネット
ミッキー・リー・ファンドリッチ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
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
Application filed by Intel Corp filed Critical Intel Corp
Publication of JPH05182475A publication Critical patent/JPH05182475A/ja
Application granted granted Critical
Publication of JP3408552B2 publication Critical patent/JP3408552B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/344Arrangements for verifying correct erasure or for detecting overerased cells
    • G11C16/3445Circuits or methods to verify correct erasure of nonvolatile memory cells
    • 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
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells

Landscapes

  • Read Only Memory (AREA)
  • Memory System (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、不揮発性半導体メモリ
に関し、更に詳しくは不揮発性半導体メモリを消去しか
つプログラムする回路および方法に関する。
【0002】
【従来の技術】従来の不揮発性半導体メモリの一つに、
フラッシュ電気的消去可能プログラム可能読出し専用メ
モリ(「フラッシュEEPROM」)がある。フラッシ
ュEEPROMはユーザがプログラムすることができ、
一旦プログラムされると、フラッシュEEPROMは、
消去されるまでそのデータを保持する。また、消去後、
フラッシュEEPROMを新しいコードまたはデータで
プログラムすることができる。フラッシュ・メモリは、
普通の電気的消去可能プログラム可能読出し専用メモリ
(「EEPROM」)とは消去に関して異なっている。
普通のEEPROMは代表的には、個々のバイト消去制
御に対して一つの選択トランジスタを使用しているが、
フラッシュ・メモリは、代表的には、単一のトランジス
タ・セルではるかに高い記録密度を実現することができ
る。ある従来技術のフラッシュ・メモリの消去中、メモ
リ・アレイの各メモリ・セルのソースには同時に高電圧
が供給され、これにより、全アレイが消去される。
【0003】従来のあるフラッシュEEPROMにおい
て、論理「1」は、ビット・セルに関係するフローティ
ング・ゲートにエレクトロンがほとんど蓄積されていな
いことを意味している。論理「ゼロ」は、ビット・セル
に関係するフローティング・ゲートに多量のエレクトロ
ンが蓄積されていることを意味している。この従来のフ
ラッシュ・メモリを消去することにより、論理1が各ビ
ット・セルに記憶される。前に消去することなしには、
そのフラッシュ・メモリの各単一ビット・セルを、論理
ゼロから論理1に重ね書きすることはできない。しか
し、消去された状態に関係するエレクトロンの固有数を
含んでいるフローティング・ゲートにエレクトロンを単
に加えるだけで、そのフラッシュ・メモリの各単一ビッ
ト・セルを論理1から論理ゼロに重ね書きすることがで
きる。
【0004】従来のフラッシュEEPROMには、カリ
フォルニア州サンタクララ市のインテル・コーポレーシ
ョンにより市販されている28F256相補形金属酸化
膜半導体(「CMOS」)があり、これは256キロビ
ットのフラッシュEEPROMである。28F256フ
ラッシュ・メモリは、電気的消去と再プログラミングを
管理する命令レジスタを含んでいる。命令は、標準的な
マイクロプロセッサの書込みタイミングを用いて制御マ
イクロプロセッサから命令レジスタに書込まれる。命令
レジスタの内容は、消去およびプログラミング回路を制
御する内部状態マシンの入力として働く。この制御マイ
クロプロセッサは、フラッシュ・メモリの消去およびプ
ログラミングを制御する。マイクロプロセッサは、フラ
ッシュ・メモリを消去するのにインテル・コーポレーシ
ョンの従来のQuick−EraseTMアルゴリズムを
使用することができる。従来のQuick−Erase
TMアルゴリズムでは、全ビットは、最初、チャージ状
態、すなわち00(16進法)にプログラムされなけれ
ばならない。その後、トランジスタのゲートをゼロ・ボ
ルトに保持しながら、10msecの期間アレイにおけ
るトランジスタのソースを高電圧レベルに引き上げるこ
とにより、消去が行なわれる。各消去動作後に、バイト
の検査が行なわれる。従来のQuick−EraseTM
アルゴリズムにより、バイト当り最高3000の消去動
作が消去故障を認識することができる。ディバイスを適
切に動作させるには、消去手続きに厳密にしたがわなけ
ればならない。また、マイクロプロセッサは、フラッシ
ュ・メモリをプログラムするのにインテル・コーポレー
ションの従来のQuick−Pulse Progra
mmingTMアルゴリズムを使用することができる。こ
のQuick−Pulse ProgrammingTM
アルゴリズムでは、特定の継続期間と電圧レベルのプロ
グラミング・パルスがプログラム電源VPPとディバイス
電源VCCに供給されなければならない。たとえば、ある
従来のインテルのフラッシュ・メモリにおいて、VPPは
12.75ボルトに保持され、プログラミング・パルス
の継続期間は10μsecである。プログラミング・パ
ルスが供給された後、ユーザは、アドレスされたメモリ
・セルが適切にプログラムされたかどうかを検査する。
適切にプログラムされていない場合、プログラミング・
エラーが認識される前に、プログラミング・パルスが何
回も再供給される。インテルのQuick−Pulse
ProgrammingTMアルゴリズムでは、バイト
当り最高25のプログラミング動作が可能である。フラ
ッシュ・メモリが適切でしかも高い信頼性で動作するに
は、プログラミング手続きに厳密にしたがわなければな
らない。
【0005】フラッシュ・メモリの消去およびプログラ
ミングを制御するのにマイクロプロセッサを使用してい
る従来の方法は、マイクロプロセッサを拘束するので、
比較的高いレベルのマイクロプロセッサを必要とすると
いう欠点を有している。すなわち、これはシステムの処
理能力を低減することになる。フラッシュ・メモリの消
去およびプログラミングを制御するのに制御マイクロプ
ロセッサを使用している従来の方法の別の欠点は、代表
的な消去/プログラミング・ソフトウェアが比較的複雑
なことである。この複雑なソフトウェアでは、ユーザが
比較的高い知識を持っていなければならない。さらに、
この複雑なソフトウェアは、フラッシュ・メモリの消去
のし過ぎなど顧客が間違う可能性が高くなる恐れがあ
る。
【0006】
【発明が解決しようとする課題】本発明の目的は、不揮
発性半導体メモリをプログラミングおよび消去する回路
および方法を提供することである。本発明の他の目的
は、不揮発性半導体メモリを消去およびプログラムする
のに要するマイクロプロセッサ・コードの量を最少にす
ることである。本発明の別の目的は、不揮発性半導体メ
モリを自動的に消去しかつプログラムする一方、マイク
ロプロセッサがシステムの要求に応じることができるよ
うにすることである。
【0007】
【課題を解決するための手段】本発明は、不揮発性半導
体メモリの多段プログラム・シーケンスを実行する回路
を提供する。回路と不揮発性半導体メモリは同じ基板上
に設けられている。回路は、多段プログラム・シーケン
スを開始する命令を記憶する装置を含んでいる。多段プ
ログラム・シーケンスは、一旦開始されると、完了する
ために不揮発性半導体メモリの外部装置からの制御を必
要としない。回路は、データ・パターンにしたがって不
揮発性半導体メモリのビットをプログラムする第1エネ
ーブリング装置を含んでいる。本発明は、不揮発性半導
体メモリの多段消去シーケンスを実行する回路を提供す
る。回路と不揮発性半導体メモリは同じ基板上に設けら
れている。回路は、多段消去シーケンスを開始する命令
を記憶する装置を含んでいる。多段消去シーケンスは、
一旦開始されると、完了するために不揮発性半導体メモ
リの外部装置からの制御を必要としない。この回路は、
不揮発性半導体メモリのビットをプレコンディションし
て第1論理レベルにする第1エネーブリング装置を含ん
でいる。第2エネーブリング装置は、不揮発性半導体メ
モリのビットを消去して第2論理レベルにする。本発明
は、不揮発性半導体メモリをプログラムする方法を提供
する。多段プログラム・シーケンスを開始する命令が受
信される。不揮発性半導体メモリと書込み状態回路は、
不揮発性半導体メモリの外部装置からの制御なしに、パ
ターン・ビットにしたがって不揮発性半導体メモリのビ
ットをプログラムするようエネーブルされる。本発明
は、一旦消去が開始されると、半導体メモリの外部装置
からの制御なしに不揮発性半導体メモリを消去する方法
を提供する。消去を開始する命令が受信される。そし
て、不揮発性半導体メモリと書込み状態回路は、不揮発
性半導体メモリのビットをプレコンディションして第1
論理レベルにするようエネーブルされる。その後、不揮
発性半導体メモリと書込み状態回路は、不揮発性半導体
メモリのビットを消去するようエネーブルされる。
【0008】
【実施例】以下、添付の図面に基いて、本発明の実施例
に関し説明する。図1は、本発明の実施例のフラッシュ
EPROM回路20のブロック図を示している。フラッ
シュEPROM20は、フラッシュ・メモリ20とも呼
称されている。以下に詳細に示すように、フラッシュE
PROM20は書込み状態回路32を含んでいる。書込
み状態マシン回路32は、マイクロプロセッサ999か
らの開始命令によってのみ、必要に応じてメモリの内容
をプログラムしたりまたは消去するよう、多段シーケン
スで不揮発性半導体メモリ20をシーケンスする。プロ
グラムまたは消去シーケンスが一旦開始されると、書込
み状態マシン32はプログラミングおよび消去を制御す
る。状態レジスタ34は、プログラムおよび消去動作が
完了した時をマイクロプロセッサ999に示す。VPP3
6はフラッシュ・メモリの消去/プログラム電源電圧で
ある。VCCはフラッシュ・メモリ20のディバイス電源
で、VSSはアースである。ある実施例では、VPP36は
12.0ボルトで、VCCは約5ボルトである。
【0009】VPPが高電圧でない場合、フラッシュ・メ
モリ20は読出し専用メモリとして動作する。ライン2
4を介して供給されるアドレスに記憶されたデータは、
メモリ・アレイ22から読出され、データ入力/出力ラ
イン26を介してフラッシュ・メモリ20の外部回路に
おいて使用される。フラッシュ・メモリ20は、三つの
制御信号、すなわちチップ−エネーブル・バーCEB4
4、WEB46、出力−エネーブル・バーOEB42を
有する。チップ−エネーブル・バーCEB44入力は電
力制御入力で、フラッシュ・メモリ20を選択するのに
使用される。CEB44はアクティブ・ローである。出
力−エネーブル・バー入力OEB42は、フラッシュ・
メモリ20の出力制御入力で、フラッシュ・メモリ20
の出力ピンからデータをゲートするのに使用される。O
EB42はアクティブ・ローである。制御信号CEB4
4とOEB42は、フラッシュ・メモリ20のデータ・
ライン26においてデータを得るため論理的にアクティ
ブでなければならない。CEB44が低い間、書込みエ
ネーブル・バー信号WEB46は、命令状態マシン28
への書込みを行なうことができる。書込みエネーブル・
バー信号WEB46はアクティブ・ローである。アドレ
スとデータは、WEB46の立上り縁でラッチされる。
また、標準マイクロプロセッサのタイミングが使用され
る。
【0010】ディバイスの動作は、データ入力/出力ラ
イン26を介してフラッシュ・メモリに特定のデータ・
パターンを書込むことにより選択される。図2はいくつ
かの命令を示している。図2のSRDは、状態レジスタ
34から読出されるデータを示している。さらに、図2
のPAはプログラムされるべきメモリ場所のアドレスを
示し、PDはアドレスPAにプログラムされるべきデー
タを示している。消去は、図1の全アレイ22において
実行され、かつ2サイクル命令シーケンスにより開始さ
れる。最初に消去セットアップ命令が、続いて消去確認
命令が書込まれる。アレイのプレコンディショニング、
消去、および消去検査は、全て書込み状態マシンにより
内部処理されるので、マイクロプロセッサ999に見分
けられない。消去動作には約1秒かかる。実行前のこの
2段階の消去セットアップにより、メモリの内容が不測
に消去されないようにしている。したがって、VPPに高
電圧が供給される時だけ、消去することができ、この高
電圧が供給されない場合、メモリの内容は消去されない
よう保護されている。
【0011】消去事象は、二つの主なタスク、すなわち
プレコンディションと消去を含んでいる。セルの電圧を
約6.75ボルトにしてアレイ22をプレコンディショ
ンすることは、セルの漏洩につながるようなレベルまで
セル電圧が消去中に降下しないようにして、アレイ22
の寿命を保護する。アレイ消去は、セル電圧を約3.2
5ボルトすなわち論理1にする。マイクロプロセッサ9
99は、読出し状態レジスタ命令を発生し、状態データ
を分析することにより消去事象の完了を検出することが
できる。状態レジスタ34が消去の完了を示した時、消
去故障状態ビットをチェックしなければならない。検査
の後、状態レジスタ34のエラー・ビットを適切にクリ
ヤしなければならない。その他の動作は、適切な命令を
与えた後だけに行なわれる。プログラミングもまた、2
サイクル命令シーケンスにより実行される。プログラム
・セットアップ命令がデータ・ライン26を介して命令
状態マシン28に書込まれ、続いて、第2書込み命令
が、プログラムされるべきアドレスおよびデータを指定
する。その後、書込み状態マシン32が、プログラムお
よび検査アルゴリズムの内部制御を引き継ぐ。状態レジ
スタ読出し命令による状態レジスタ34のポーリング
は、プログラミング・シーケンスがいつ完了したかを決
定する。プログラミングがアクティブである間、読出し
状態レジスタ命令だけがバリドである。
【0012】状態レジスタ34がプログラミングの完了
を示した時、プログラム・フェイル・ビットをチェック
しなければならない。検査の後、マイクロプロセッサ9
99は適切に状態レジスタ・エラービットをクリヤしな
ければならない。本実施例では、図1に示されているフ
ラッシュ・メモリ20の回路は単一基板上にある。ま
た、本実施例では、フラッシュ・メモリ20はCMOS
回路を用いている。フラッシュ・メモリ20は、アドレ
スにデータを記憶するメモリ・セルを含んでいるメモリ
・アレイ22を有している。さらに、フラッシュ・メモ
リ20は、オン・チップ命令状態マシン(「CSM」)
28とシンクロナイザ30と書込み状態マシン(「WS
M」)32と状態レジスタ34を含んでいる。メモリ・
アレイ22をプログラムまたは消去する命令はデータ・
ライン26から供給される。ライン26のデータは命令
状態マシン28に送られる。命令状態マシン28はその
データをデコードし、それが消去、プログラムまたは状
態レジスタ・リセット命令を表している場合、CSM2
8は適当な制御信号を発生し始める。命令状態マシン2
8により書込み状態マシン32に供給される制御信号は
PROGRAM38、ERASE40、状態レジスタ・
リセット信号STATRS45、アドレス・ラッチ・エ
ネーブル信号ALE49、データ・ラッチ・エネーブル
信号DLE47を含んでいる。プログラムおよび消去ア
ルゴリズムは、後述するように書込み状態マシン32に
より調整され、必要な場合プログラム・パルスの反復と
データの内部検査を含んでいる。書込み状態マシン32
は、入力A[0:16]24とD[0:7]26からの
消去およびプログラム動作を完了するのに必要とされる
アドレスとデータをラッチする。書込み状態マシンのア
ドレスおよびデータのラッチ動作は、CSM28からの
アドレス・ラッチ・エネーブル信号ALE49とデータ
・ラッチ・エネーブル信号DLE47によりそれぞれ制
御される。
【0013】書込み状態マシン32は、アレイ・アドレ
ス信号AY55、AX57とセンス・アンプ出力SOU
T[0:7]59によりメモリ・アレイ22とインタフ
ェイスする。上記出力は、アドレスされたメモリのバイ
トに記憶されたデータを示している。書込み状態マシン
32は、その状態を動作中にSBUS[0:4]出力5
4を介してシンクロナイザ30と状態レジスタ34とに
知らせる。シンクロナイザ30は、書込み状態マシン3
2と命令状態マシン28との間の同期を行なう。アクテ
ィブERASE38またはPROGRAM40信号のい
ずれかを受信すると、シンクロナイザ30はREADY
信号50を論理低にして、書込み状態マシン32がビジ
ーであることを命令状態マシン28と状態レジスタ34
に示す。書込み状態マシン32が動作を完了すると、シ
ンクロナイザ30はREADYを設定することにより書
込み状態マシン32を遮断する。シンクロナイザ30
は、RESET信号52を論理高にすることにより、E
RASE38とPROGRAM40が論理低になるたび
に書込み状態マシン32をリセットする。シンクロナイ
ザ30は、信号LOWVPP51により書込み状態マシ
ン32の動作状態に関する情報を状態レジスタに供給す
る。状態レジスタ34は、SBUS[0:4]出力54
をデコードし、タスクが完了したか否かおよびその成功
をSTATUS出力56によりマイクロプロセッサ99
9に示す。STATUS出力56は入力/出力データ・
ライン26にマルチプレックスされる。図3は、書込み
状態マシン32の回路と状態レジスタ34への接続を示
したブロック図を示している。書込み状態マシン32
は、オシレータおよびジェネレータ70、次の状態コン
トローラ72、事象カウンタ74、期間カウンタ76、
アドレス・カウンタ78、データ・ラッチおよび比較器
(「DLC」)80を含んでいる。RESET52は、
書込み状態マシン32中のほとんど全回路に供給され
る。RESET52は、書込み状態マシン32中の重要
なノードを既知状態にする。たとえば、RESET52
は、終端カウント信号88、90、92を論理ゼロにす
る。
【0014】イナクティブ(inactive)RESET信号5
2を受信した直後、オシレータ/フェーズ・ジェネレー
タ70は、WSM32回路のほぼ全部に送られる二つの
非オーバーラップ位相クロック、位相1 PH1 82
と位相2 PH2 84を発生し始める。PH2 84
はRESET52の後にアクティブな第1クロックであ
る。次の状態コントローラ72は、書込み状態マシン3
2のアクティビティを制御しかつ調整して、WSMの次
の状態を決定する。次の状態コントローラ72は、WS
Mの現在の状態を示す五つの出力SBUS[0:4]5
4を発生する。次の状態コントローラ72からのSBU
S[0:4]54を受信する各回路はそれ自身のSBU
S[0:4]54をデコードし、次のタスクを決定す
る。この設計により、多くのタスクを並列に行なうこと
ができるので、消去およびプログラム機能を行なうのに
要する時間を最小にすることができる。期間カウンタ7
6は、プログラムおよび消去動作中、アレイ電圧に関す
るパルス期間を決定しかつタイミングをとる。期間カウ
ンタ76により示された別の期間は、プログラミングま
たは消去とメモリ・セルからのバリド・データの検査と
の間の遅れである。アクティブ高になることにより、期
間カウンタ76の終端カウント信号PCTRTC88
は、選択された期間が経過したことを次の状態コントロ
ーラ72に知らせる。期間カウンタ76は、SBUS
[0:4]54をデコードして、目標のパルス期間を選
択する。SBUS[0:4]出力54により、期間カウ
ンタ76は、期間カウンタ76がエネーブルされる前の
ある状態にカウントをリセットする。事象カウンタ74
は、1バイト当り最大のプログラミングまたは消去動作
数にいつ到達したかを決定する。1バイト当り最大の動
作数に到達した時、事象カウンタ74は、事象終端カウ
ント信号ECTRTC90を論理高にすることによっ
て、次の状態コントローラ72に知らせる。事象カウン
タ74は、SBUS[0:4]出力54をデコードする
ことにより、最大動作数を決定する。本実施例では、1
バイト当り最大プログラム動作数は50に設定され、ま
た1バイト当り最大消去動作数は8192に設定されて
いる。
【0015】WSM32におけるアドレス・カウンタ7
8は、入力バッファおよびカウンタの両方として働く。
READY50が高の場合、アドレス・ラインA[0:
16]は、信号AY[0:6]55とAX[0:9]5
7として出力する。信号AY55とAX57は、プログ
ラム、消去、または読出しされるべきメモリ・アレイ2
2におけるバイトの場所を示している。アドレスが入力
バッファに入力されると、入力バッファからのアドレス
は、信号ALE49によるCSM28の制御の下、アド
レス計数回路にロードされる。アドレス・カウンタ78
は、その後、メモリ・アレイ20における全アドレスを
カウントする。アドレス・カウンタ78は、終端カウン
トACTRTC92を論理1にすることにより、メモリ
の最後に到達したことを次の状態コントローラ72に示
す。データ・ラッチおよび比較器(DLC)80は、W
SM32と命令状態マシン28とメモリ・アレイ22と
データ・ライン26の間のインタフェイスである。デー
タ・ライン26のTTLデータ入力は、DLC80によ
りバッファされ、DATAIN[0:7]信号27とし
て命令状態マシン28に送られる。DATAIN[0:
7]ライン27で受信された信号がプログラム命令を示
している場合、命令状態マシン28は、データ・ラッチ
エネーブル信号DLE47を論理1に設定することによ
り、DLC80にデータ・ライン26における情報を記
憶するよう指示する。プログラム動作中、DLC80
は、そのラッチに記憶されているデータをセンスアンプ
信号SOUT[0:7]59に比較し、MATCH94
を論理高に設定することにより整合を示す。DLC80
は、メモリ・セルの内容を示しているセンスアンプ信号
SOUT[0:7]59を、消去検査手続き中、基準論
理レベルと比較し、MATCH94を論理高に設定する
ことにより、次の状態コントローラ72に消去がうまく
いったことを知らせる。状態レジスタ34は、データ入
力/出力ライン26にマルチプレックスされる状態信号
STAT[3:7]56を介してマイクロプロセッサ9
99に書込み状態マシン32の状態を知らせる。状態レ
ジスタ34は、信号READY50、LOWVPP5
1、SBUS[0:4]54に基いて書込み状態マシン
の状態を決定する。
【0016】図4は、次の状態コントローラ72の回路
のブロック図である。次の状態コントローラ72は、次
の状態論理装置110とマスタ・スレーブD−ラッチ1
12を含んでいる。本実施例では、次の状態論理装置1
10はプログラム可能論理アレイとして実現されてい
る。次の状態論理装置110は、信号PLOUT[0:
4]114、終端カウント信号PCTRC88、ECT
RTC90とACTRC92、MATCH94、PRO
GRAM38、ERASE40により示されるような、
書込み状態マシンの前の状態に基いて書込み状態マシン
32中の各回路の次の状態を決定する。次の状態論理装
置に入力を供給する各回路は、SBUS[0:4]がア
クティブの後にPH2 84がアクティブになることに
よってそのように行なう。書込み状態マシン32の全回
路は、PH2 84の出力がバリドであるマスタ/スレ
ーブであるので、それらはそのように行なうことができ
る。次の状態論理装置110の出力は、ラッチ112に
ラッチされ、SBUS[0:4]54として書込み状態
マシン回路の残りに供給される。状態バス出力SBUS
[0:4]54は、RESET52がクリヤされた後、
第2PH2 84の立上り縁でアクティブになる。SB
US[0:4]54がPH2 84をアクティブにした
結果、各WSM32は、PH1 82が高である間、S
BUS[0:4]54を評価する。
【0017】次の状態コントローラ72により実現され
るプログラミングおよび消去の方法は、図5、6の状態
図に基いて説明する。図において、各円は書込み状態マ
シン32の状態を示している。各状態の名前は、各円の
上部ラインに示されている。各状態に関するSBUS
[0:4]54の値は、状態の名前の下に示されてい
る。各状態において選択またはエネーブルされる信号
は、SBUS値の下に示されている。次の状態コントロ
ーラ72を他の状態に分岐させる信号の組合せは、前に
イクスクラメイション・マーク「!」が付いたイナクテ
ィブ信号とともに、各分岐のそばのテキストに示されて
いる。次の状態コントローラ72は、分岐の次に信号の
組合せが示されていない場合、次の状態コントローラ7
2の入力に関係なく、一つの状態から他の状態に分岐す
る。
【0018】電力がフラッシュ・メモリ20に供給され
ると、次の状態コントローラ72はRESET52によ
りPOWER_UP状態120に保持される。この状態
において事象は生ぜず、次の状態コントローラ72は、
命令状態マシン28からアクティブPROGRAM38
またはERASE40を受信した後に、実行を開始す
る。パワ・アップ後、次の状態コントローラ72が、分
岐122により示すようにアクティブPROGRAM3
8信号とアクティブERASE40信号を受信すると仮
定する。これら入力信号により、次の状態コントローラ
72はHARDWARE_ERR状態124に分岐す
る。HARDWARE_ERR状態124において、状
態レジスタ34の二つのフェイル・ビットPRG_ER
RとERASE_ERRは、ハードウェア故障を示す論
理高に設定される。状態124から、書込み状態マシン
32は、次の状態コントローラ72の入力信号に関係な
く、POWER_UP状態120に分岐して戻る。状態
120になった後、次の状態コントローラ72がアクテ
ィブPROGRAM38およびイナクティブERASE
信号40を受信すると仮定する。この信号の組合せは、
アドレス・ライン24により示されるバイトで行なわれ
るプログラム事象を開始する。示されたバイトは、実質
的にデータ・ライン26に示された値にプログラムされ
る。この状況において、次の状態コントローラ72は、
分岐126をPROG_SETUP状態132にする。
PROG_SETUP状態132において、次の状態コ
ントローラ72は、プログラム事象に関し構成される。
状態132において、期間カウンタ76はリセットさ
れ、事象カウンタ74のプログラム・カウントが選択さ
れる。メモリ・アレイ22におけるプログラム通路はセ
ットアップされる。その後、次の状態コントローラ72
は、分岐134をPROGRAM状態136にする。状
態136において、信号AY55とAX57により示さ
れるバイトは、ほぼ6.75ボルトの電圧レベル、論理
0にプログラムされる。状態136中、期間カウンタ7
6は、それのプログラム期間を選択することにより、プ
ログラム動作に関して構成される。書込み状態マシン3
2は、期間カウンタ72が終端カウントに到達するま
で、状態136のままである。この到達は、プログラム
電圧が、バイト電圧を6.75ボルトにするのに十分な
期間に供給されたことを示している。
【0019】次の状態コントローラ72は、PCTRT
C88がアクティブすなわち論理高になる時、分岐13
8をプログラム等化状態PROG_EQ140にする。
状態140における事象は、書込み状態マシン32とア
レイにプログラム検査を行なう、すなわち前のプログラ
ム動作が成功したかどうか決定するよう準備させる。状
態140において、期間カウンタ76はリセットされ、
事象カウンタ74はエネーブルされ、そのカウントがイ
ンクリメントする。アレイ22はエネーブルされ、バイ
トが読出され、アレイ22におけるプログラム検査回路
はターン・オンされる。プログラム検査を行なうよう部
分的に構成されていると、次の状態コントローラ72
は、状態140からPROG_VER_DELAY状態
142に分岐する。状態142において、書込み状態マ
シン32は、信号SOUT[0:7]を、DLC80に
記憶されたプログラム・データに比較することにより、
アドレスされたバイトがうまくプログラムされたことを
検査する。期間カウンタ76は、SOUT[0:7]5
9が検査前に確実にバリドであるようにするため、検査
遅延をもたらす。アレイ22は、ワード・ラインをエネ
ーブルしかつ読出し通路をターン・オンすることによ
り、プログラム検査用に構成される。DLC80は、信
号CMPEN287をアクティブにしかつ信号PGVE
R285をアクティブにすることにより、プログラム検
査を行なうように構成される。アクティブの場合、信号
PGVER285により、DLC80は、マイクロプロ
セッサ999が、プログラム動作中、プログラムされた
ビットを消去するよう試みた場合整合を示す。CMPE
N287とPGVER285の作用については、図13
のDLC80のブロック図に関して詳細に後述する。状
態142中、事象カウンタ74のプログラム計数は、事
象計数をプログラム事象モードに保持するよう選択され
たままである。PCTRTC88がアクティブになる
と、次の状態コントローラ72はMATCH94を調べ
て、アドレスされたバイトがうまくプログラムされたか
どうかを決定する。バイトがうまくプログラムされた場
合、MATCH94は論理1で、そうでない場合には論
理0である。
【0020】マイクロプロセッサ999がプログラム動
作を要求されたとすると、次の状態コントローラ72
は、状態142から三つの分岐の内の二つだけを行なう
ことができる。次の状態コントローラ72は、前のプロ
グラム動作がうまくいかず、事象カウンタ74が最大事
象カウントを超えなかった場合、分岐144をPROG
RAM_SETUP状態132に戻す。書込み状態マシ
ン32は、どちらが最初に起きても、バイトがうまくプ
ログラムされるか、または事象カウンタ74がタイムア
ウトするまで、状態132、136、140、142を
循環する。事象カウンタ74がタイムアウトするか、ま
たはバイトがうまくプログラムされた場合、次の状態コ
ントローラ72は、分岐146を第1プログラム実行状
態PROG_DONE1 148に送る。状態148で
は何の事象も起きない。次の状態コントローラ72は状
態148からPROG_DONE2状態150に分岐す
る。またもや事象は起きない。プログラム事象中、次の
状態コントローラ72は、状態150から三つの分岐1
52、154、または159に送るしかない。次の状態
コントローラ72は、次の状態コントローラ72が何ら
かの違法SBUS状態割当てを受けると、分岐159を
状態124に送る。HARDWARE_ERR状態15
9では、状態レジスタのPRG_ERRとERASE_
ERRビットの両方が設定される。その後、次の状態コ
ントローラ72は状態159から状態120に送り、プ
ログラム事象はハードウェア故障で終了する。図7は、
ハードウェア・エラーとしてマップされている、状態の
SBUS値を示している。図8は、名前を図7で用いら
れる信号頭文字に対する信号名を示しいる。プログラム
動作がうまくいかなかった場合、次の状態コントローラ
72は、分岐152を状態150からPRG_FAIL
状態160に送る。PROG_FAIL状態160にお
いて、状態レジスタのプログラム・フェイル・ビットP
RG_ERRが設定される。その後、次の状態コントロ
ーラ72はPOWER−UP状態120に戻す。プログ
ラム事象は故障として終了する。
【0021】一方、プログラム動作がうまくいった場
合、次の状態コントローラ72は、分岐154を、状態
150から状態120に直接的に移す。この時、プログ
ラム事象は成功のうちに完了する。メモリ・アレイ22
の消去は、POWER_UP状態120においてアクテ
ィブERASE信号38とイナクティブPROGRAM
信号40を受け取ることにより開始される。信号のこの
組合せにより、消去事象が開始し、次の状態コントロー
ラ72は分岐162をERASE状態164に送る。E
RASE状態164において、次の状態コントローラ7
2は、アドレス・カウンタ、期間カウンタ、事象カウン
タ78、76、74をリセットすることによってアレイ
をプレコンディションするように、書込み状態マシン3
2を初期化する。次の状態コントローラ72は、ERA
SE状態160から状態132に分岐し、アレイ22の
プレコンディショニング、すなわちアレイを消去する前
に各ビットを論理0にプログラミングすることを開始す
る。消去動作において、次の状態コントローラ72は、
プログラミング動作に関して述べたように、状態13
2、136、140を循環する。消去動作とプログラミ
ング動作間の相違は、PROG_VER_DELAY状
態142からの分岐にある。部分的には、消去は全アレ
イに対して行なわれるのに対してプログラミングは一度
に1バイト行なわれるので、これら相違が生じる。消去
事象における別の可能状態は、アドレス・カウンタをア
レイの各バイトにおいて循環する。次の状態コントロー
ラ72は、アドレスされたバイトがうまくプレコンディ
ションされた場合、状態142からPROG_INC_
ADD状態166に分岐する。PROG_INC_AD
D状態166において、事象は、書込み状態マシン32
がメモリの他のバイトをプレコンディションするよう準
備する。アドレス・カウンタ78はエネーブルされ、そ
のカウントをインクリメントすることができ、それによ
りアレイ22の新しいアドレスを示す。事象カウンタ7
4はリセットされ、そのプログラム・カウントが選択さ
れる。プログラム検査信号は、メモリ・アレイ22のプ
ログラム検査回路をエネーブルし、アレイ22はエネー
ブルされる。
【0022】次の状態コントローラ72は、もしアドレ
ス・カウンタ78がその終端カウントに到達しなけれ
ば、状態166からPROG_SETUP状態132に
分岐する。書込み状態マシン32は、メモリ・アレイ2
2の各バイトがプレコンディションされるか、またはバ
イトがうまくプレコンディションされなくなるまで、状
態132、136、140、142、166を循環す
る。バイトがうまくプレコンディションされない場合、
次の状態コントローラ72はPROG_VER_DEL
AY状態142からPROG_DONE1状態148に
分岐する。状態148では事象は起きず、次の状態コン
トローラ72はPROG−DONE2状態150に分岐
する。消去動作において、次の状態コントローラ72は
状態150から三つの分岐156、158または159
にしか送ることができない。次に状態コントローラ72
は、事象カウンタ74がその終端カウントに到達した時
までに、バイトがうまくプレコンディションされなかっ
た場合、分岐156をERASE_FAIL状態168
に送る。状態168において、ERASE_ERRビッ
トが設定される。次の状態コントローラ72は状態16
8からPOWER−UP状態120に戻す。したがっ
て、消去動作は失敗して終了する。一方、全バイトがう
まくプレコンディションされた場合、次の状態コントロ
ーラ72は、分岐158を状態150からERASE_
SETUP1状態170に送る。その後、次の状態コン
トローラ72は、アレイ22の消去プロセス、すなわち
セル電圧を約3.25ボルトにするプロセスを開始す
る。状態170において、アドレス・カウンタ78と事
象カウンタ74はリセットされる。これら動作は、書込
み状態回路とアレイに消去の準備をさせる。次の状態コ
ントローラ72は、状態170からERASE_SET
UP2状態172に分岐する。状態172中の事象は、
WSM32にアレイ消去の準備をさせる。状態172に
おいて、SBUSはデコードし、期間カウンタ76がリ
セットされ、メモリ・アレイ22の消去検査回路をター
ンオンさせる。次の状態コントローラ72は、状態17
2からAPPLY_ERASE状態176に分岐する。
状態176において、期間カウンタ76が終端カウント
に到達するまで消去電圧がアレイに供給される。次に状
態コントローラ72は、PCTRTC88がアクティブ
になると、状態176からERASE_OFF状態17
8に進める。
【0023】消去検査手続きを見越して、状態178に
おいて、期間カウンタ76がリセットされる。事象カウ
ンタ74がエネーブルされ、そのカウントがインクリメ
ントされ、メモリ・アレイ22の読出しラインはエネー
ブルされ続け、メモリの内容の読出しをアクセスするこ
とができる。消去検査回路はターン・オンされたままで
ある。次の状態コントローラ72は、状態178から状
態180に分岐する。ERASE_VERIFY状態1
80において、書込み状態マシン32は、メモリの示さ
れたバイトがうまく消去されたかどうかを決定する。状
態180における事象は、WSM32が検査を実行する
よう構成する。状態180において、期間カウンタ76
はリセットされ、その消去検査の遅延が選択される。消
去検査の遅延は、大体、消去電圧が除去される時とSO
UT[0:7]信号59がバリドになる時の間の時間で
ある。状態180において、DLC80回路は、信号C
OMPDAT283を論理1に設定しかつ信号CMPE
N287をアクティブにすることにより、アドレスされ
たバイトがうまく消去されたことを検査するよう構成さ
れる。信号COMPDAT283とCMPEN287と
DLC80回路については後述する。状態180におい
て、アレイの読出し通路はターン・オンされ、アレイは
エネーブルされて、アレイ22は出力SOUT[0:
7]59をDLC80に供給することができる。期間カ
ウンタ76がタイムアウトした後、次の状態コントロー
ラ72は、MATCH信号94を検査することにより、
消去動作がうまくいったかどうかを決定する。MATC
H94は、バイトがうまく消去された場合、論理1で、
うまくいかなかった場合は論理0である。次の状態コン
トローラ72は、状態180から状態172に分岐し、
現在アドレスされたバイトがうまく消去されずかつ事象
およびアドレス・カウンタ74、78が終端カウントに
到達しなかったことをMATCH94が示している場
合、別の消去パルスを供給する。書込み状態マシン32
は、事象カウンタ74がタイムアウトするか、またはア
ドレスされたバイトの消去がうまく検査されるまで、状
態172、176、180を循環する。
【0024】次の状態コントローラ72は、事象カウン
タ74が終端カウントに到達した後メモリ・バイトがう
まく消去されない場合、分岐182をERASE_FA
IL状態168に送る。状態168において、ERAS
E_ERRビットが設定される。その後、書込み状態マ
シン32は状態120に分岐する。このように、消去シ
ーケンスはうまくいかずに終了する。次の状態コントロ
ーラ72は、バイトがうまく検査されかつイナクティブ
ACTRTC信号92により示すようにアレイ中のどの
バイトも消去されたわけではない場合、状態180から
ERASE_INC_ADD状態184に分岐する。状
態184において、アドレス・カウンタ78はエネーブ
ルされ、そのカウントがインクリメントされかつ信号A
Y55とAX57はアレイ22の別のバイトを示すこと
ができる。状態184において、メモリ・アレイ22と
DLC80は、CMPEN287をアクティブにし、ア
レイ22をエネーブルしかつアレイ読出し通路と消去検
査回路をターンオンすることにより、読出されて、別の
検査動作を行なう。アレイ22の新しいバイトを示した
後、書込み状態マシン32は、現在のバイト値を目標値
に比較して、示されたバイトの消去が必要かどうかを決
定する。これら事象は、状態180、184、186に
おいて起きる。次の状態コントローラ72は、状態18
4からERASE_INC_DELAYに分岐する。状
態186は消去検査動作が行なわれる前にわずかな遅延
をもたらす。状態186において、DLC80は、CO
MPDAT283を論理1に、かつCOMPEN287
をアクティブに保持することにより、消去−検査構成に
保持される。メモリ・アレイ22は、エネーブルされ続
け、かつ読出し通路と消去検査回路はオンのままであ
る。状態186において、読出し状態マシン32は、E
RASE_VERIFY状態180に戻る。DLC80
は、現在のメモリ場所の内容を消去電圧レベルに比較す
る。検査の結果、バイトが既に消去されていることが示
された場合、次の状態コントローラ72は、消去されな
いバイトがメモリ・アレイ22に配置されるまで、また
はアドレス・カウンタ78が最終カウントに到達するま
で、状態184、186、180を循環する。
【0025】次の状態コントローラ72は、消去されな
いメモリ場所に到達しかつアドレス・カウンタ78がい
まだ終端カウントに到達しなかった場合、ERASE_
VERIFY状態180から状態172に戻る。書込み
状態マシン32は、メモリ・アレイ22の終りに到達す
るか、またはバイトがうまく消去されなくなるまで、前
述したように状態172、176、178、180、1
84、186を循環する。全バイトがうまく消去された
場合、アクティブなACTRTC92により示されるよ
うに、うまく消去された場合、次の状態コントローラ7
2は分岐188をPOWER_UP状態120に進め
る。アレイ22の消去は成功の内に完了される。図9
は、オシレータおよび位相ジェネレータ70のブロック
図である。オシレータ200はイナクティブRESET
信号52を受信すると動作を開始する。オシレータ20
0はRESET52がイナクティブである限り実行す
る。RESET52がアサートされる時、オシレータ2
00は実行を終了する。オシレータの出力202はフェ
ーズ・ジェネレータ204に供給される。フェーズ・ジ
ェネレータ204は、活動化されるまでイナクティブに
保持される2ビット・シフト・レジスタを含んでいる。
シフト・レジスタは、四つの組合せ、すなわち“0
0”、“01”、“11”、“10”にシフトする。フ
ェーズ・ジェネレータ204の二つのデコーダは、“0
1”と“10”を待ちかまえ、WSM32回路のほぼ全
部に送られる二つの出力クロックすなわちPH1 82
とPH2 84を発生する。本実施例において、PH1
/PH2 82、84は500nsの代表的なサイクル
時間を有している。PH1 82とPH2 84のデュ
ーティ・サイクルは約25%である。図10は、RES
ET52とSBUS[0:4]54に関するPH1 8
2とPH2 84に関するスタート・アップ・タイミン
グを示している。RESET52はPROGRAM38
またはERASE40のいずれかの立ち上がり縁で低く
なる。RESET52の降下後、PH2 84は、アク
ティブ高にする第1クロックである。SBUS[0:
4]54は、第2PH2 84パルスの立ち上がり縁で
アクティブになり、全WSM32回路は、バリドな読出
しを保証するため、PH1 82がアクティブな間、S
BUS[0:4]54を評価する。
【0026】図11は、期間カウンタ76を形成する回
路のブロック図である。期間カウンタ76は、期間カウ
ンタSBUSデコーダ210と15ビット・シフト・レ
ジスタ・カウンタ212と終端カウント整合回路214
およびラッチ216を含んでいる。期間カウンタSBU
Sデコーダ210は、カウンタ212と終端カウント整
合回路214を制御する。デコーダ210はSBUS信
号をデコードし、かつカウンタ212をレセットすべき
かどうか決定しかつ三つの終端カウント間で選択する。
各状態におけるSBUSデコーダ210の動作は、図7
に関して決定される。たとえば、図7は、APPLY
ERASE176において、PCTSELERSを論理
1に設定することにより、SBUSデコーダ210が消
去終端カウントを選択することを示している。SBUS
デコーダ210は、本実施例ではランダム論理装置とし
て実現されている。シフト・レジスタ・カウンタ212
は、エネーブルなカウンタを内蔵していないので、アク
ティブPCTRST信号218によりリセットされてい
る状態を除いて、全状態で実行し続ける。シフト・レジ
スタ212のQ出力220は、終端カウント整合回路2
14に供給される。終端カウント整合回路214は、Q
出力を分析しかつ選択された終端カウントにいつ到達し
たかを示す。終端カウント整合回路は、アクティブ信号
PCTSELERS、PCTSELPGM、PCTSE
LVERにより選択される三つの終端カウント、すなわ
ち消去、プログラム、検査を認識する。プログラミング
動作に関する期間は約10μsecで、消去動作に関し
ては約10msecで、検査動作に関しては約3μse
cである。カウンタ212がTCOUNT222をイン
クリメントし続けるので、出力TCOUNT222は、
たった一つの状態においてアクティブである。アクティ
ブな終端カウントTCOUNT222を記憶するため、
ORゲート217とともにラッチ216が使用される。
ラッチ216は、書込み状態マシン32が最初パワアッ
プされると、RESET52によりリセットされ、Q出
力224を論理0に設定する。ラッチ216はPCTR
ST218信号がアサートされる時、リセットされる。
TCOUNT222がアクティブ高になると、Q出力2
24を論理1になる。Q出力224は、TCOUNT2
22がイナクティブになった後、ラッチの入力を論理1
に保持し、ラッチ216がRESET52によりリセッ
トされるまで、PCTRTC88を論理1に保持する。
【0027】図12は、事象カウンタ74のブロック図
である。事象カウンタ74は、事象カウンタSBUSデ
コーダ230と、13ビット・カウンタ232と、事象
カウンタ終端カウント選択回路234と、ラッチ236
と、ORゲート238を含んでいる。事象カウンタSB
USデコーダ230は、カウンタ232と終端カウント
整合回路234を制御する。デコーダ230はSBUS
信号をデコードし、カウンタ232をエネーブルすべき
か、またはリセットすべきかどうかを決定し、かつ二つ
の可能事象カウンタ終端カウント間で選択する。各WS
M状態に関するSBUSデコーダ230の動作は図7に
基いて決定される。たとえば、図7は、ERASE_V
ERIFY状態180において、SBUSデコーダ23
0は、ECTRERを設定することにより消去終端カウ
ントを選択することを示している。事象カウンタSBU
Sデコーダ230は、本実施例においてはRANDAM
U論理装置として実現されている。カウンタ232は、
WSMが、新しいバイトのプログラム、プレコンディシ
ョン、または消去を開始する時にはいつでも、SBUS
デコーダ230によりリセットされる。リップルけた上
げカウンタ232は、アクティブECTREN信号24
0によりエネーブルされる時だけ、そのカウントをイン
クリメントする。カウンタ232のQ出力242は、事
象カウンタ終端カウント整合回路234に供給される。
事象カウンタ終端整合回路234は、Q出力242を分
析し、選択された終端カウントに到達する時を示す。事
象カウンタ終端整合回路234は、信号ECTRERお
よびECTRPGにより選択される二つの終端カウン
ト、すなわち消去およびプログラムを認識する。消去事
象が選択された時、事象カウンタ74により、8000
以上の消去パルスが供給され、プログラム事象が選択さ
れた場合、50プログラム・パルスが供給される。
【0028】TCOUNT244は、ラッチ236とO
Rゲート238を用いているTCOUNT222と全く
同じ方法でラッチされる。図13は、アドレス・カウン
タ78のブロック図である。アドレス・カウンタ78
は、TTL入力バッファ250、252と、アドレス・
カウンタSBUSデコーダ254、256と、17ビッ
ト線形カウンタ258と、バイパス・マルチプレクサ2
60を含んでいる。バッファ250、252は、TTL
アドレス入力A[0:16]24をCMOSレベルに変
換する。バッファ出力AIN[0:16]262は、バ
イパス・マルチプレクサ260とカウンタ258の並列
ロード入力に供給される。READY信号50が論理高
の場合、アドレス・カウンタ78は、バイパス・マルチ
プレクサ260の出力としてバッファされたTTL出力
262を選択することにより、フロー・スルー・アドレ
シングを行なう。アドレス・カウンタSBUSデコーダ
254、256は、カウンタ258の動作を制御する。
SBUSデコーダ254は、カウンタ258にリセット
信号ACTRRST266を供給する。SBUSデコー
ダ256は、SBUS[0:4]54をデコードし、カ
ウンタ・エネーブル信号ACTEN268を発生する。
SBUSデコーダ254、256の動作を図7に関して
説明する。たとえば、図7は、信号ACTEN268を
論理1にすることにより、SBUSデコーダ256がP
ROG_INC_ADD状態166においてカウンタ2
58をエネーブルすることを示している。アドレス・カ
ウンタのSBUSデコーダ254、256は、本実施例
ではランダム論理装置として実現されている。カウンタ
258は、並列ロードの17ビット線形カウンタで、こ
こでの詳細な説明は省略する。プログラム動作中、アド
レス・カウンタ78は以下のように動作する。命令状態
マシン28がプログラム命令を書込み状態マシン32に
発生する前、READY信号は、書込み状態マシン32
が動作を実行する状態にあることを示す論理高である。
これは、バッファ・マルチプレクサ260の出力として
TTLバッファ出力262を選択する。信号PROGR
AM38をアクティブ状態にする前に、命令状態マシン
28はアドレス・ラッチ・エネーブル信号ALE49を
アクティブにする。ALE49は、バッファされたアド
レス出力AIN[0:16]262をカウンタ258に
ロードする。信号AQ262とAIN264は、カウン
タ258がエネーブルされそのカウントをインクリメン
トするまで同じ値である。
【0029】バイパス・マルチプレクサ260は、PR
OGRAM38がアクティブになると、出力としてカウ
ンタ入力AQ[0:16]を選択する。マルチプレクサ
260は、READY50をイナクティブにすることに
よりAQ[0:16]を選択する。プログラム動作中、
カウンタ258のカウントをインクリメントすることが
できないので、カウンタ258は、プログラム動作中、
アドレス・ラッチとして働く。消去動作中のアドレス・
カウンタ28の動作は、最初はプログラム動作中の動作
と同様である。しかし、カウンタ258は、消去動作
中、PROG_INC_ADD状態166とERASE
_INC_ADD状態184においてエネーブルされ、
信号AY55とAX57は、アクティブなACTRTC
92により示すように、アレイ22の最後に到達するま
で、メモリ・アレイ22のアドレスを循環することがで
きる。図13は、データ・ラッチおよび比較器回路
(「DLC」)80のブロック図である。DLC80
は、各データ・ビットに対して一つの、8つのラッチお
よび比較器回路270a−270hと、DLC SBU
Sデコーダ282、284、286と、ANDゲート2
88と、マルチプレクサ290と、ラッチ292を含ん
でいる。マイクロプロセッサ999は、CEB44aと
WEB46がアクティブに保持している間、データ・ラ
インDATA[0:7]26を介してフラッシュ・メモ
リ20に命令を書込む。アクティブなCEB信号44a
とアクティブなWEB信号46は、各DLCラッチおよ
び比較器回路270a−270hにおけるTTL入力バ
ッファ272aをエネーブルし、ライン26のデータを
CMOS信号DATAIN[0:7]27に変換する。
CSMは、DATAIN[0:7]27がプログラムま
たは消去命令を表している場合、データ・ラッチ・エネ
ーブル信号DLE47をアクティブにする。DLE47
がアクティブになると、TTLバッファ272a−27
2hからのデータはラッチ274a−274hにクロッ
クされる。プログラム検査中、ラッチおよび比較器回路
270a−270hは次のように動作する。ERASE
信号38はイナクティブで、マルチプレクサ276a−
276hの10入力をマルチプレクサの出力として選択
する。したがって、ラッチ272a−272hに記憶さ
れたデータは、比較器278a−278hのLAT入力
に供給される。
【0030】比較器の出力279a−279hは、プロ
グラム・データの各ビットがセンス・アンプ出力SOU
T[0:7]59に整合しているかどうかを示す。各比
較器278a−278hに関して、二つの比較器の入力
SOUTとLATが一致している場合、比較器の出力は
論理1である。比較器の入力が一致していない場合、出
力は論理0である。プログラム検査中、前述した比較器
278a−278hの動作は、アクティブ・プログラム
検査信号PGVER283により変更される。表1に示
すように、PGVER283がアクティブな場合、比較
器278a−278hは論理1を出力し、セルが論理0
にある時、ビットは論理1であることが要求される。比
較器278a−278hは、書込み状態マシン32がプ
ログラム動作中プログラムされたビットを消去すること
が出来ないので、この状態での整合を示している。
【0031】
【0032】全比較器278a−278hの出力279
a−279hは、ANDゲート288により共にAND
される。ANDゲート288の出力は、SOUT[0:
7]とDATAIN[0:7]の各ビットが整合してい
る場合、論理1で、SOUT[0:7]とDATAIN
[0:7]が整合していない場合、論理0である。AN
Dゲート288の出力は、出力マルチプレクサ290の
I1入力に供給される。マルチプレクサ290のI1入
力は、アクティブCMPEN信号287によりマルチプ
レクサ出力として選択される。CMPEN287は、プ
ログラム検査中アクティブで、ANDゲートの出力28
9はラッチ292に流れ、MATCH信号94の論理状
態を制御する。MATCH94の値は、次の状態マシン
72がプログラム検査状態から移動する時、ラッチ29
2により記憶される。ラッチ292のQ出力は、マルチ
プレクサ290のI0入力に供給される。CMPEN2
87がイナクティブになると、マルチプレクサ290の
I0入力が選択され、I0入力はラッチ292を制御す
る。MATCH94は、RESET52によりリセット
される。消去検査中のデータ・ラッチおよび比較器回路
270a−270hの動作は、次の事柄を除いてはプロ
グラム検査に関して述べた動作と同様である。第1に、
マルチプレクサ276a−276hのI1入力は、消去
検査中、アクティブなCOMPDAT1信号により論理
1に設定される。これは、センス・アンプの出力を比較
するための電圧基準を確立する。第2に、アクティブE
RASE信号38は、比較器278a−278hに出力
されるべきマルチプレクサ276a−276hのI1入
力を選択する。第3に、PGVER信号はイナクティブ
で、比較器278a−278hは変更なしに動作するこ
とができる。
【0033】DLC SBUSデコーダ282、28
4、286は、データ・ラッチおよび比較器回路272
a−272hの動作を制御するのを助ける。DLC S
BUSデコーダ282、284、286の動作は、図7
に関して決定される。たとえば、図7は、ERASE_
INC_ADD、ERASE_INC_DELAY、E
RASE_VERIFY状態184、186、180に
おいて、DLC SBUSデコーダ286はCMPEN
信号を高に設定する。本実施例では、DLC SBUS
デコーダ282、284、286は、ランダム論理装置
で実現されている。図15は、状態レジスタ34のブロ
ック図である。状態レジスタ34は、クロック・ジェネ
レータ300、信号STATUS[3:7]56の各ビ
ットに対して一つの、五つの出力ラッチ302a〜30
2eと、状態レジスタSBUSデコーダ304、306
と、ラッチ308、312と、ORゲート310、31
4と、インバータ316を含んでいる。状態レジスタの
出力56は、出力エネーブル・バー信号OEB46aに
同期される。クロック・ジェネレータ300は、OEB
がトグルする時にはいつでも、1組のクロック・パルス
PH′1/PH′2 320を発生することにより、同
期される。クロック・パルスPH′1/PH′2 32
0は、出力ラッチ302a−302eへのデータのクロ
ック・インを制御する。したがって、OEB42は出力
ラッチ302a〜302eからバリド・データを読出す
ため、トグルされなければならないことは明白であろ
う。信号READY50、IDLE53、LOWVPP
51は、出力ラッチ302a−302cのD入力に直接
的に入力される。状態レジスタSBUSデコーダ304
は、プログラム故障を検出するようSBUS[0:4]
54をデコードする。SBUSデコーダ304が故障を
検出すると、PRG_FAIL信号322は論理1に設
定される。SBUS[0:4]54がたった一つの状態
期間においてプログラム故障を示した場合、アクティブ
PRGFAIL信号322は、マイクロプロセッサ99
9が状態レジスタ34をリセットするよう選択するま
で、ラッチ308とORゲート310を用いて記憶され
る。状態レジスタ34は、STATRS45をアクティ
ブにすることにより、リセットされる。ディバイス30
8、310のこの対は、期間カウンタ76における実質
的に同様のディバイス対と同じように動作する。
【0034】状態レジスタSBUSデコーダ306は、
消去故障を検出するためSBUS[0:4]54をデコ
ードする。SBUSデコーダ306が故障を検出した場
合、ERSFAIL信号324は高に設定される。SB
US[0:4]54がたった一つの状態期間に対し一つ
の消去故障を示すので、アクティブなERSFAIL信
号324は、マイクロプロセッサ999が状態レジスタ
をリセットするよう選択するまで、ラッチ312とOR
ゲート314を用いて記憶される。このディバイス対3
12、314は、期間カウンタ76における同様のディ
バイス対と実質的に同じに動作する。図7は、状態レジ
スタSBUSデコーダ304、306の動作を示してい
る。たとえば、図7は、全ハードウェア故障状態に対し
て、PRG_ERRが設定されることを示している。本
実施例では、状態レジスタSBUSデコーダ304、3
06はランダム論理装置で実現されている。ラッチ30
8、312のアクティブ出力は、状態レジスタのリセッ
ト信号STARS45がアクティブ高である時リセット
され、これは、マイクロプロセッサ999からのCLE
AR STATUS REGISTER命令の結果とし
て起きる。STATUS[3:7]出力56は、STA
T7とも呼ばれているRDY/BSY信号を含んでい
る。RDY/BSYが論理ゼロの場合、書込み状態マシ
ン32はビジーである。STAT7の論理1は、書込み
状態マシン32がその動作を完了し別の動作の実行に備
えていること、および他の状態出力がバリドであること
を示している。STAT6信号は、ERASE_SUS
PEND信号とも呼ばれている。WSM32が消去動作
においてアイドル状態に入った時、ERASE_SUS
PENDはアクティブ、論理1になり、アレイ22が読
出し可能であることを示す。ERASE_SUSPEN
Dは、マイクロプロセッサ999からの要求とWSM3
2に状態に基いて、シンクロナイザ30により設定され
かつクリヤされる。STAT5信号は消去エラーERA
SE_ERR信号とも呼ばれている。ERASE_ER
R信号は、WSM32がうまくアレイをプログラムまた
は消去できない場合に論理1に設定される。ERASE
_ERRはまた、消去命令が果たされない場合、または
ハードウェア・エラーが生じた場合に論理0に設定され
る。ERASE_ERR信号は、WSM32により設定
され、STATUS REGISTER CLEAR命
令によりクリヤされる。STAT4は、プログラム・エ
ラー信号PRG_ERRとも呼ばれている。PRG_E
RRは、WSM32がうまくバイトをプログラムできな
い場合に論理1に設定される。PRG_ERRはまた、
消去命令が果たされない場合、またはハードウェア・エ
ラーが生じた場合に論理0に設定される。PRG_ER
Rは、SBUS信号54により設定され、STATUS
REGISTER CLEAR命令によりクリヤされ
る。STAT3は、VPPLOW信号51とも呼ばれて
いる。VPPLOW51は、プログラムまたは消去動作
中いつでも、プログラミング電圧VPP36が降下する時
設定される。しかし、PRG_ERRまたはERASE
_ERRが設定される場合には、低いVPP36は動作に
なんの影響も及ぼさない。VPPLOW51はSTAT
RSによりクリヤされる。状態レジスタ34は、STA
TRS45の反転である状態レジスタ・リセット・バー
信号STATRB61をシンクロナイザ30に出力す
る。以上のように、不揮発性フラッシュ・メモリをプロ
グラムおよび消去する回路について説明してきたが、プ
ログラムまたは消去シーケンスが一旦開始されると、書
込み状態回路は、要求された動作を実行するのに必要な
全制御信号を発生し、マイクロプロセッサ999は他の
機能を行なうため使用されない。本発明は、特定の実施
例についてのみ述べられてきたが、本発明の思想から離
れることなく様々に改変し得ることは明白であろう。
【発明の効果】本発明により、不揮発性半導体メモリの
消去およびプログラムに要するマイクロプロセッサのコ
ードの量は最少ですむ。また、本発明の多段プログラム
または消去シーケンスを実行する回路では、多段プログ
ラムまたは消去シーケンスが一旦開始されると、完了す
るために不揮発性半導体メモリの外部装置からの制御を
必要としないですむ。
【図面の簡単な説明】
【図1】書込み状態マシンを含んでいるフラッシュ・メ
モリ回路のブロック図である。
【図2】フラッシュ・メモリ命令の表である。
【図3】書込み状態マシンのブロック図である。
【図4】次の状態コントローラの回路のブロック図であ
る。
【図5】フラッシュ・メモリのプログラムおよび消去方
法の状態図の半分である。
【図6】フラッシュ・メモリのプログラムおよび消去方
法の状態図の残りの半分である。
【図7】各書込み状態マシン状態のSBUS値の表であ
る。
【図8】信号名の表である。
【図9】オシレータおよびパルス・ジェネレータ回路の
ブロック図である。
【図10】PH1およびPH2に関するスタート・アッ
プ・タイミング図である。
【図11】期間カウンタの回路のブロック図である。
【図12】事象カウンタの回路のブロック図である。
【図13】アドレス・カウンタの回路のブロック図であ
る。
【図14】データ・ラッチおよび比較器の回路のブロッ
ク図である。
【図15】状態レジスタのブロック図である。
【符号の説明】
20 フラッシュ・メモリ 22 メモリ・アレイ 28 命令状態マシン 30 シンクロナイザ 32 書込み状態回路 34 状態レジスタ 70 オシレータ&フェーズ・ジェネレータ 72 次の状態コントローラ 74 事象カウンタ 76 期間カウンタ 78 アドレス・カウンタ 80 データ・ラッチ&比較器 110 次の状態論理装置 112、216、236、292 ラッチ 200 オシレータ 204 フェーズ・ジェネレータ 210 期間カウンタSBUSデコーダ 212 シフト・レジスタ・カウンタ 214 終端カウント整合回路 230 事象カウンタSBUSデコーダ 232 13ビット・カウンタ 234 事象カウンタ終端カウント選択回路 238 ORゲート 250、252 TTL入力バッファ 254、256 アドレス・カウンタSBUSデコーダ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平2−10598(JP,A) 特開 平2−142000(JP,A) 特開 平2−289997(JP,A) 特開 平2−119000(JP,A) (58)調査した分野(Int.Cl.7,DB名) G11C 16/00

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】 不揮発性半導体メモリと同じ基板上に設
    けられ、一旦開始されると、完了するため不揮発性半導
    体メモリの外部装置からの制御を必要としない不揮発性
    半導体メモリの多段プログラム・シーケンスを実行する
    回路において、 (a) 多段プログラム・シーケンスを開始する命令を記憶
    する装置と、 (b) (b1)次の状態を決定するための現在の状態を示す信
    号を発生する次状態コントローラと、 (b2)プログラム・シーケンス中、プログラミング動作の
    タイミングを決定するとともに、前記次状態コントロー
    ラの現在の状態の信号を受け、次の状態の所望のタイミ
    ングを選択する期間カウンタと、 (b3)プログラム・シーケンス中、所定の最大プログラミ
    ング数に到達したか否かを決定するとともに、前記次状
    態コントローラの現在の状態の信号を受け、次の状態の
    所望の最大プログラミング動作数を決定する事象カウン
    タと を備え、 データ・パターンにしたがって、不揮発性
    半導体メモリのビットをプログラムするよう、不揮発性
    半導体メモリをエネーブルするエネーブリング装置と、 から成る、不揮発性半導体メモリの多段プログラム・シ
    ーケンスを実行する回路。
  2. 【請求項2】 不揮発性半導体メモリと同じ基板上に設
    けられ、一旦開始されると、その消去を完了するため不
    揮発性半導体メモリの外部装置からの制御を必要としな
    不揮発性半導体メモリの多段消去シーケンスを実行す
    る回路において、 (a) 多段消去シーケンスを開始する命令を記憶する装置
    と、 (b) (b1)次の状態を決定するための現在の状態を示す信
    号を発生する次状態コントローラと、 (b2)消去シーケンス中、消去動作のタイミングを決定す
    るとともに、前記次状態コントローラの現在の状態の信
    号を受け、次の状態の所望のタイミングを選択する期間
    カウンタと、 (b3)消去シーケンス中、所定の最大消去動作数に到達し
    たか否かを決定するとともに、前記次状態コントローラ
    の現在の状態の信号を受け、次の状態の所望の最大消去
    動作数を決定する事象カウンタと を備え、 不揮発性半導
    体メモリのビットをプレコンディションして第1論理レ
    ベルにするよう、不揮発性半導体メモリをエネーブル
    し、かつそのビットを消去して第2論理レベルにするよ
    う、不揮発性半導体メモリをエネーブルするエネーブリ
    ング装置と、 から成る回路。
  3. 【請求項3】 不揮発性半導体メモリと同じ基板上に設
    けられ、不揮発性半導体メモリをプログラムする回路に
    おいて、 (a) プログラム動作のタイミングをとり、期間終端カウ
    ント信号を供給する期間計数装置と、 (b) プログラム動作を計数し、事象終端カウント信号を
    供給する事象計数装置と、 (c) 不揮発性半導体メモリのビットをパターン・ビット
    と比較しかつ整合信号を供給する装置と、 (d) 事象計数装置と期間計数装置と比較装置とに結合
    、次の状態を決定するための現在の状態を示す信号を
    少なくとも前記期間計数装置と事象計数装置に供給する
    コントローラと、 から成り、プログラミングを開始する命令を受信する
    と、コントローラによりメモリのビットがパターン・ビ
    ットにしたがってプログラムされ、かつ回路の前記期間
    計数装置と事象計数装置は、前記コントローラの現在の
    状態を示す信号を受け、前者は次の状態の所望のタイミ
    ングを選択し、後者は次の状態の許容される最大プログ
    ラミング動作数を決定して、一旦開始されると不揮発性
    半導体メモリの外部装置からの制御を必要としないこと
    を特徴とする、不揮発性半導体メモリをプログラムする
    回路。
  4. 【請求項4】 不揮発性半導体メモリと同じ基板上に設
    けられ、不揮発性半導体メモリを消去する回路におい
    て、 (a) 消去動作のタイミングをとり、期間終端カウント信
    号を供給する期間計数装置と、 (b) 消去動作を計数し、事象終端カウント信号を供給す
    る事象計数装置と、 (c) 不揮発性半導体メモリのビットをパターン・ビット
    に比較し、整合信号を供給する装置と、 (d) 事象計数装置と、期間計数装置と、比較装置とに結
    合し、次の状態を決定するための現在の状態を示す信号
    を少なくとも前記期間計数装置と事象計数装置に供給す
    るよう構成された多段消去シーケンスを制御するコント
    ローラと、 から成り、前記コントローラは、そのビットをプレコン
    ディションして第1論理レベルにしかつそのビットを消
    去して第2レベルにするよう、不揮発性半導体メモリ
    と、事象計数装置と、期間計数装置と、比較装置とをエ
    ネーブルする制御信号を供給し、かつ開始命令に応じて
    多段消去シーケンスを開始し、さらに前記期間計数装置
    と事象計数装置は、前記コントローラの現在の状態を示
    す信号を受け、前者は次の状態の所望のタイミングを選
    択し、後者は次の状態の許容される最大消去動作数を決
    定して、一旦開始されると不揮発性半導体メモリの外部
    装置からの制御を必要としないことを特徴とする、不揮
    発性半導体メモリを消去する回路。
  5. 【請求項5】 不揮発性半導体メモリのビットがプログ
    ラミングされたかどうかを示す状態レジスタをさらに有
    し、この状態レジスタが、 (a) アクティブおよびイナクティブなレベルを有する故
    障信号を記憶するラッチと、 (b) ラッチの出力を出力エネーブル信号に同期させる同
    期装置と、を有する ことを特徴とする請求項1または3の回路
  6. 【請求項6】 不揮発性半導体メモリをプログラムする
    方法において、 (a) プログラミングを開始する命令を受信する過程と、 (b) 不揮発性半導体メモリの外部装置からの制御なし
    で、パターン・ビットにしたがって不揮発性半導体メモ
    リのビットをプログラムするよう不揮発性半導体メモリ
    と書込み状態回路をエネーブルする過程と、 から成り、前記書込み状態回路が (1)次の状態を決定するための現在の状態を示す信号を
    発生する次状態コント ローラと、 (2)プログラム・シーケンス中、プログラミング動作の
    タイミングを決定するとともに、前記次状態コントロー
    ラの現在の状態の信号を受け、次の状態の所望のタイミ
    ングを選択する期間カウンタと、 (3)プログラム・シーケンス中、所定の最大プログラミ
    ング動作数に到達したか否かを決定するとともに、前記
    次状態コントローラの現在の状態の信号を受け、次の状
    態の所望の最大動作プログラミング数を決定する事象カ
    ウンタと を備え ることを特徴とする、不揮発性半導体メ
    モリをプログラムする方法。
  7. 【請求項7】 一旦消去が開始されると、不揮発性半導
    体メモリの外部装置からの制御なしで不揮発性半導体メ
    モリを消去する方法において、 (a) 消去を開始する命令を受信する過程と、 (b) 不揮発性半導体メモリのビットをプレコンディショ
    ンして第1論理レベルにするよう不揮発性半導体メモリ
    と書込み状態回路をエネーブルする過程と、 (c) 不揮発性半導体メモリのビットを消去して第2レベ
    ルにするよう不揮発性半導体メモリと書込み状態回路を
    エネーブルする過程と、 から成り、前記書込み状態回路が (1)次の状態を決定するための現在の状態を示す信号を
    発生する次状態コントローラと、 (2)消去シーケンス中、消去動作のタイミングを決定す
    るとともに、前記次状態コントローラの現在の状態の信
    号を受け、次の状態の所望のタイミングを選択する期間
    カウンタと、 (3)消去シーケンス中、所定の最大消去動作数に到達し
    たか否かを決定するとともに、前記次状態コントローラ
    の現在の状態の信号を受け、次の状態の所望の最大消去
    動作数を決定する事象カウンタと を備え ることを特徴と
    する、不揮発性半導体メモリを消去する方法。
JP05662792A 1991-02-11 1992-02-10 不揮発性半導体メモリをプログラム及び消去する回路とその方法 Expired - Fee Related JP3408552B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US65437591A 1991-02-11 1991-02-11
US654,375 1991-02-11

Publications (2)

Publication Number Publication Date
JPH05182475A JPH05182475A (ja) 1993-07-23
JP3408552B2 true JP3408552B2 (ja) 2003-05-19

Family

ID=24624605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05662792A Expired - Fee Related JP3408552B2 (ja) 1991-02-11 1992-02-10 不揮発性半導体メモリをプログラム及び消去する回路とその方法

Country Status (2)

Country Link
US (3) US5377145A (ja)
JP (1) JP3408552B2 (ja)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6781895B1 (en) * 1991-12-19 2004-08-24 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device and memory system using the same
US5361227A (en) 1991-12-19 1994-11-01 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device and memory system using the same
US5687345A (en) * 1992-03-17 1997-11-11 Hitachi, Ltd. Microcomputer having CPU and built-in flash memory that is rewritable under control of the CPU analyzing a command supplied from an external device
US7057937B1 (en) 1992-03-17 2006-06-06 Renesas Technology Corp. Data processing apparatus having a flash memory built-in which is rewritable by use of external device
US6414878B2 (en) 1992-03-17 2002-07-02 Hitachi, Ltd. Data line disturbance free memory block divided flash memory and microcomputer having flash memory therein
TW231343B (ja) * 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
US6370651B1 (en) * 1993-10-22 2002-04-09 Intel Corporation Synchronizing user commands to a microcontroller in a memory device
US5526311A (en) * 1993-12-30 1996-06-11 Intel Corporation Method and circuitry for enabling and permanently disabling test mode access in a flash memory device
US5559988A (en) * 1993-12-30 1996-09-24 Intel Corporation Method and circuitry for queuing snooping, prioritizing and suspending commands
US5440505A (en) * 1994-01-21 1995-08-08 Intel Corporation Method and circuitry for storing discrete amounts of charge in a single memory element
US5715423A (en) * 1994-04-18 1998-02-03 Intel Corporation Memory device with an internal data transfer circuit
CN1147866C (zh) * 1994-06-02 2004-04-28 英特尔公司 含多级单元的快擦存储器的读出电路
US5749088A (en) * 1994-09-15 1998-05-05 Intel Corporation Memory card with erasure blocks and circuitry for selectively protecting the blocks from memory operations
JP3448365B2 (ja) * 1994-09-20 2003-09-22 三菱電機株式会社 不揮発性半導体記憶装置
JPH08129894A (ja) * 1994-10-28 1996-05-21 Nec Corp 不揮発性半導体記憶装置
KR100482235B1 (ko) 1995-01-31 2005-04-14 가부시끼가이샤 히다치 세이사꾸쇼 반도체 메모리 장치
US5682496A (en) 1995-02-10 1997-10-28 Micron Quantum Devices, Inc. Filtered serial event controlled command port for memory
US6108237A (en) * 1997-07-17 2000-08-22 Micron Technology, Inc. Fast-sensing amplifier for flash memory
KR100187671B1 (ko) * 1995-06-30 1999-06-01 김주용 플래쉬 메모리소자의 소거방법
US5890193A (en) * 1995-07-28 1999-03-30 Micron Technology, Inc. Architecture for state machine for controlling internal operations of flash memory
DE19544571A1 (de) * 1995-11-30 1997-06-05 Sel Alcatel Ag Verfahren und Vorrichtung zum Programmieren eines Flash-EEProms
US5675540A (en) * 1996-01-22 1997-10-07 Micron Quantum Devices, Inc. Non-volatile memory system having internal data verification test mode
US5825782A (en) * 1996-01-22 1998-10-20 Micron Technology, Inc. Non-volatile memory system including apparatus for testing memory elements by writing and verifying data patterns
US5805501A (en) * 1996-05-22 1998-09-08 Macronix International Co., Ltd. Flash memory device with multiple checkpoint erase suspend logic
US6148360A (en) * 1996-09-20 2000-11-14 Intel Corporation Nonvolatile writeable memory with program suspend command
US5940861A (en) * 1996-09-20 1999-08-17 Intel Corporation Method and apparatus for preempting operations in a nonvolatile memory in order to read code from the nonvolatile memory
US6201739B1 (en) * 1996-09-20 2001-03-13 Intel Corporation Nonvolatile writeable memory with preemption pin
US5928370A (en) * 1997-02-05 1999-07-27 Lexar Media, Inc. Method and apparatus for verifying erasure of memory blocks within a non-volatile memory structure
US6189070B1 (en) 1997-08-28 2001-02-13 Intel Corporation Apparatus and method for suspending operation to read code in a nonvolatile writable semiconductor memory
JPH11176174A (ja) * 1997-12-05 1999-07-02 Sharp Corp 不揮発性メモリの書き込み回路および不揮発性メモリ
US6134628A (en) * 1998-01-30 2000-10-17 Ricoh Company, Ltd. Method and computer-based system for rewriting a nonvolatile rewritable memory
US6040993A (en) * 1998-02-23 2000-03-21 Macronix International Co., Ltd. Method for programming an analog/multi-level flash EEPROM
US6226728B1 (en) 1998-04-21 2001-05-01 Intel Corporation Dynamic allocation for efficient management of variable sized data within a nonvolatile memory
KR100285063B1 (ko) 1998-08-13 2001-03-15 윤종용 동기형 램 장치와 시스템 버스를 공유하는 동기형 플래시 메모리 장치의 소거 및 쓰기 방법
KR100290481B1 (ko) 1998-12-28 2001-06-01 박종섭 플래쉬 메모리 장치용 다단계 펄스 발생 회로
US6389500B1 (en) * 1999-05-28 2002-05-14 Agere Systems Guardian Corporation Flash memory
US6457122B1 (en) * 1999-06-18 2002-09-24 Phoenix Technologies Ltd. Fault tolerant process for the delivery of programs to writeable storage device utilizing pre-operating system software/firmware
US7076623B1 (en) * 1999-10-18 2006-07-11 Matsushita Electric Industrial Co., Ltd. Information update count managing method, information update count managing apparatus, contents usage count managing method, and content usage count storing apparatus
US6532514B1 (en) * 1999-12-22 2003-03-11 Texas Instruments Incorporated System and method for handling a power supply interruption in a non-volatile memory
US6834323B2 (en) 2000-12-26 2004-12-21 Intel Corporation Method and apparatus including special programming mode circuitry which disables internal program verification operations by a memory
US6732306B2 (en) 2000-12-26 2004-05-04 Intel Corporation Special programming mode with hashing
US7007131B2 (en) * 2000-12-27 2006-02-28 Intel Corporation Method and apparatus including special programming mode circuitry which disables internal program verification operations by a memory
US6614695B2 (en) * 2001-08-24 2003-09-02 Micron Technology, Inc. Non-volatile memory with block erase
US20050183722A1 (en) * 2002-09-27 2005-08-25 Jagadish Bilgi External chest therapy blanket for infants
US6891758B2 (en) * 2003-05-08 2005-05-10 Micron Technology, Inc. Position based erase verification levels in a flash memory device
US7110301B2 (en) * 2004-05-07 2006-09-19 Samsung Electronics Co., Ltd. Non-volatile semiconductor memory device and multi-block erase method thereof
JP4051055B2 (ja) * 2004-10-14 2008-02-20 シャープ株式会社 不揮発性メモリの消去パルス設定方法及び消去不良スクリーニング方法
JP4739940B2 (ja) * 2005-12-21 2011-08-03 ソリッド ステート ストレージ ソリューションズ エルエルシー 不揮発性メモリ
US7403430B2 (en) * 2006-02-16 2008-07-22 Macronix International Co., Ltd. Erase operation for use in non-volatile memory
US7567461B2 (en) * 2006-08-18 2009-07-28 Micron Technology, Inc. Method and system for minimizing number of programming pulses used to program rows of non-volatile memory cells
US8525548B2 (en) * 2008-08-04 2013-09-03 Tabula, Inc. Trigger circuits and event counters for an IC
JP2010079686A (ja) * 2008-09-26 2010-04-08 Nec Electronics Corp データ処理装置、メモリ制御回路およびメモリ制御方法
KR101005125B1 (ko) * 2009-05-11 2011-01-04 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 그 동작 방법
JP2011040124A (ja) * 2009-08-07 2011-02-24 Toshiba Corp 半導体記憶装置のデータ読み出し方法
US20120167100A1 (en) * 2010-12-23 2012-06-28 Yan Li Manual suspend and resume for non-volatile memory
JP6238378B2 (ja) * 2016-02-09 2017-11-29 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
US10249382B2 (en) * 2017-08-22 2019-04-02 Sandisk Technologies Llc Determination of fast to program word lines in non-volatile memory

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58169395A (ja) * 1982-03-31 1983-10-05 Fujitsu Ltd 書き替え可能なrom管理方式
US4460982A (en) * 1982-05-20 1984-07-17 Intel Corporation Intelligent electrically programmable and electrically erasable ROM
US4521853A (en) * 1982-06-30 1985-06-04 Texas Instruments Incorporated Secure microprocessor/microcomputer with secured memory
DE3318123A1 (de) * 1983-05-18 1984-11-22 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung mit einem datenspeicher und einer ansteuereinheit zum auslesen, schreiben und loeschen des speichers
US4823308A (en) * 1984-02-02 1989-04-18 Knight Technology Ltd. Microcomputer with software protection
JPS6151695A (ja) * 1984-08-22 1986-03-14 Hitachi Ltd 半導体集積回路装置
US4744062A (en) * 1985-04-23 1988-05-10 Hitachi, Ltd. Semiconductor integrated circuit with nonvolatile memory
JPH0713879B2 (ja) * 1985-06-21 1995-02-15 三菱電機株式会社 半導体記憶装置
JPS6252798A (ja) * 1985-08-30 1987-03-07 Mitsubishi Electric Corp 半導体記憶装置
JPS62164299A (ja) * 1986-01-13 1987-07-20 Mitsubishi Electric Corp マイクロコンピユ−タ装置
JPS62205599A (ja) * 1986-03-05 1987-09-10 Nec Corp 書込可能読出専用記憶回路
JPS62236199A (ja) * 1986-04-07 1987-10-16 Matsushita Electric Ind Co Ltd 電気的消去型半導体不揮発性メモリ
JP2510521B2 (ja) * 1986-06-18 1996-06-26 株式会社日立製作所 Eeprom装置
US5034922A (en) * 1987-12-21 1991-07-23 Motorola, Inc. Intelligent electrically erasable, programmable read-only memory with improved read latency
US5053990A (en) * 1988-02-17 1991-10-01 Intel Corporation Program/erase selection for flash memory
US5222046A (en) * 1988-02-17 1993-06-22 Intel Corporation Processor controlled command port architecture for flash memory
US5014191A (en) * 1988-05-02 1991-05-07 Padgaonkar Ajay J Security for digital signal processor program memory
JPH02141993A (ja) * 1988-11-21 1990-05-31 Toshiba Corp 半導体記憶装置
JPH02144641A (ja) * 1988-11-25 1990-06-04 Nec Corp マイクロコンピュータ
JPH0812646B2 (ja) * 1989-03-03 1996-02-07 三菱電機株式会社 半導体集積回路
US5172338B1 (en) * 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US5070443A (en) * 1989-09-11 1991-12-03 Sun Microsystems, Inc. Apparatus for write handshake in high-speed asynchronous bus interface
US5126975A (en) * 1990-10-24 1992-06-30 Integrated Device Technology, Inc. Integrated cache SRAM memory having synchronous write and burst read
US5333300A (en) * 1991-02-11 1994-07-26 Intel Corporation Timing circuitry and method for controlling automated programming and erasing of a non-volatile semiconductor memory
US5224070A (en) * 1991-12-11 1993-06-29 Intel Corporation Apparatus for determining the conditions of programming circuitry used with flash EEPROM memory
US5243575A (en) * 1992-06-19 1993-09-07 Intel Corporation Address transition detection to write state machine interface circuit for flash memory

Also Published As

Publication number Publication date
US5377145A (en) 1994-12-27
JPH05182475A (ja) 1993-07-23
US5448712A (en) 1995-09-05
US5513333A (en) 1996-04-30

Similar Documents

Publication Publication Date Title
JP3408552B2 (ja) 不揮発性半導体メモリをプログラム及び消去する回路とその方法
JP3415172B2 (ja) 不揮発性半導体メモリの自動化消去を保留する回路及び方法
US5327383A (en) Method and circuitry for erasing a nonvolatile semiconductor memory incorporating row redundancy
US5377147A (en) Method and circuitry for preconditioning shorted rows in a nonvolatile semiconductor memory incorporating row redundancy
US5546561A (en) Circuitry and method for selectively protecting the integrity of data stored within a range of addresses within a non-volatile semiconductor memory
US5369647A (en) Circuitry and method for testing a write state machine
US5621687A (en) Programmable erasure and programming time for a flash memory
KR100472741B1 (ko) 판독 및 기입을 동시에 행할수 있는 비휘발성 메모리용 뱅크 아키 텍춰
US5333300A (en) Timing circuitry and method for controlling automated programming and erasing of a non-volatile semiconductor memory
US5742787A (en) Hardware reset of a write state machine for flash memory
US7164610B2 (en) Microcomputer having a flush memory that can be temporarily interrupted during an erase process
US5412793A (en) Method for testing erase characteristics of a flash memory array
JPH11511307A (ja) 非揮発性プログラム可能論理装置用の効率的なインシステムプログラミング構成体及び方法
JPH04221496A (ja) 単一基板上に設けられるコンピュータメモリ回路およびコンピュータメモリを消去するためのシーケンスを終らせる方法
US7027331B2 (en) Write state machine architecture for flash memory internal instructions
US6618291B2 (en) Write state machine architecture for flash memory internal instructions
JPH06282995A (ja) 電気的にプログラム可能なメモリを均一にプログラムする方法と該方法を実行するメモリ
US6981107B2 (en) Fast programming method for nonvolatile memories, in particular flash memories, and relative memory architecture
JP3463912B2 (ja) フラッシュメモリのライトステートマシンのハードウェアリセット
WO2002067268A1 (en) Write state machine architecture for flash memory internal instructions
JPH10241377A (ja) 不揮発性半導体記憶装置
EP0829044B1 (en) Floating gate memory device with protocol to terminate program load cycle
JP3408286B2 (ja) 不揮発性半導体記憶装置
JP2003100089A (ja) 不揮発性半導体記憶装置
JP2003100087A (ja) 不揮発性半導体記憶装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090314

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090314

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100314

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100314

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110314

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees