JPH0845290A - メモリ集積回路およびそのメモリセルのプログラム方法 - Google Patents

メモリ集積回路およびそのメモリセルのプログラム方法

Info

Publication number
JPH0845290A
JPH0845290A JP8668595A JP8668595A JPH0845290A JP H0845290 A JPH0845290 A JP H0845290A JP 8668595 A JP8668595 A JP 8668595A JP 8668595 A JP8668595 A JP 8668595A JP H0845290 A JPH0845290 A JP H0845290A
Authority
JP
Japan
Prior art keywords
memory cells
programmed
circuit
input data
program mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP8668595A
Other languages
English (en)
Other versions
JP3741744B2 (ja
Inventor
George Chang
ジョージ・チャン
Pearl Cheng
パール・チェン
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JPH0845290A publication Critical patent/JPH0845290A/ja
Application granted granted Critical
Publication of JP3741744B2 publication Critical patent/JP3741744B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Logic Circuits (AREA)

Abstract

(57)【要約】 【目的】 集積メモリ回路のプログラムを低消費電流で
実行する。 【構成】 プログラムする方法は、プログラムモード決
定回路を用いて入力データパターンのビットの数に従っ
てメモリセルをプログラムするためのプログラムモード
を与えるステップと、プログラムモードに従ってメモリ
セルをプログラムするステップとを含む。プログラムモ
ード決定回路は、各ブロックにおいてプログラムされる
必要のあるメモリセルの総数を決定するための回路と、
メモリセル決定回路に動作できるように結合され、ブロ
ックにおいてプログラムされる必要のあるメモリセルの
総数が、0よりも大きいがしきい値数Nよりも小さいか
または等しい場合、しきい値数Nよりも大きい場合、お
よび0に等しい場合にそれぞれ、第1のプログラムモー
ド制御信号、複数の第2のプログラムモード制御信号、
および第3のプログラムモード制御信号を与えるための
制御回路とを含む。

Description

【発明の詳細な説明】
【0001】
【発明の分野】この発明は一般的に、電気的に書換可能
なメモリデバイスに関し、より特定的にはフラッシュE
PROMをプログラムするための方法および装置に関す
る。
【0002】
【発明の背景】フラッシュEPROM(書換・消去可能
な読出専用メモリ)は、ますます成長している不揮発性
記憶集積回路である。これらフラッシュEPROMは、
電気的に消去、プログラムまたは読出可能な集積メモリ
セルを有する。アレイ全体は同時に電気的に消去でき
る。フラッシュEPROMはまた、ランダムに読出また
は書込可能である。
【0003】セルそのものは1つのセルにつき1個の素
子のみを用い、フローティングゲートの充電または放電
によりデータがセル内に記憶される、いわゆるフローテ
ィングゲート型トランジスタを用いて形成される。フロ
ーティングゲートは、典型的にはポリシリコンから製造
される導電性物質であり、酸化物の薄い層またはその他
の絶縁物質によりトランジスタのチャネルから絶縁さ
れ、絶縁物質の第2の層によりトランジスタの制御ゲー
トワードラインから絶縁される。
【0004】フローティングゲートに充電する動作は、
フラッシュEPROMに対する“プログラム”ステップ
と称される。このことは、ゲートとソースの間に12ボ
ルト程度の正の高電圧、ドレインとソースの間にたとえ
ば6ボルトの正電圧を確立することにより、いわゆるホ
ット・エレクトロン注入を通して達成される。ドレイン
ポンプは、メモリセルをプログラムするのに必要な電流
を供給する。
【0005】フローティングゲートを放電する動作は、
フラッシュEPROMに対する“消去”機能と呼ばれ
る。この消去機能は典型的に、フローティングゲートと
トランジスタのソースとの間(ソース消去)、またはフ
ローティングゲートと基板との間(チャネル消去)の、
ファウラ−ノルドハイム型トンネリングメカニズムによ
り実行される。たとえば、ソース消去動作は、ソースか
らゲートへの大きな正電圧を確立し、一方それぞれのメ
モリセルのドレインをフローティング状態とすることに
より引起こされる。この正電圧は12ボルトであっても
よい。
【0006】フラッシュEPROMセルをプログラムす
る従来の方法が直面する問題は、高密度のフラッシュE
PROMメモリデバイスをプログラムするには大量の電
流が必要とされることである。典型的なフラッシュEP
ROMメモリデバイスは、1バイトが8ビットの、12
8000(128K)バイトとして構成された100万
ビット(メガビットまたはMビット)のメモリセルを有
する。典型的には、8ビットすべてが同時にプログラム
される。集積回路に供給される電圧が12ボルトであれ
ば、メモリセルをプログラムするのに必要な電流として
は十分であろう。パーソナルコンピュータ産業がサイズ
縮小および移動計算の方向へ進むにつれ、ノートブック
およびサブノートブックコンピュータアプリケーション
が大きく普及してきている。これらアプリケーションに
おいては、バッテリが典型的にノートブックおよびサブ
ノートブックコンピュータに電力を供給するために用い
られるため、電力消費が重要な問題である。より小さな
電源電圧を用いる集積回路は、消費する電力が少ないこ
とは既知である。したがって、これらのアプリケーショ
ンに利用される集積回路の多くは、より小さな電源電圧
で機能するように設計される。ゆえに、以前用いられて
いた12ボルトよりも小さな電源電圧を有するメモリデ
バイスへの需要が高まっている。現在、電源電圧は5ボ
ルトまで低減され、近い将来はさらに3.3ボルトに低
減されることが予測されている。電源電圧が5ボルトま
たはそれよりも小さければ、ドレインポンプは、電源電
圧をポンプアップして、8ビットものメモリセルを同時
にプログラムするに十分な電流を発生することが必要で
ある。さらに、マイクロプロセッサ技術が向上するにつ
れ、より高密度のフラッシュEPROMメモリデバイス
が必要とされる。産業界の需要は、各ワードが16ビッ
トの256Kワードで構成される4Mビット、および各
ワードが16ビットの100万ワードとして構成される
16Mビットの記憶容量を有するフラッシュEPROM
を要求している。これらのフラッシュEPROMでは、
16ビットのメモリセルは同時にプログラムされねばな
らないかもしれず、以前のデバイスにおいて8ビットの
メモリセルのみを同時にプログラムする場合と比較し
て、必要な電流は倍加する。電流容量を増大させるため
に、ドレインポンプの数を倍加するかまたは既存のドレ
インポンプのサイズを増大することにより、4Mビット
または16Mビットデバイスへより多くの電流を送る問
題を解決するための試みが行なわれている。
【0007】より多くのドレインポンプを用いるかまた
はドレインポンプの電流容量を増大することにより、4
Mビットまたは16Mビットメモリデバイスに十分な電
流を供給できるであろうが、集積回路の設計に複雑さが
増すことは望ましくない。加えて、ドレインポンプの数
を増加することまたはドレインポンプのサイズを増大さ
せることにより、フラッシュEPROMが乗る集積回路
の全体のサイズが増大する。さらに、より高密度のフラ
ッシュEPROMメモリデバイスへの需要が増すにつ
れ、プログラムされるビット数が引き続き増加するであ
ろうことが予測され、こうした高密度のデバイスに必要
な電流を供給するよりよい方法が必須である。したがっ
て、集積回路の設計の複雑さおよびサイズを増大させる
といった望ましくない方法をとらずに、高密度のフラッ
シュEPROMメモリデバイスを低電源電圧でプログラ
ムするための方法および装置を有することが必要であ
る。この発明は、こういった必要に応えるものである。
【0008】
【発明の概要】したがって、この発明の包括的な局面
は、プログラムされる必要のあるメモリセルの数が増加
したとき、集積回路のサイズを不必要に増大させること
なく、入力データパターンに応答して集積回路上に形成
された複数のメモリセルをプログラムするための方法を
提供することである。この発明の他の局面は、プログラ
ムされる必要のあるメモリセルの数が増加したとき、プ
ログラムの間電流を供給するために用いられるドレイン
ポンプの数またはサイズを不必要に増大させることな
く、集積回路上に形成された複数のメモリセルをプログ
ラムする方法を提供することである。
【0009】この発明のさらに他の局面は、プログラム
される必要のあるメモリセルの数が増加したとき、集積
回路のサイズを不必要に増大させることなく、入力デー
タパターンに応答して集積回路上に形成された複数のメ
モリセルをプログラムすることを可能にする、集積メモ
リ回路を提供することである。この発明のさらに他の局
面は、プログラムされる必要のあるメモリセルの数が増
加したとき、プログラムの間電流を供給するために用い
られるドレインポンプの数またはサイズを不必要に増大
させることなく、入力データパターンに応答して集積回
路上に形成された複数のメモリセルをプログラムするこ
とを可能にする、集積メモリ回路を提供することであ
る。
【0010】これらの目的および局面に従い、この発明
は、複数ビットの情報を有する入力データパターンに応
答し、複数のメモリセルをプログラムするための方法を
提供することに関する。各ビットは第1の論理レベルま
たは第2の論理レベルのいずれかであり、各メモリセル
は1ビットの情報を記憶するために用いられる。この方
法は、入力データパターンのビットの数に従ってメモリ
セルをプログラムするためのプログラムモードを提供す
るステップと、次にそのプログラムモードに従ってメモ
リセルをプログラムするステップとを含む。
【0011】プログラムモードを提供するステップは、
プログラムされる必要のあるメモリセルの総数を決定す
るステップと、もしプログラムされる必要のあるメモリ
セルの総数が0よりも大きいがしきい値数Nよりも小さ
いかまたは等しければ第1のプログラムモード制御信号
を与え、もしプログラムされる必要のあるメモリセルの
総数がしきい値数Nよりも大きければ第2のプログラム
モード制御信号を与え、もしプログラムされる必要のあ
るメモリセルの総数が0に等しければ第3のプログラム
モード制御信号を与えるステップとを含む。
【0012】プログラムされる必要のあるメモリセルの
総数を決定するステップは、入力データパターンの各ビ
ットの論理レベルを、メモリセルに記憶された対応する
各ビットの論理レベルと比較するステップと、プログラ
ムされる必要のあるメモリセルの総数を、第1の論理レ
ベルにある入力データパターンのビットの数の総和を求
めることにより計算するステップとを含む。
【0013】この発明はまた、複数ビットの情報を有す
る入力データパターンに応答する集積メモリ回路を提供
することに関する。各ビットは第1の論理レベルかまた
は第2の論理レベルである。集積メモリ回路は複数のメ
モリセルを有し、メモリセルの各々は1ビットの情報を
記憶するために用いられる。集積メモリ回路は、入力デ
ータパターンのビットの数に従ってメモリセルをプログ
ラムするためのプログラムモードを決定するためのプロ
グラムモード決定回路と、プログラムモード決定回路に
作動的に結合され、プログラムモードに従ってメモリセ
ルをプログラムするためのプログラム回路とを含む。
【0014】プログラムモード決定回路は、プログラム
される必要のあるメモリセルの総数を決定するためのメ
モリセル決定回路と、もしプログラムされる必要のある
メモリセルの総数が0よりも大きいがしきい値数Nより
も小さいかまたは等しければ第1のプログラムモード制
御信号を与え、もしプログラムされる必要のあるメモリ
セルの総数がしきい値数Nよりも大きければ第2のプロ
グラムモード制御信号を与え、もしプログラムされる必
要のあるメモリセルの総数が0に等しければ第3のプロ
グラムモード制御信号を与えるための、制御回路とを含
む。
【0015】このプログラム方法または回路設計によ
り、高密度の集積メモリ回路は、集積回路上に形成され
たドレインポンプの数および/またはサイズを増大させ
る必要がなく、したがって集積回路のサイズを最小に維
持して、効率的にプログラムすることができる。この方
法またはシステムにより、追加されるハードウェア量は
最小であり、メモリ回路のプログラム時間には容易に影
響しない。
【0016】
【詳細な説明】この発明は、集積回路上に形成されたド
レインポンプの数またはサイズを不適当にも増大させる
ことなく、高密度のメモリセルをプログラムするための
方法および集積メモリ回路に関する。以下の説明は、特
定のアプリケーションおよびその要求の文脈において与
えられるように、当業者がこの発明を実現および利用で
きるように提示されるものである。好ましい実施例に対
する様々な修正は、当業者には容易に明らかになるであ
ろうし、またこの実施例に伴う一般的な原則は、その他
の実施例に応用してもよい。したがって、この発明は示
された実施例に限定することを意図するものでなく、こ
の明細書中で開示された原則および新規の特徴に一致す
る範囲を与えられるものである。
【0017】図1は、この発明に従って構成された集積
メモリ回路100を図示する。集積メモリ回路100
は、16ビットの情報を有する入力データパターンDQ
n (DQ0 ないしDQ15)に応答する。各ビットは第1
の論理レベルまたは第2の論理レベルである。図示のた
めに、第1の論理レベルは論理0と仮定され、第2の論
理レベルは論理1と仮定される。入力データパターンD
n は、0番目から7番目のビットを表わす下位バイト
DQna(DQ0aないしDQ7a)、および8番目から15
番目のビットを表わす上位バイトDQnb(DQ8bないし
DQ15b )の、2つのバイトに分離される。集積メモリ
回路100は、プログラム可能なメモリセルのマトリッ
クスを含む。各メモリセルは1ビットの情報を記憶する
ために用いられる。メモリセルのマトリックスは複数の
ブロックで構成され、各ブロックは2つのグループのメ
モリセルを含み、各グループは8つのメモリセルを含
む。1ワードが16ビットの256Kワードとして構成
された4MビットのフラッシュEPROMの場合、各ワ
ードは1つのブロックに相当し、すなわち256Kブロ
ックとなる。各ブロックはさらに、1グループが8ビッ
トである2つのグループに分割される。各ビットは1つ
のメモリセルにより表わされる。図示のため、図1では
1メモリセルブロック110のみを示す。メモリセルブ
ロック110は、2つのグループのメモリセル110a
および110bを含む。メモリセルグループ110aお
よび110bは各々8つのメモリセルを含む。
【0018】この実施例の目的に対し、メモリセルが消
去されるとき、論理1であろう。メモリセルがプログラ
ムされるときは、論理0であろう。
【0019】集積メモリ回路100はさらに、入力デー
タパターンDQn のビットの数に従いブロック110を
プログラムするためのプログラムモードを決定するため
のプログラムモード決定回路112と、プログラムモー
ド決定回路112に作動的に結合され、それぞれのプロ
グラムモードに従ってブロック110をプログラムする
ためのプログラム回路113とを含む。この実施例で
は、プログラムモード決定の目的のために選択された入
力データパターンDQn のビットの数は8であり、集積
メモリ回路上にある典型的なドレインポンプがプログラ
ムの間同時に供給することができるメモリセルの数であ
る。
【0020】プログラムモード決定回路112は、ブロ
ック110においてプログラムされる必要のあるメモリ
セルの総数を決定するためのメモリセル決定回路114
と、メモリセル決定回路114に作動的に結合され、も
しブロック110においてプログラムされる必要のある
メモリセルの総数が0よりも大きいが8よりも小さいか
または等しければ第1のプログラムモード制御信号を与
え、もしブロック110におけるプログラムされる必要
のあるメモリセルの総数が8よりも大きければ第2のプ
ログラムモード制御信号を与え、もしブロック110に
おいてプログラムされる必要のあるメモリセルの総数が
0に等しければ第3のプログラムモード制御信号を与え
るための、制御回路116とを含む。
【0021】メモリセル決定回路114は、第1の比較
回路118、第2の比較回路120、および総和回路1
22を含む。
【0022】第1の比較回路118は、ブロック110
にアドレス指定された入力データパターンDQn の各ビ
ットの論理レベルを、ブロック110における各メモリ
セルの論理レベルと比較するために用いられる。
【0023】第2の比較回路120は、入力データパタ
ーンDQn の各ビットの論理レベルを、メモリセル11
0aおよび110bに記憶された対応する各ビットの論
理レベルと比較し、修正された入力データパターンDI
na(DIM0aないしDIM 7a)およびDIMnb(DI
8bないしDIM15b )を与えるために用いられる。メ
モリセル110a(または110b)の1ビットおよび
入力データパターンDQna(またはDQnb)の対応する
ビットが両方とも論理1のとき、修正された入力データ
パターンDIMna(またはDIMnb)の対応するビット
は論理1であろう。このことは、そのビットに対しプロ
グラムは必要ないことを示す。
【0024】メモリセル110a(または110b)の
1ビットおよび入力データパターンDQna(またはDQ
nb)の対応するビットが両方とも論理0のとき、修正さ
れた入力データパターンDIMna(またはDIMnb)の
対応するビットは論理1であろう。このことは再び、そ
のビットに対しプログラムは必要ないことを示す。
【0025】メモリセル110a(または110b)の
1ビットが論理1であり、入力データパターンDQ
na(またはDQnb)の対応するビットが論理0であると
き、修正された入力データパターンDIMna(またはD
IMnb)の対応するビットは論理0であろう。このこと
はそのビットに対しプログラムが必要であることを示
す。
【0026】入力データパターンDQnaおよびDQ
nbは、第2の比較器120に与えられる。第2の比較器
120はしたがって、データパターンDInaおよびDI
naを発生する。DInaはDQnaと等しく、この実施例
では入力データパターンとして示されるだろう。DIM
naは、上記のように修正された入力データパターンであ
る。第2の比較器120はまた、データパターンDInb
およびDIMnbを与える。同様に、DInbはDQnbと等
しく、この実施例では入力データパターンとして表わさ
れる。DIMnbは、上記のように修正された入力データ
パターンである。DInaは、ライン124aを通して第
1の比較回路118に結合される。DInaまたはDIM
naは、第2の比較器120内の選択スイッチ126aを
介してライン128aにより総和回路122に選択的に
結合される。同様に、DInbは、ライン124bを通し
て第1の比較回路118に結合され、DInbまたはDI
nbはライン128b上のスイッチ126bにより総和
回路122に選択的に結合される。
【0027】総和回路122は、デジタル加算回路また
はアナログ加算回路により実現できる。典型的なデジタ
ル加算回路は、複数のデジタル半加算器およびデジタル
全加算器を含み、入力データパターンDInaおよびDI
nb、または修正された入力データパターンDIMnaおよ
びDIMnbの論理0であるビットの総和を求めることに
より、論理加算を提供する。この実施例では、7つのデ
ジタル半加算器および19のデジタル全加算器が用いら
れて論理加算を達成する。デジタル加算回路の実現につ
いての議論は、ジョン ウエムラによる、1992年
の、「CMOSVLSIに対する回路設計(Circuit De
sign for CMOS VLSI)」と題される本の、322ないし
328頁において発見されるだろう。
【0028】対照的に、典型的なアナログ加算回路は、
複数のトランジスタを通る電流の総和を求める。
【0029】この実施例では、ここでのアナログ加算回
路の実現は、デジタル加算回路よりも集積メモリ回路上
で占める領域が小さいことが判っているため、アナログ
加算回路が好ましい。
【0030】総和回路122は、プログラムされる必要
のあるメモリセル110aおよび110bのビットの総
数を、入力データパターンDQnaおよびDQnb、または
ブロック110にアドレス指定された対応する修正され
た入力データパターンDIM naおよびDIMnbの論理0
のビットの数の総和を選択的に求めることにより計算
し、次に出力信号X16PGMを発生する。X16PG
M信号は、プログラムされる必要のあるメモリセルの数
が0よりも大きいが8よりも小さいかまたは等しいとき
論理1であり、プログラムされる必要のあるメモリセル
の総数が8よりも大きいとき論理0であろう。信号X1
6PGMは、ライン130で制御回路116に結合す
る。
【0031】第1の比較回路118は、信号LBMAT
CHPおよびHBMATCHPを、それぞれライン13
2aおよび132bを通して制御回路116に出力す
る。制御回路116は、信号LBPGMおよび信号HB
PGMを、それぞれライン134aおよび134bを通
して第2の比較回路120に与える。制御回路116
は、メモリセル110aおよび110bの内容が入力デ
ータパターンDQn の内容と一致するとき、MATCH
信号を与える。
【0032】プログラム回路113はドレインポンプ1
36に結合する。ドレインポンプ136は、典型的には
5ボルトである電源VCCに結合される。メモリセル1
10aおよび110bはそれぞれ、複数のデコーダ13
8aおよび138bに結合する。デコーダ138aおよ
び138bはそれぞれ、ライン140aおよび140b
を介してプログラム回路113に結合する。デコーダ1
38aは、第1の複数のセンスアンプ142aを通して
メモリセル110aを第1の比較回路118に結合す
る。同様に、デコーダ138bは、第2の複数のセンス
アンプ142bを通してメモリセル110bを第1の比
較回路118に結合する。センスアンプ142aおよび
142bはそれぞれ、データパターンDSInaおよびD
SInbを与える。データパターンDSInaおよびDSI
nbはそれぞれ、メモリセル110aおよび110bの内
容を表わす。データパターンDSInaおよびDSInb
それぞれ、ライン144aおよび144bで第2の比較
回路120に結合されている。
【0033】集積メモリ回路100のプログラムは、3
つの動作、すなわちプログラム前の検証動作、プログラ
ム動作、およびプログラム後の検証動作を含む。プログ
ラム前の検証動作の直前には、メモリセル110aおよ
び110bは完全に消去されていると仮定される、すな
わちすべて論理1である。
【0034】図2を参照して、図2は総和回路122を
実現するために用いられるアナログ加算回路の詳細な回
路図である。総和回路122は、差動比較回路の原理を
用いて電流総和を与える。総和回路122は、並列に結
合された複数のトランジスタ210、212、214、
216、218、220、222、224、226、2
28、230、232、234、236、238および
240を含む。複数のトランジスタ210、212、2
14、216、218、220、222、224、22
6、228、230、232、234、236、238
および240のドレイン端子は、ノード244およびド
ライバ/バッファ回路241に結合される。複数のトラ
ンジスタ210、212、214、216、218、2
20、222および224の各々のゲート端子はそれぞ
れ、入力データパターンDInaまたは修正された入力デ
ータパターンDIMnaのビット0、1、2、3、4、
5、6および7に結合される。同様に、複数のトランジ
スタ226、228、230、232、234、23
6、238、および240の各々のゲート端子はそれぞ
れ、入力データパターンDInbまたは修正された入力デ
ータパターンDIMnbのビット8、9、10、11、1
2、13、14および15に結合される。複数のトラン
ジスタ210、212、214、216、218、22
0、222、224、226、228、230、23
2、234、236、238および240の各々のソー
ス端子は、電流源トランジスタ247のドレイン端子に
結合される。電流源トランジスタ247は、電圧VBI
ASに結合されたゲート端子および電源電圧VCCに結
合されたソース端子を有する。電流源トランジスタ24
7は、総和回路122に対する定電流源として作用す
る。
【0035】複数のトランジスタの各々は、そのゲート
に結合された対応するビットが論理0のとき、導通状態
となって該トランジスタに電流を通す。導通状態とされ
ているトランジスタの総数次第である、複数のトランジ
スタを通る電流の総量はしたがって、点244で総和が
とられる。次に、電流の総量による対応する総電圧降下
は、基準電圧発生器246により発生される基準電圧V
1と比較され、出力信号248がノード244およびド
ライバ/バッファ回路241を介して与えられる。この
実施例では、基準電圧V1は、入力データパターンDI
naおよびDInb(または修正された入力データパターン
DIMnaおよびDIMnb)の論理0のビットの総数が、
8よりも大きいとき、および8よりも小さいかまたは等
しいとき、それぞれ論理0および論理1となるように選
択される。
【0036】図3を参照して、ここでは図1に示される
集積メモリ回路100のプログラム前の検証動作が示さ
れる。最初にステップ310を介して、プログラムアド
レスおよび入力データパターンDQnaおよびDQnbが、
第2の比較器120に与えられる。DQnaおよびDQnb
は、第2の比較回路120によりラッチされ、それぞれ
信号DInaおよびDInbを与える。ステップ312を介
して、第1の比較回路118は、入力データパターンD
naおよびDInbをそれぞれメモリセル110aおよび
110bの内容と比較し、次に出力LBMATCHP信
号およびHBMATCHP信号をそれぞれ出力する。L
BMATCHPは、入力データパターンDQnaの対応す
るビットと整合しない少なくとも1つのビットがメモリ
セル110aにあるときはいつでも論理0であり、そう
でなければ、LBMATCHPは論理1であろう。同様
に、HBMATCHPは、入力データパターンDQnb
対応するビットに整合しない少なくとも1つのビットが
メモリセル110bにあるときはいつでも論理0であ
り、そうでなければ、HBMATCHPは論理1であろ
う。
【0037】次に、ステップ314を介して、メモリセ
ル110aおよび110bの内容が入力データパターン
DQnaおよびDQnbの対応するビットに整合するかどう
か決定されねばならない。もしメモリセル110aおよ
び110b内のビットの各々が、入力データパターンD
naおよびDQnbの対応するビットに整合すれば、信号
LBMATCHPおよびHBMATCHPは両方とも論
理1であろう。応答して、ステップ316を介して、プ
ログラムは必要ないことを示す論理1であるMATCH
信号が、制御回路116により与えられるだろう。MA
TCH信号が論理1のとき、この信号はまた第3のプロ
グラムモード制御信号として知られている。メモリセル
110aまたは110bの内容が、入力データパターン
DQnaまたはDQnbと整合しない場合、ステップ318
を介して、プログラムされる必要のあるビットの総数が
決定されねばならない。総和回路は、論理0である入力
データパターンDQnaおよびDQnbのビットの数の総和
を求め、信号X16PGMを発生する。入力データパタ
ーンDQnaまたはDQnbのビットが論理0のとき、メモ
リセル110aまたは110b内の対応するビットのプ
ログラムが必要とされることを示す、というのもメモリ
セル110aおよび110b内のすべてのビットは消去
されている、すなわちプログラム前の検証動作の直前に
はすべて論理1であったと仮定されるからである。
【0038】次に、ステップ320を介して、プログラ
ムされる必要があるビットの総数が8よりも大きいかど
うか決定されねばならない。もし論理0であるX16P
GMにより示されるように、プログラムされる必要のあ
るビットの総数が8よりも大きければ、ステップ322
を介して下位バイトまたは2サイクルのプログラムが実
行される。プログラムされる必要のあるビットの総数が
0よりも大きいが8よりも小さいかまたは等しい場合、
ステップ324を介してワードのプログラムが実行され
ねばならない。この場合、1サイクルのプログラムを用
いて、上位バイトおよび下位バイトの両方が同時にプロ
グラムされるだろう。
【0039】図4を参照して、この図で示されるのは、
先に図1に図示されたこの発明に従う2サイクルまたは
下位バイトのプログラム動作を示すフローチャートであ
る。プログラム前の検証動作により、プログラムされる
必要のあるビットの総数が8よりも大きいことが決定さ
れた後、ステップ410を介して、制御信号116は、
論理1であるLBPGM信号、および論理0であるHB
PGM信号を与えるだろう。次に、LBPGM信号およ
びHBPGM信号は両方とも、それぞれライン134a
および134bを通して第2の比較回路120にフィー
ドバックされている。論理1であるLBPGM信号に応
答して、第2の比較回路120はプログラム回路113
をトリガし、そうしてステップ412を介してドレイン
ポンプ136をメモリセル110aに結合する。HBP
GM信号が論理0のとき、第2の比較器120は、プロ
グラム回路113をトリガしてドレインポンプ136を
メモリセル110bに結合することはないだろう。した
がって、メモリセル110aのみがプログラムされるだ
ろう。次にドレインポンプ136は一定の時間、たとえ
ば15マイクロ秒の間作動状態とされ、メモリセル11
0aの十分なプログラムを可能にする。プログラムする
ための時間の長さは、ソフトウェアまたはハードウェア
を通して(たとえばタイマを用いて)決定される。次
に、ステップ414を介して、プログラムのために設定
された時間が経過した後、LBPGM信号は論理1から
論理0にスイッチされ、プログラム回路113がドレイ
ンポンプ136をメモリセル110aから切離すことを
可能にしてプログラムは停止できる。その後、ステップ
416を介して、プログラム後の検証動作が実行される
が、このことについては図6でさらに説明される。
【0040】図5を参照して、16ビットが同時にプロ
グラムされる、1サイクルまたはワードのプログラムに
対するフローチャートが示される。プログラムされる必
要のあるビットの数が8よりも小さいとき、ドレインポ
ンプ136は、すべての16ビットに同時に結合して必
要な電流を供給することができる、というのもプログラ
ムを必要とするこれらのビット(論理0のビット)のみ
が電流を引抜くからである。この場合、ステップ440
を介して、制御信号116は、論理1であるLBPGM
およびHBPGM信号を与えるだろう。次に、ステップ
442を介して、第2の比較回路120はプログラム回
路113をトリガしてドレインポンプ136をメモリセ
ル110aおよび110bの両方に結合し、そのためメ
モリセル110aおよび110bの両方が同時にプログ
ラムされることができる。
【0041】再び、メモリセル110aおよび110b
のプログラムが、ソフトウェアまたはハードウェアを通
して(たとえばタイマを用いることにより)決定できる
一定の時間の間続くだろう。所望の時間が経過した後、
ステップ444を介し、次にLBPGMおよびHBPG
M信号が論理0にリセットされ、プログラム回路113
がドレインポンプ136をメモリセル110aおよび1
10bから切離すことを可能にすることにより、プログ
ラムは停止できる。その後、プログラム後の検証動作4
16が実行されるが、このことについてはさらに図6で
説明される。
【0042】図6を参照して、ここで示されるのは、図
1に図示された集積メモリ回路100のプログラム後の
検証動作である。始めに、第2の比較器120は、ステ
ップ510を介して、修正された入力データパターンD
IMnaおよびDIMnbを与える。
【0043】前記のように、プログラム前の検証動作の
直前に、メモリセル110aおよび110bは完全に消
去されている、すなわちすべて論理1であると仮定され
る。プログラム前の検証およびプログラム動作の後、な
おもプログラムされる必要のあるビットの数が決定され
ねばならない。メモリセル110a(または110b)
の対応する各ビットと、入力データパターンDQnaとの
間の比較が行なわれて、DIMna(またはDIMnb)を
与える。先に説明したように、もし入力データパターン
DQna(またはDQnb)およびメモリセル110a(ま
たは110b)内の、DSIna(またはDSInb)で表
わされる対応するビットが両方とも論理0であればDI
na(またはDIMnb)内の対応するビットは論理1と
なることを除いて、DIMna(またはDIMnb)は、入
力データパターンDQna(またはDQnb)に等しい情報
のビットを有する。DIMna(またはDIMnb)が論理
1のとき、そのビットに対してさらにプログラムは必要
でないことを示す。メモリセル110a(または110
b)のビットが論理1であり、入力データパターンDQ
na(またはDQnb)の対応するビットが論理0のとき、
修正された入力データパターンDIMna(またはDIM
nb)の対応するビットは論理0であろう。このことはそ
のビットに対しプログラムが必要とされることを示す。
したがって、プログラム前の検証およびプログラム動作
の後、プログラムされる必要のあるメモリセルの数は、
論理0である修正された入力データパターンDIMna
よびDIMnbのビットの数の総和を求めることにより決
定できる。
【0044】次に、ステップ512を介し、メモリセル
110aおよび110b内のすべてのビットが入力デー
タパターンDQnaおよびDQnbと一致するかどうか決定
されねばならない。もし一致すれば、ステップ514を
介して、制御回路116は、論理1であるMATCH信
号により表わされる第3のプログラムモード制御信号を
出力するだろう。この場合、さらなるプログラムは必要
ではない。もしステップ512が、DSInaまたはDS
nbで表わされるいくつかのメモリセルの内容が入力デ
ータパターンDQnaまたはDQnbの対応するビットと一
致しないと決定した場合、プログラムされる必要のある
ビットの総数が決定されねばならない。ステップ516
を介して、総和回路122は、論理0である修正された
入力データパターンDIMnaおよびDIMnbのビットの
数の総和を求めることにより、なおもプログラムされる
必要のあるビットの数を計算する。その後、ステップ5
18を介して、プログラムされるビットの総数が8より
も大きいかどうか決定されねばならない。もし、プログ
ラムされるビットの総数が8よりも大きいと決定されれ
ば、図4のフローチャートで図示されたものと同様のス
テップ520を介して、下位バイトのプログラムが実行
できる。他方、もしプログラムされるビットの総数が0
よりも大きいが8よりも小さいかまたは等しければ、図
5のフローチャートで図示されたものと同様のステップ
522を介して、ワードのプログラムが実行できる。
【0045】プログラムおよびプログラム後の検証動作
は、メモリセル110aおよび110b内の各ビット
が、入力データパターンDQn のビットと一致すること
が決定されるまで、繰返すことができる。この場合、メ
モリセル110aおよび110bは、入力データパター
ンDQn に従ってプログラムされたと言える。
【0046】正常動作の間のランダムな入力データパタ
ーンを用いた場合、メモリセル110aおよび110b
のすべての16ビットがプログラムされる必要があるわ
けではないことが多い。したがって、メモリセル110
aおよび110bは、2サイクルのプログラムが必要と
される前に、1サイクルのプログラムが何度も行なわれ
てもよい。したがって、この発明に関連するプログラム
時間は、ドレインポンプの数または容量を不適当にも倍
加することにより常に一度に16ビットすべてをプログ
ラムする回路のプログラム時間よりも、容易には長くは
ならない。
【0047】したがって、この発明により、複数のメモ
リセルを有する集積メモリ回路は、入力データパターン
のビット数に従いメモリセルをプログラムするためのプ
ログラムモードを与え、次にそうして与えられたプログ
ラムモードに従いメモリセルをプログラムすることによ
り、効率的にプログラムできる。こうして、このような
メモリ回路上に形成されたドレインポンプの数または電
流容量を不適当にも増大することを避け、したがって設
計の複雑さを低減し、メモリ回路のサイズを最小とす
る。
【0048】上記の実施例は単に、この発明の原則のア
プリケーションを表わすことができる特定の可能な実施
例を示すものであることが理解されるべきである。たと
えば、1サイクルのプログラムにおいてプログラムされ
るビットの数は、4といったその他の値にも調整でき
る。同様に、プログラム動作のためのサイクルの総数
は、たとえば集積メモリ回路の密度に従って、必要に応
じて変化させることができる。たとえば、1ブロックが
32ビットの100万ブロックに組織された32Mビッ
トのフラッシュEPROMは、1サイクル、2サイク
ル、3サイクルおよび4サイクルのプログラムを用いて
プログラムしてもよい。この場合、8ビットを同時にプ
ログラムする電流容量を有する従来のドレインポンプが
用いられてもよい。
【0049】この発明は、この実施例において説明さ
れ、図面により示されるが、実施例には変形の可能性が
あり、これら変形はこの発明の範囲内であることを、当
業者は認識する。したがって、前掲の特許請求の範囲の
精神および範囲から逸脱することなく、多くの修正が当
業者により行なわれるであろう。
【図面の簡単な説明】
【図1】この発明に従い構成された集積メモリ回路の簡
略ブロック図である。
【図2】図1の総和回路を実現するために用いられるア
ナログ加算回路の概略回路図である。
【図3】この発明に従う、プログラム前の検証動作を表
わすフローチャートの図である。
【図4】2サイクルまたは下位バイトのプログラム動作
を示すフローチャートの図である。
【図5】1サイクルまたはワードのプログラム動作を示
すフローチャートの図である。
【図6】プログラム後の検証動作を示すフローチャート
の図である。
【符号の説明】
110 メモリセル 113 プログラム回路 116 制御回路 122 総和回路 136 ドレインポンプ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョージ・チャン アメリカ合衆国、95014 カリフォルニア 州、クパーティノ、トゥーラ・レーン、 10411 (72)発明者 パール・チェン アメリカ合衆国、94024 カリフォルニア 州、ロス・アルトス、ナッシュ・ロード、 846

Claims (35)

    【特許請求の範囲】
  1. 【請求項1】 複数ビットの情報を有する入力データパ
    ターンに応答して複数のメモリセルをプログラムするた
    めの方法であって、各ビットは第1の論理レベルまたは
    第2の論理レベルのいずれかであり、メモリセルの各々
    は1ビットの情報を記憶するためのものであり、 (a) 入力データパターンのビットの数に従ってメモ
    リセルをプログラムするためのプログラムモードを与え
    るステップと、 (b) 前記プログラムモードに従ってメモリセルをプ
    ログラムするステップとを含む、複数のメモリセルをプ
    ログラムするための方法。
  2. 【請求項2】 前記プログラムモードを与えるステップ
    は、 (a) プログラムされる必要のあるメモリセルの総数
    を決定するステップと、 (b) もしプログラムされる必要のあるメモリセルの
    総数が0よりも大きくかつしきい値数Nよりも小さいか
    または等しければ第1のプログラムモード制御信号を与
    え、もしプログラムされる必要のあるメモリセルの総数
    が前記しきい値数Nよりも大きければ第2のプログラム
    モード制御信号を与え、もしプログラムされる必要のあ
    るメモリセルの総数が0に等しければ第3のプログラム
    モード制御信号を与えるステップとを含む、請求項1に
    記載の方法。
  3. 【請求項3】 プログラムされる必要のあるメモリセル
    の総数を決定する前記ステップは、 (a) 入力データパターンの各ビットの論理レベル
    を、メモリセルに記憶された対応する各ビットの論理レ
    ベルと比較するステップと、 (b) プログラムされる必要のあるメモリセルの総数
    を、第1の論理レベルにある入力データパターンのビッ
    トの数の総和を求めることにより計算するステップとを
    含む、請求項2に記載の方法。
  4. 【請求項4】 前記総和を求めるステップは、第1の論
    理レベルにある入力データパターンのビットの数を論理
    的に加算するステップを含む、請求項3に記載の方法。
  5. 【請求項5】 前記総和を求めるステップは、入力デー
    タパターンの複数のビットに作動的に結合されたトラン
    ジスタ回路を通る電流を加算するステップを含む、請求
    項3に記載の方法。
  6. 【請求項6】 前記プログラムするステップは、 (a) 前記第1のプログラムモード制御信号に応答し
    て、複数のメモリセルを同時にプログラムするステップ
    と、 (b) 前記第2のプログラムモード制御信号に応答し
    て、複数のメモリセルの前半分、次に複数のメモリセル
    の後半分を順次的にプログラムするステップと、 (c) もし前記第3のプログラムモード制御信号が与
    えられれば、どのメモリセルもプログラムしないステッ
    プとを含む、請求項2に記載の方法。
  7. 【請求項7】 前記しきい値数Nは、プログラムの間メ
    モリセルに電流を供給するように作動的にメモリセルに
    結合されたドレインポンプの電流の総容量により決定さ
    れる、請求項1に記載の方法。
  8. 【請求項8】 複数ビットの情報を有する複数の入力デ
    ータパターンに従って集積メモリ回路をプログラムする
    ことを制御するための方法であって、各ビットは第1の
    論理レベルまたは第2の論理レベルのいずれかであり、
    集積メモリ回路はプログラム可能なメモリセルのマトリ
    ックスを有し、各メモリセルは1ビットの情報を記憶す
    るためのものであり、メモリセルのマトリックスは複数
    のブロックで構成され、各ブロックは複数のグループを
    含み、各グループは複数のメモリセルを含み、 (a) 各ブロックにおいてプログラムされる必要のあ
    るメモリセルの総数を決定するステップを含み、この決
    定するステップは、(i) 各ブロックにアドレス指定
    された複数の入力データパターンのうち1つの各ビット
    の論理レベルを、各ブロックにおけるメモリセルに記憶
    された対応する各ビットの論理レベルと比較するステッ
    プと、(ii) 各ブロックにおけるプログラムされる必
    要のあるメモリセルの総数を、各ブロックにアドレス指
    定された第1の論理レベルにある複数の入力データパタ
    ーンのうち1つのビットの数の総和を求めることにより
    計算するステップとを含み、さらに、 (b) もしブロックにおいてプログラムされる必要の
    あるメモリセルの総数が0よりも大きいがしきい値数N
    よりも小さいかまたは等しければ第1のプログラムモー
    ド制御信号を与え、もしブロックにおいてプログラムさ
    れる必要のあるメモリセルの総数が前記しきい値数Nよ
    りも大きければ複数の第2のプログラムモード制御信号
    を与え、もしブロックにおいてプログラムされる必要の
    あるメモリセルの総数が0に等しければ第3のプログラ
    ムモード制御信号を与えるステップを含む、プログラム
    を制御する方法。
  9. 【請求項9】 もし前記第1のプログラムモード制御信
    号が与えられれば前記複数のグループのメモリセルを同
    時にプログラムし、もし前記複数の第2のプログラムモ
    ード制御信号のうち1つが与えられればnグループの倍
    単位で複数グループのメモリセルを1度にプログラム
    し、もし前記第3のプログラムモード制御信号が与えら
    れればメモリセルのいずれをもプログラムしないステッ
    プをさらに含む、請求項8に記載の方法。
  10. 【請求項10】 プログラム後の検証動作をさらに含
    み、前記プログラム後の検証動作は、 (a) 各ブロックにおいてプログラムされる必要のあ
    るメモリセルの総数を決定するステップを含み、前記決
    定するステップは、(i) 各ブロックにアドレス指定
    された複数の入力データパターンのうち1つの各ビット
    の論理レベルを、各ブロックにおけるメモリセルに記憶
    された対応する各ビットの論理レベルと比較するステッ
    プと、(ii) もし複数の入力データパターンおよびメ
    モリセル内の対応するビットが第1の論理レベルにあれ
    ば、第2の論理レベルにあることを除いて対応する複数
    の入力データパターンに等しい情報のビットを有する複
    数の修正された入力データパターンを与えるステップ
    と、(iii ) 各ブロックにおいてプログラムされる必
    要のあるメモリセルの総数を、各ブロックにアドレス指
    定された前記複数の修正された入力データパターンの各
    々の第1の論理レベルにあるビットの数の総和を求める
    ことにより計算するステップとを含み、プログラム後の
    検証動作はさらに、 (b) もしブロックにおいてプログラムされる必要の
    あるメモリセルの総数が0よりも大きいがしきい値数N
    よりも小さいかまたは等しければ前記第1のプログラム
    モード制御信号を与え、もしブロックにおいてプログラ
    ムされる必要のあるメモリセルの総数がしきい値数Nよ
    りも大きければ前記複数の第2のプログラムモード制御
    信号を与え、もしブロックにおいてプログラムされる必
    要のあるメモリセルの総数が0に等しければ前記第3の
    プログラムモード制御信号を与えるステップと、 (c) もし前記第1のプログラムモード制御信号が与
    えられれば複数のグループのメモリセルを同時にプログ
    ラムし、もし前記複数の第2のプログラムモード制御信
    号のうち1つが与えられればnグループの倍単位で複数
    グループのメモリセルを一度にプログラムし、もし前記
    第3のプログラムモード制御信号が与えられればメモリ
    セルのいずれをもプログラムしないステップと、 (d) 前記第3のプログラムモード制御信号が与えら
    れるまで、ステップ(a)から(c)を繰り返すステッ
    プとを含む、請求項9に記載の方法。
  11. 【請求項11】 前記しきい値数Nおよび前記nは、集
    積メモリ回路上に形成され、プログラムの間メモリセル
    に電流を供給するようにメモリセルに結合された複数の
    ドレインポンプの電流の総容量により決定される、請求
    項10に記載の方法。
  12. 【請求項12】 各ブロックにおいてプログラムされる
    必要のあるメモリセルの総数を計算する前記ステップ
    は、第1の論理レベルにある複数の入力データパターン
    のうち1つのビットの数を論理的に加算するステップを
    含む、請求項8に記載の方法。
  13. 【請求項13】 各ブロックにおいてプログラムされる
    必要のあるメモリセルの総数を計算する前記ステップ
    は、入力データパターンの複数のビットに作動的に結合
    されたトランジスタ回路を通る電流を加算するステップ
    を含む、請求項8に記載の方法。
  14. 【請求項14】 複数ビットの情報を有する複数の入力
    データパターンに従って集積メモリ回路をプログラムす
    ることを制御するための方法であって、各ビットは第1
    の論理レベルまたは第2の論理レベルのいずれかであ
    り、集積メモリ回路はプログラム可能なメモリセルのマ
    トリックスを有し、各メモリセルは1ビットの情報を記
    憶するためのものであり、メモリセルのマトリックスは
    複数のワードに組織され、各ワードは第1のグループお
    よび第2のグループを含み、各グループは8つのメモリ
    セルを含み、プログラムを制御する方法は、 (a) 各ワードにおいてプログラムされる必要のある
    メモリセルの総数を決定するステップを含み、決定する
    ステップは、(i) 各ワードにアドレス指定された複
    数の入力データパターンのうち1つの各ビットの論理レ
    ベルを、各ワードにおけるメモリセル内に記憶された対
    応する各ビットの論理レベルと比較するステップと、
    (ii) 各ワードにおいてプログラムされる必要のある
    メモリセルの総数を、前記各ワードにアドレス指定され
    た複数の入力データパターンのうち1つの第1の論理レ
    ベルにあるビットの数の総和を求めることにより計算す
    るステップとを含み、プログラムを制御する方法はさら
    に、 (b) もしワードにおいてプログラムされる必要のあ
    るメモリセルの総数が0よりも大きいが8よりも小さい
    か等しければ第1のプログラムモード制御信号を与え、
    もしワードにおいてプログラムされる必要のあるメモリ
    セルの総数が8よりも大きければ第2のプログラムモー
    ド制御信号を与え、もしワードにおいてプログラムされ
    る必要のあるメモリセルの総数が0に等しければ第3の
    プログラムモード制御信号を与えるステップを含む、プ
    ログラムを制御するための方法。
  15. 【請求項15】 もし前記第1のプログラムモード制御
    信号が与えられれば各ワードのメモリセルの前記第1の
    グループおよび前記第2のグループを同時にプログラム
    し、もし前記第2のプログラムモード制御信号が与えら
    れればメモリセルの第1のグループおよび第2のグルー
    プを順次的にプログラムし、もし前記第3のプログラム
    モード制御信号が与えられればメモリセルのいずれをも
    プログラムしないステップをさらに含む、請求項14に
    記載の方法。
  16. 【請求項16】 プログラム後の検証モードをさらに含
    み、前記プログラム後の検証モードは、 (a) 各ワードにおいてプログラムされる必要のある
    メモリセルの総数を決定するステップを含み、決定する
    ステップは、(i) 各ワードにアドレス指定された複
    数の入力データパターンのうち1つの各ビットの論理レ
    ベルを、各ワードにおけるメモリセル内に記憶された対
    応する各ビットの論理レベルと比較するステップと、
    (ii) もし複数の入力データパターンおよびメモリセ
    ル内の対応するビットが第1の論理レベルにあれば、第
    2の論理レベルにあることを除いて対応する複数の入力
    データパターンに等しい情報のビットを有する複数の修
    正された入力データパターンを与えるステップと、(ii
    i ) 各ワードにおいてプログラムされる必要のあるメ
    モリセルの総数を、前記各ワードにアドレス指定された
    前記複数の修正された入力データパターンの第1の論理
    レベルにあるビットの数の総和を求めることにより計算
    するステップとを含み、プログラム後の検証モードはさ
    らに、 (b) もしワードにおいてプログラムされる必要のあ
    るメモリセルの総数が0よりも大きいが8よりも小さい
    かまたは等しければ第1のプログラムモード制御信号を
    与え、もしワードにおいてプログラムされる必要のある
    メモリセルの総数が8よりも大きければ第2のプログラ
    ムモード制御信号を与え、もし前記ワードにおいてプロ
    グラムされる必要のあるメモリセルの総数が0に等しけ
    れば第3のプログラムモード制御信号を与えるステップ
    と、 (c) もし前記第1のプログラムモード制御信号が与
    えられればメモリセルの第1のグループおよび第2のグ
    ループを同時にプログラムし、もし前記第2のプログラ
    ムモード制御信号が与えられればメモリセルの前記第1
    のグループおよび前記第2のグループを順次的にプログ
    ラムし、もし第3のプログラムモード制御信号が与えら
    れればメモリセルのいずれをもプログラムしないステッ
    プと、 (d) 前記第3のプログラムモード制御信号が与えら
    れるまでステップ(a)から(c)を繰り返すステップ
    とを含む、請求項15に記載の方法。
  17. 【請求項17】 各ワードにおいてプログラムされる必
    要のあるメモリセルの総数を計算する前記ステップは、
    第1の論理レベルにある入力データパターンのビットの
    数を論理的に加算するステップを含む、請求項16に記
    載の方法。
  18. 【請求項18】 各ワードにおいてプログラムされる必
    要のあるメモリセルの総数を計算する前記ステップは、
    入力データパターンの複数のビットに、作動的に結合さ
    れたトランジスタ回路を通る電流を加算するステップを
    含む、請求項16に記載の方法。
  19. 【請求項19】 複数ビットの情報を有する入力データ
    パターンに応答する集積メモリ回路であって、各ビット
    は第1の論理レベルまたは第2の論理レベルのいずれか
    であり、集積メモリ回路は複数のメモリセルを有し、メ
    モリセルの各々は1ビットの情報を記憶するためのもの
    であり、 入力データパターンのビットの数に従ってメモリセルを
    プログラムするためのプログラムモードを決定するため
    のプログラムモード決定手段と、 前記プログラムモードに従ってメモリセルをプログラム
    するための前記プログラムモード決定手段に作動的に結
    合されたプログラム手段とを含む、集積メモリ回路。
  20. 【請求項20】 前記プログラムモード決定手段は、プ
    ログラムされる必要のあるメモリセルの総数を決定する
    ためのメモリセル決定手段と、 (i)もしプログラムされる必要のあるメモリセルの総
    数が0よりも大きいがしきい値数Nよりも小さいかまた
    は等しければ第1のプログラムモード制御信号と、(i
    i)もしブロックにおいてプログラムされる必要のある
    メモリセルの総数が前記しきい値数Nよりも大きければ
    第2のプログラムモード制御信号と、(iii )もしプロ
    グラムされる必要のあるメモリセルの総数が0に等しけ
    れば第3のプログラムモード制御信号とを与える制御手
    段とを含む、請求項19に記載の集積メモリ回路。
  21. 【請求項21】 前記メモリセル決定手段は、 入力データパターンの各ビットの論理レベルを、メモリ
    セルに記憶された対応する各ビットの論理レベルと比較
    するための第1の比較器手段と、 入力データパターンの各ビットの論理レベルを、メモリ
    セルに記憶された対応する各ビットの論理レベルと比較
    し、もし複数の入力データパターンおよびメモリセル内
    の対応するビットが第1の論理レベルにあれば第2の論
    理レベルにあることを除いて入力データパターンに等し
    い情報のビットを有する修正された入力データパターン
    を与えるための第2の比較器手段と、 前記第2の比較器手段に結合され、プログラムされる必
    要のあるメモリセルの総数を、入力データパターンまた
    は前記修正された入力データパターンの第1の論理レベ
    ルにあるビットの数の総和を選択的に求めることにより
    計算するための総和手段とを含む、請求項20に記載の
    集積メモリ回路。
  22. 【請求項22】 前記計算する手段は論理加算器を含
    む、請求項21に記載の集積メモリ回路。
  23. 【請求項23】 前記計算する手段はアナログ加算器を
    含む、請求項21に記載の集積メモリ回路。
  24. 【請求項24】 前記プログラム手段により前記複数の
    メモリセルに結合され、前記第1のプログラムモード制
    御信号に応答して複数のメモリセルを同時にプログラム
    し、前記第2のプログラムモード制御信号に応答して複
    数のメモリセルの前半分および複数のメモリセルの後半
    分を順次的にプログラムするための、ドレインポンプを
    さらに含む、請求項20に記載の集積メモリ回路。
  25. 【請求項25】 前記しきい値数Nは前記ドレインポン
    プの電流容量により決定される、請求項24に記載の集
    積メモリ回路。
  26. 【請求項26】 複数ビットの情報を有する複数の入力
    データパターンに応答する集積メモリ回路であって、各
    ビットは第1の論理レベルまたは第2の論理レベルのい
    ずれかであり、前記集積メモリ回路はプログラム可能な
    メモリセルのマトリックスを有し、各メモリセルは1ビ
    ットの情報を記憶するためのものであり、前記メモリセ
    ルのマトリックスは複数のブロックで構成され、各ブロ
    ックは複数のグループを含み、各グループは複数のメモ
    リセルを含み、集積メモリ回路はさらに、 各ブロックにアドレス指定された前記複数の入力データ
    パターンに応答して、各ブロックにおいてプログラムさ
    れる必要のあるメモリセルの総数に従って、メモリセル
    の各ブロックに対するプログラムモードを決定するため
    のプログラムモード決定回路を含み、前記プログラムモ
    ード決定回路は、 各ブロックにおいてプログラムされる必要のあるメモリ
    セルの総数を決定するためのメモリセル決定回路と、 前記メモリセル決定回路に結合され、 (i)もしブロックにおいてプログラムされる必要のあ
    るメモリセルの総数が0よりも大きいがしきい値数Nよ
    りも小さいかまたは等しければ第1のプログラムモード
    制御信号と、 (ii)もしブロックにおいてプログラムされる必要の
    あるメモリセルの総数が前記しきい値数Nよりも大きけ
    れば複数の第2のプログラムモード制御信号と、 (iii)もしブロックにおいてプログラムされる必要
    のあるメモリセルの総数が0に等しければ第3のプログ
    ラムモード制御信号とを与えるための制御回路とを含
    み、集積メモリ回路はさらに、 前記プログラムモード決定回路に結合され、各対応のプ
    ログラムモードに従って各ブロックをプログラムするた
    めのプログラム回路を含む、集積メモリ回路。
  27. 【請求項27】 前記メモリセル決定回路は、 各ブロックにアドレス指定された入力データパターンの
    各ビットの論理レベルを、各ブロックにおけるメモリセ
    ルの論理レベルと比較するための第1の比較回路と、 複数の入力データパターンのうち1つの各ビットの論理
    レベルを、メモリセルに記憶された対応する各ビットの
    論理レベルと比較し、もし複数の入力データパターンお
    よびメモリセル内の対応するビットが第1の論理レベル
    にあれば第2の論理レベルにあることを除いて前記複数
    の入力データパターンに等しい情報のビットを有する複
    数の修正された入力データパターンを与えるための、第
    2の比較回路と、 前記第2の比較回路に作動的に結合され、各ブロックに
    おけるプログラムされる必要のあるメモリセルの総数
    を、複数の入力データパターンのうち1つまたは前記各
    ブロックにアドレス指定された複数の前記修正された入
    力パターンのうち1つの第1の論理レベルにあるビット
    の数の総和を選択的に求めることにより計算するための
    総和回路とを含む、請求項26に記載の集積メモリ回
    路。
  28. 【請求項28】 前記総和回路は論理加算器を含む、請
    求項27に記載の集積メモリ回路。
  29. 【請求項29】 前記総和回路はアナログ加算器を含
    む、請求項27に記載の集積メモリ回路。
  30. 【請求項30】 前記プログラム回路により前記複数の
    グループのメモリセルに結合され、前記第1のプログラ
    ムモード制御信号に応答して前記複数のグループのメモ
    リセルを同時にプログラムし、前記第2の複数のプログ
    ラムモード制御信号に応答してnグループの倍単位で前
    記複数のグループのメモリセルを一度にプログラムする
    ための、複数のドレインポンプをさらに含む、請求項2
    7に記載の集積メモリ回路。
  31. 【請求項31】 前記nおよび前記しきい値数Nは、前
    記複数のドレインポンプの電流の総容量により決定され
    る、請求項30に記載の集積メモリ回路。
  32. 【請求項32】 複数ビットの情報を有する複数の入力
    データパターンに応答する集積メモリ回路であって、各
    ビットは第1の論理レベルまたは第2の論理レベルのい
    ずれかであり、集積メモリ回路はプログラム可能なメモ
    リセルのマトリックスを有し、各メモリセルは1ビット
    の情報を記憶するためのものであり、メモリセルの前記
    マトリックスは複数のブロックに組織され、各ブロック
    は2つのグループを含み、各グループは8つのメモリセ
    ルを含み、集積メモリ回路は、 各ブロックにアドレス指定された前記複数の入力データ
    パターンに応答して、各ブロックにおいてプログラムさ
    れる必要のあるメモリセルの総数に従ってメモリセルの
    各ブロックに対するプログラムモードを決定するための
    プログラムモード決定回路を含み、前記プログラムモー
    ド決定回路は、 各ブロックにおいてプログラムされる必要のあるメモリ
    セルの総数を決定するためのメモリセル決定回路を含
    み、前記メモリセル決定回路は、 各ブロックにアドレス指定された複数の入力データパタ
    ーンのうち1つの各ビットの論理レベルを、各ブロック
    におけるメモリセルの論理レベルと比較するための第1
    の比較回路と、 複数の入力データパターンのうち1つの各ビットの論理
    レベルを、メモリセルに記憶された対応する各ビットの
    論理レベルと比較し、もし複数の入力データパターンお
    よびメモリセル内の対応するビットが第1の論理レベル
    にあれば第2の論理レベルにあることを除いて、複数の
    入力データパターンに等しい情報のビットを有する複数
    の修正された入力データパターンを与えるための、第2
    の比較回路と、 前記第2の比較回路に作動的に結合され、各ブロックに
    おいてプログラムされる必要のあるメモリセルの総数
    を、複数の入力データパターンのうち1つ、または前記
    各ブロックにアドレス指定された前記複数の修正された
    入力データパターンのうち対応する1つの、第1の論理
    レベルにあるビットの数の総和を選択的に求めることに
    より、計算するための、総和回路とを含み、前記プログ
    ラムモード決定回路はさらに、 前記メモリセル決定回路に作動的に結合され、 (i)もしブロックにおいてプログラムされる必要のあ
    るメモリセルの総数が0よりも大きいがしきい値数8よ
    りも小さいかまたは等しければ第1のプログラムモード
    制御信号、(ii)もしブロックにおいてプログラムされ
    る必要のあるメモリセルの総数が8よりも大きければ第
    2のプログラムモード制御信号、および(iii )もしブ
    ロックにおいてプログラムされる必要のあるメモリセル
    の総数が0に等しければ第3のプログラムモード制御信
    号与えるための制御回路を含み、集積メモリ回路はさら
    に、 前記プログラムモード決定回路に作動的に結合され各対
    応のプログラムモードに従い、各ブロックをプログラム
    するためのプログラム回路を含む、集積メモリ回路。
  33. 【請求項33】 前記総和回路は論理加算器を含む、請
    求項32に記載の集積メモリ回路。
  34. 【請求項34】 前記総和回路はアナログ加算器を含
    む、請求項32に記載のメモリ回路。
  35. 【請求項35】 前記プログラム回路により前記2つの
    グループのメモリセルに結合され、前記第1のプログラ
    ムモード制御信号に応答して前記2つのグループのメモ
    リセルを同時にプログラムし、前記第2のプログラムモ
    ード制御信号に応答して前記2つのグループのメモリセ
    ルを順次的にプログラムするための、複数のドレインポ
    ンプをさらに含む、請求項32に記載の集積メモリ回
    路。
JP08668595A 1994-04-14 1995-04-12 メモリ集積回路およびそのメモリセルのプログラム方法 Expired - Lifetime JP3741744B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/227,755 US5530803A (en) 1994-04-14 1994-04-14 Method and apparatus for programming memory devices
US227755 1994-04-14

Publications (2)

Publication Number Publication Date
JPH0845290A true JPH0845290A (ja) 1996-02-16
JP3741744B2 JP3741744B2 (ja) 2006-02-01

Family

ID=22854328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08668595A Expired - Lifetime JP3741744B2 (ja) 1994-04-14 1995-04-12 メモリ集積回路およびそのメモリセルのプログラム方法

Country Status (7)

Country Link
US (1) US5530803A (ja)
EP (1) EP0677850B1 (ja)
JP (1) JP3741744B2 (ja)
KR (1) KR100357443B1 (ja)
AT (1) ATE201111T1 (ja)
DE (1) DE69520853T2 (ja)
TW (1) TW332292B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013524401A (ja) * 2010-04-12 2013-06-17 モサイド・テクノロジーズ・インコーポレーテッド 可変データ幅を使用してメモリをプログラムする方法

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787039A (en) * 1997-03-06 1998-07-28 Macronix International Co., Ltd. Low current floating gate programming with bit-by-bit verification
JP3156636B2 (ja) * 1997-05-30 2001-04-16 日本電気株式会社 不揮発性半導体記憶装置
US6928001B2 (en) * 2000-12-07 2005-08-09 Saifun Semiconductors Ltd. Programming and erasing methods for a non-volatile memory cell
US6584017B2 (en) 2001-04-05 2003-06-24 Saifun Semiconductors Ltd. Method for programming a reference cell
US6665769B2 (en) * 2001-04-05 2003-12-16 Saifun Semiconductors Ltd. Method and apparatus for dynamically masking an N-bit memory array having individually programmable cells
KR100393595B1 (ko) * 2001-08-27 2003-08-02 엘지전자 주식회사 메모리 프로그래밍 시스템 및 그 방법
US7190620B2 (en) * 2002-01-31 2007-03-13 Saifun Semiconductors Ltd. Method for operating a memory device
US6700818B2 (en) * 2002-01-31 2004-03-02 Saifun Semiconductors Ltd. Method for operating a memory device
US6917544B2 (en) 2002-07-10 2005-07-12 Saifun Semiconductors Ltd. Multiple use memory chip
US7136304B2 (en) 2002-10-29 2006-11-14 Saifun Semiconductor Ltd Method, system and circuit for programming a non-volatile memory array
US6967896B2 (en) * 2003-01-30 2005-11-22 Saifun Semiconductors Ltd Address scramble
US7178004B2 (en) 2003-01-31 2007-02-13 Yan Polansky Memory array programming circuit and a method for using the circuit
WO2005094178A2 (en) 2004-04-01 2005-10-13 Saifun Semiconductors Ltd. Method, circuit and systems for erasing one or more non-volatile memory cells
US7366025B2 (en) * 2004-06-10 2008-04-29 Saifun Semiconductors Ltd. Reduced power programming of non-volatile cells
US7638850B2 (en) 2004-10-14 2009-12-29 Saifun Semiconductors Ltd. Non-volatile memory structure and method of fabrication
US8053812B2 (en) 2005-03-17 2011-11-08 Spansion Israel Ltd Contact in planar NROM technology
US8400841B2 (en) 2005-06-15 2013-03-19 Spansion Israel Ltd. Device to program adjacent storage cells of different NROM cells
EP1746645A3 (en) 2005-07-18 2009-01-21 Saifun Semiconductors Ltd. Memory array with sub-minimum feature size word line spacing and method of fabrication
US7668017B2 (en) 2005-08-17 2010-02-23 Saifun Semiconductors Ltd. Method of erasing non-volatile memory cells
US7443732B2 (en) * 2005-09-20 2008-10-28 Spansion Llc High performance flash memory device capable of high density data storage
TWI308692B (en) 2005-10-26 2009-04-11 Sunplus Technology Co Ltd Programmable memory and accessing method of the same
US7808818B2 (en) 2006-01-12 2010-10-05 Saifun Semiconductors Ltd. Secondary injection for NROM
KR101333503B1 (ko) * 2006-02-03 2013-11-28 삼성전자주식회사 프로그램 셀의 수에 따라 프로그램 전압을 조절하는 반도체메모리 장치 및 그것의 프로그램 방법
US7760554B2 (en) 2006-02-21 2010-07-20 Saifun Semiconductors Ltd. NROM non-volatile memory and mode of operation
US8253452B2 (en) 2006-02-21 2012-08-28 Spansion Israel Ltd Circuit and method for powering up an integrated circuit and an integrated circuit utilizing same
US7692961B2 (en) 2006-02-21 2010-04-06 Saifun Semiconductors Ltd. Method, circuit and device for disturb-control of programming nonvolatile memory cells by hot-hole injection (HHI) and by channel hot-electron (CHE) injection
US7701779B2 (en) 2006-04-27 2010-04-20 Sajfun Semiconductors Ltd. Method for programming a reference cell
US7590001B2 (en) 2007-12-18 2009-09-15 Saifun Semiconductors Ltd. Flash memory with optimized write sector spares

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6151695A (ja) * 1984-08-22 1986-03-14 Hitachi Ltd 半導体集積回路装置
EP0195429A3 (en) * 1985-03-20 1989-03-22 Kabushiki Kaisha Toshiba Semiconductor memory device
JPS61292755A (ja) * 1985-06-20 1986-12-23 Fujitsu Ltd 半導体集積回路
US4763305A (en) * 1985-11-27 1988-08-09 Motorola, Inc. Intelligent write in an EEPROM with data and erase check
NL8600099A (nl) * 1986-01-20 1987-08-17 Philips Nv Niet-vluchtig, programmeerbaar halfgeleidergeheugen.
JPS63175300A (ja) * 1987-01-16 1988-07-19 Hitachi Ltd 半導体集積回路装置
JPH02195599A (ja) * 1989-01-24 1990-08-02 Ricoh Co Ltd 情報処理装置
JP2900523B2 (ja) * 1990-05-31 1999-06-02 日本電気株式会社 不揮発性半導体メモリ装置の書込回路
US5224103A (en) * 1990-07-16 1993-06-29 North American Philips Corporation Processing device and method of programming such a processing device
US5228000A (en) * 1990-08-02 1993-07-13 Mitsubishi Denki Kabushiki Kaisha Test circuit of semiconductor memory device
KR960002006B1 (ko) * 1991-03-12 1996-02-09 가부시끼가이샤 도시바 2개의 기준 레벨을 사용하는 기록 검증 제어기를 갖는 전기적으로 소거 가능하고 프로그램 가능한 불휘발성 메모리 장치
JPH06267283A (ja) * 1993-03-16 1994-09-22 Mitsubishi Electric Corp データ書き込み可能な読み出し専用メモリ及びそのデータ書き込み/読み出し方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013524401A (ja) * 2010-04-12 2013-06-17 モサイド・テクノロジーズ・インコーポレーテッド 可変データ幅を使用してメモリをプログラムする方法

Also Published As

Publication number Publication date
EP0677850B1 (en) 2001-05-09
DE69520853T2 (de) 2001-12-20
DE69520853D1 (de) 2001-06-13
EP0677850A3 (en) 1996-12-11
KR100357443B1 (ko) 2002-12-12
US5530803A (en) 1996-06-25
TW332292B (en) 1998-05-21
EP0677850A2 (en) 1995-10-18
KR950033835A (ko) 1995-12-26
JP3741744B2 (ja) 2006-02-01
ATE201111T1 (de) 2001-05-15

Similar Documents

Publication Publication Date Title
JPH0845290A (ja) メモリ集積回路およびそのメモリセルのプログラム方法
KR100433686B1 (ko) 메모리,메모리를위한프로그래밍방법및프로그램회로
US7890694B2 (en) Latched address multi-chunk write to EEPROM
US5796667A (en) Bit map addressing schemes for flash memory
JP4047375B2 (ja) フラッシュeepromメモリの逐次プログラミング
US5907700A (en) Controlling flash memory program and erase pulses
US5475634A (en) Floating gate memory array with latches having improved immunity to write disturbance, and with storage latches
US20070198770A1 (en) Memory system and memory card
JP2002124093A (ja) 不揮発性メモリ装置におけるデータの記憶及び読み出し方法
JP2000251484A (ja) 不揮発性半導体記憶装置
EP0459794A2 (en) Read only memory device
US7248503B2 (en) Semiconductor nonvolatile storage device
US6064603A (en) Non-volatile semiconductor storage device
EP0089364A4 (en) EEPROM WITH THE ABILITY TO FULL ZERO PROGRAMMING.
US6134149A (en) Method and apparatus for reducing high current during chip erase in flash memories
US7532510B2 (en) Flash memory device with sector access
US6160750A (en) Noise reduction during simultaneous operation of a flash memory device
JP4068247B2 (ja) プログラム動作を選択する不揮発性半導体メモリ装置
JPS63271798A (ja) 消去可能なプログラマブル論理装置
US6243291B1 (en) Two-stage pipeline sensing for page mode flash memory
US6091641A (en) Non-volatile memory device and method for the programming of the same
US6125056A (en) Fast program mode for non-volatile memory
US6118698A (en) Output multiplexing implementation for a simultaneous operation flash memory device
US6208558B1 (en) Acceleration circuit for fast programming and fast chip erase of non-volatile memory
JPH0528779A (ja) 不揮発性メモリ装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041214

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050311

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050608

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051011

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051109

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20081118

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20081118

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20091118

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091118

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101118

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111118

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121118

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121118

Year of fee payment: 7

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

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

Free format text: PAYMENT UNTIL: 20131118

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term