JP3887304B2 - ビットカウンタとこれを用いた半導体素子のプログラム回路及びプログラム方法 - Google Patents

ビットカウンタとこれを用いた半導体素子のプログラム回路及びプログラム方法 Download PDF

Info

Publication number
JP3887304B2
JP3887304B2 JP2002359163A JP2002359163A JP3887304B2 JP 3887304 B2 JP3887304 B2 JP 3887304B2 JP 2002359163 A JP2002359163 A JP 2002359163A JP 2002359163 A JP2002359163 A JP 2002359163A JP 3887304 B2 JP3887304 B2 JP 3887304B2
Authority
JP
Japan
Prior art keywords
program
program data
bits
clock
bit counter
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
JP2002359163A
Other languages
English (en)
Other versions
JP2004055107A (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.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor 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 Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of JP2004055107A publication Critical patent/JP2004055107A/ja
Application granted granted Critical
Publication of JP3887304B2 publication Critical patent/JP3887304B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • 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/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • G11C16/3413Circuits or methods to recover overprogrammed nonvolatile memory cells detected during program verification, usually by means of a "soft" erasing step
    • 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/12Programming voltage switching 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/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

Description

【0001】
【発明の属する技術分野】
本発明は、ビットカウンタとこれを用いた半導体素子のプログラム回路及びプログラム方法に係り、特に、プログラム動作時にプログラム動作時間を短縮させることが可能なビットカウンタと、これを用いたEEPROM(Electrically Erasable and Programmable Read Only Memory)系列を含む不揮発性メモリ素子のプログラム回路及びプログラム方法に関する。
【0002】
【従来の技術】
不揮発性メモリ素子の一種であるEEPROMのメモリセルでは、フローティングゲート電極(Floating gate electrode)に電子を蓄積してプログラムを行い、電子の存在有無によるしきい値電圧Vthの変化を検出してデータの読み出しを行っている。EEPROMとしては、メモリセルアレイ全体でデータの消去を行うか、或いはメモリセルアレイを任意のブロックに分けて各ブロック単位でデータ消去動作を行うフラッシュEEPROM(以下、「フラッシュメモリ素子」という)などがある。
【0003】
一般に、フラッシュメモリ素子のメモリセルは、その構造によってスタックゲート型(stack gate type)及びスプリットゲート型(split gate type)が提案されている。スタックゲート型メモリセルのプログラム動作は、プログラム段階と、プログラム検証段階に大別される。各段階におけるバイアスは一例として表1の通りである。
【0004】
【表1】
Figure 0003887304
【0005】
通常、プログラム動作は、フラッシュメモリ素子のメモリセルのしきい値電圧を目標値のしきい値電圧に上昇させる動作であって、プログラム段階とは、ホットキャリアの注入によってフローティングゲート電極内に電子を注入して該当メモリセルのしきい値電圧を上昇させる段階をいい、プログラム検証段階とは、プログラム段階の進行時、目標時のしきい値電圧までの変化量を感知して適正の水準でプログラム動作を停止させる段階をいう。
【0006】
次に、前記表1に基づいて、図6及び図7を参照してフラッシュメモリ素子のメモリセルのプログラム動作を説明する。ここで、図6はプログラム段階を説明するために示した断面図である。図7はプログラム検証段階を説明するために示した断面図である。一方、図6及び図7に示したスタック構造のゲート電極は、ゲート酸化膜608、フローティングゲート電極610、誘電体膜612及びコントロールゲート電極614を含み、半導体基板602はPウェル、ソース604及びドレイン606を含む。
【0007】
図6を参照すると、プログラム動作中、プログラム段階では、表1に示すように、コントロールゲート電極614には「9V」のゲート電圧を印加し、ドレイン606には「4V」のドレイン電圧を印加し、ソース604及びPウェルには「0V」(ground;GD)を印加する。これにより、矢印方向の如く、ソース604からドレイン606及びプローティングゲート電極610にホットキャリアが移動し、これによりプローティングゲート電極610内に電子が注入されてメモリセルのしきい値電圧が上昇する。
【0008】
図7を参照すると、図6において、プログラム段階によって、フローティングゲート電極610内に電子が注入される状態で、実時間にてメモリセルのしきい値電圧を感知し、しきい値電圧が目標値に到達すると、メインセル(MC)のコントロールゲート電極614には「6V」のゲート電圧を印加し、ドレインには「1V」のドレイン電圧を印加し、参照セル(reference cell;RC)のコントロールゲート電極614には「3V」のゲート電圧を印加し、ドレインには「1V」のドレイン電圧を印加してプログラム検証段階を行う。この際、プログラム検証段階はメインセルMCとセンスアンプ(sense amplifier)に接続される参照セルRCのバイアス条件によって変化することができる。
【0009】
このような全体プログラム動作は、全体メモリセルに対して全て行うために繰り返し行われるが、これを一例として図8のフローチャートに基づいて説明すると、次の通りである。例えば、全体メモリセルをワード単位(即ち、16ビット)でプログラム動作を行う。この場合には、優先的に、ワード単位に含まれる全ての該当メモリセルに対してプログラム段階とプログラム検証段階を行う(S810及びS820)。その後、ワード単位に含まれた該当メモリセルのうち、プログラム段階及びプログラム検証段階でフェールメモリセルが存在するかを検査する(S830)。もし段階「S830」でフェールセルが存在する場合には、フェールセルに限ってプログラム段階とプログラム検証段階を行う(S840及びS850)。このような動作は該当メモリセルが全てパスされるまで繰り返し行われる。
【0010】
一般に、ワード単位でプログラム動作を行う場合にはドレインからソースへ流れるプログラム電流が非常に大きいから、ドレインポンプの動作電流を減らし且つプログラム効率を増加させるために、内部的にバイト(byte)単位でプログラム動作を行う。すなわち、ワード単位プログラム動作の際、まずI/O(Input/Output)<7:0>(即ち、8ビット)に対してプログラム段階を行い、次いでI/O<15:8>(即ち、8ビット)に対してプログラム段階を行う。その後、I/O<15:0>(即ち、16ビット)に対して一度にプログラム検証段階を行い、フェール(fail)が発生する場合、前記動作を繰り返し行い、パス(pass)されると、プログラム動作を終了する。
【0011】
ところが、図9に示した全体メモリセルの分布図(フラッシュメモリ素子のライン別メモリセルの分布図)に示すように、プログラム動作時には、「A」部位(セルのしきい値電圧が4.5Vである地点)において、限界値(marginal)セル(即ち、パス基準のカットライン(cut line)に該当するセル)が存在するが、このような状態でプログラム検証段階を行う場合、バイアスのマージンによって限界値セルがパス、改めてフェールと判明される場合が発生する。
【0012】
上述したように、フェールが発生してプログラム動作が繰り返し行われる場合には、16個のセルの中にパスされたビットがあるとしても、常時8ビットずつ二度にわたってプログラムパルスが印加される。すなわち、プログラムタイムが5μsであるとすれば、常時「5×2=10μs」がフェールされる毎に反復されてプログラムタイムが整数倍で増加する。これは、プログラム動作時にバイアスを供給するポンピング回路の負担を誘発するだけでなく、全体プログラム動作時間を増加させる原因になる。また、予めプログラムされたセルに反復的にバイアスが印加されて過度プログラム(over program)が発生し、データの保存能力(retention)を低下させる問題をもたらす。
【0013】
【発明が解決しようとする課題】
したがって、本発明は、かかる従来の技術の問題点を解決するために創案されたもので、その目的は、プログラム動作時にプログラム動作時間を短縮させることが可能なビットカウンタを提供することにある。
【0014】
また、本発明の他の目的は、前記ビットカウンタを用いた半導体素子のプログラム回路を提供することにある。
【0015】
また、本発明のさらに他の目的は、前記ビットカウンタを用いた半導体素子のプログラム方法を提供することにある。
【0016】
【課題を解決するための手段】
上記目的を達成するために、本発明は、入力されるプログラムデータと対応し、前記プログラムデータのうちプログラムデータによってのみ同期され、互いに異なるクロック信号を発生するための複数のクロック発生部と、前記クロック信号が互いに重畳しないように、前記プログラムデータと対応し、前記プログラムデータが、それぞれ異なる大きさで遅延して前記クロック発生部に入力されるようにする複数の遅延部と、前記クロック発生部からの前記クロック信号に応じて同期され、同期時に入力データを順次シフトさせ、前記プログラムデータのうちプログラムするプログラムデータのビット数をカウントするカウンタと、を含むビットカウンタを提供する。
【0017】
また、本発明は、プログラムデータを伝送するI/O端子と、前記I/O端子から伝送されたプログラムデータのうちプログラムする前記プログラムデータのビット数をカウントする前記ビットカウンタと、前記ビットカウンタによってカウントされた前記ビット数に応じて、プログラム動作をワード単位またはバイト単位で選択的に行うステートマシーンとを含むプログラム回路を提供する。
【0018】
また、本発明では、前記プログラム回路を用いたプログラム方法において、プログラム動作を行うために、プログラムデータ及びアドレスをセットアップし、プログラムコマンドを入力する段階と、前記プログラム動作を行うために、プログラム電圧をポンプするポンピング区間内に前記プログラムデータのうちプログラムするプログラムデータのビット数をカウントする段階と、前記前段階でカウントされたビット数に応じて、前記プログラム動作をワード単位またはバイト単位で選択的に行う段階とを含むプログラム方法を提供する。
【0019】
【発明の実施の形態】
以下、添付図に基づいて本発明の好適な実施例を説明する。ところが、本発明は、下記の実施例に限定されるものではなく、様々に変形実現することができる。これらの実施例は本発明の開示を完全にし、当技術分野で通常の知識を有する者に本発明の範疇を完全に知らせるために提供されるものである。一方、添付図において、同一の符号は同一の要素を指し、重複した要素はその説明を省略する。
【0020】
図1は本発明の好適な実施例に係るビットカウンタ(bit counter circuit)を説明するためのブロック図であり、図2は図1に示したビットカウンタの詳細回路図である。
【0021】
図1及び図2を参照すると、本発明の好適な実施例に係るビットカウンタは、遅延部(delay unit)110、クロック発生部(clock generator unit)120、論理組合せ部(logic combination unit)130、及びカウンタ(counter)140を含む。一方、下記に説明するプログラムデータ信号D0〜D15<15:0>はI/O端子(図示せず)から伝送される。一般に、プログラムデータ信号の状態がロー状態(lowstate;「0」)の場合にはプログラムし、ハイ状態(high state;「1」)の場合にはプログラムしなくてもよい。
【0022】
前記遅延部110は、入力されるプログラムデータ信号D1〜D15と一対一対応するように多数の遅延部110a〜110o、例えば15個の遅延部110a〜110oを含む。これは、プログラムデータ信号D0は遅延させる必要がないので、プログラムデータ信号D1から遅延させるためである。各遅延部110a〜110oは、I/O端子から伝送されるプログラムデータ信号D1〜D15をそれぞれ入力とし、約「1」クロックずつ遅延させて出力する。これは、クロック発生部120に含まれた多数(例えば、16個)のクロック発生部120a〜120pからの各クロック信号CLK0〜CLK15が互いに重畳しないようにするためである。このために、遅延部110a〜110oは整数倍ずつ遅延した各遅延信号DELAY1〜DELAY15を出力する。例えば、遅延部110a〜110oの各遅延信号DELAY1〜DELAY15のクロックは表2の通りである。
【0023】
【表2】
Figure 0003887304
【0024】
前記クロック発生部120は、プログラムデータ信号D0〜D15と一対一対応するように多数のクロック発生部120a〜120pを含む。クロック発生部120a〜120pのうち、一番目のクロック発生部120aはプログラムデータ信号D0によって同期され、これ以外のクロック発生部120b〜120pは各遅延部110a〜110oから出力される遅延信号DELAY1〜DELAY15によって同期される。各クロック発生部120a〜120pは約「10ns」の周期を有するクロックを生成させ、プログラムデータ信号がロー状態の場合にのみ同期されてクロックを生成する。例えば、プログラムデータ信号D0〜D15の値が「0000」(即ち、0000、0000、0000、0000、0000)の場合に各クロック信号(CLK0〜CLK15)は図5の通りである。一方、図5には各クロック信号CLK0〜CLK15は前クロック信号(例えば、CLK0)の立ち下がりエッジに同期されて発生するように示されているが、実際には後続の論理組合せ部130での論理和のために、後続のクロック信号(例えば、CLK1)は前クロック信号の立ち下がりエッジに同期されず、一定の時間後に後続のクロック信号が発生する。
【0025】
前記論理組合せ部130は、ORゲートからなり、各クロック発生部120a〜120pから出力される各クロック信号CLK0〜CLK15を論理和し、カウンタ140を構成する各D−フリップフロップ(D-Flip/Flops; D-FF)D−FF0〜D−FF7を同期させるための同期クロック信号GCLKを出力する。ここで、論理組合せ部130はORゲートのみからなっているが、これは一例に過ぎず、クロック信号CLK0〜CLK15のいずれか一つのクロック信号がハイ状態で出力される場合、同期クロック信号GCLKを生成し得るように論理組合せを行うことが可能なANDゲート、NORゲート、NANDゲート及びインバータの組み合わせで構成することもできる。
【0026】
前記カウンタ140(以下、「プログラム動作制御部」という)は論理組合せ部130から出力される同期クロック信号GCLKによって同期され、シフタレジスタとして機能する多数のD−フリップフロップD−FF0〜D−FF7(例えば、互いに直列に接続される8個のD−フリップフロップ)を含む。これは、一般にプログラム動作を16ビットにする場合、16ビットを8ビットずつハイバイト(H−byte)とローバイトL−Byteに分離してプログラム動作を行うからである。プログラム動作制御部140は、同期クロック信号GCLKが発生する毎に、電源端子Vccから「D」端子に入力されるデータ(即ち、「1」)を順次移動(シフト)させる。これは表3の通りである。
【0027】
【表3】
Figure 0003887304
【0028】
前記表3を参照すると、同期クロック信号GCLKは、クロック発生部120a〜120pから出力される各クロック信号CLK0〜CLK15のいずれか一つがハイ状態(すなわち、パルスが発生する場合)の場合に発生する。これにより、各クロック信号CLK0〜CLK15のいずれか一つがハイ状態の場合にはハイ状態の同期クロック信号GCLKが発生し、各D−フリップフロップD−FF0〜D−FF7に入力される。これにより、各D−フリップフロップD−FF0〜D−FF7は同期クロック信号GCLKがハイ状態で発生する毎に同期され、順次「D」端子に入力されるデータ(即ち、「1」)を「D−FF0」から「D−FF7」に移動させて出力する。
【0029】
もし表3の如くプログラム動作制御部140のD−フリップフロップD−FF7の出力信号(Q7:オーバーフロー)がハイ状態で出力される場合(即ち、オーバーフローが発生する場合)は、プログラムデータ信号D0〜D15のうちロー状態(即ち、プログラム動作遂行)のデータが8個以上存在することを意味する。この場合には、一般的な方法と同様にプログラム動作をハイバイトとローバイトに分離してそれぞれ実施する。ところが、プログラム動作制御部140のD−フリップフロップD−FF7の出力信号Q7(オーバーフロー)がロー状態で出力される場合(即ち、オーバーフローが発生しない場合)は、プログラムデータ信号D0〜D15のうちロー状態のプログラムデータ信号が8個未満存在することを意味する。この場合には、プログラム動作をハイバイトとローバイトに分離せず、プログラムすべきビットのみを一度に実施する。
【0030】
次に、上述したビットカウンタの動作特性を図3に基づいて具体的に説明する。図3は図2に示したビットカウンタの動作波形図であって、一例としてプログラムデータ信号D0〜D15が「F844」(すなわち、1111、1000、0100、0100)の時の波形図である。図4は図2に示したビットカウンタを用いたプログラム方法を説明するためのフローチャートである。
【0031】
図3及び図4を参照すると、まず初期読み出し状態でプログラム動作を行うために、プログラムデータ及びアドレスをセットアップし(S410)、プログラムイネーブルバー信号WEbとデータキュー(data queue;DQ)を使用してプログラムコマンドを入力する(S420)。一般に、プログラム動作を行うための内部ステートマシーン(state machine)(図示せず)はプログラムイネーブルバー信号WEbがハイ状態に遷移する瞬間に同期される。このプログラム回路のステートマシーンはビットカウンタによってカウントされたビット数に応じてプログラム動作をワード単位またはバイト単位で選択的に行う。
【0032】
一方、図2に示した本発明のビットカウンタは、セルのゲート電圧とドレイン電圧を生成するためのプログラム電圧をポンプするポンピング区間(すなわち、ポンピング回路の動作区間)で動作する。たとえば、プログラム動作時、セルのゲート電圧(PQP波形参照)は通常「9V」が必要である。これにより、目標値のゲート電圧を得るためには、不可避にポンピング区間が必要である。したがって、本発明では、このポンピング区間(一般に、他の回路(図示せず)は動作しない)にビットカウンタを動作させて、プログラムするビット(数)をカウントする(S430)。
【0033】
段階「S430」では、プログラムデータ信号D0〜D15が遅延部(図1の「110」参照)に入力されると、遅延部110はこのプログラムデータ信号D1〜D15を表2の如く「1」クロックずつ遅延させ、クロック発生部(図1の「120」参照)へ出力する。クロック発生部120はプログラムデータ信号D0〜D15によって順次同期されて各クロック信号CLK0〜CLK15を出力する。この際、クロック発生部120から出力される各クロック信号CLK0〜CLK15のうち、クロック信号CLK0〜CLK1、CLK3〜CLK5、CLK7〜CLK10のみパルスが発生する。これは、プログラムデータ信号がロー状態で入力される場合にのみクロック発生部120を介してパルスが発生するからである。その後、クロック発生部120から出力されるクロック信号CLK0〜CLK15は論理組合せ部130に入力される。論理組合せ部130はこのクロック信号CLK0〜CLK15を論理和(論理組合せ)して同期出力信号である同期クロック信号GCLKを出力する。論理組合せ部130はクロック信号のいずれか一つがハイ状態で入力されると、ハイ状態のクロックパルスを出力する。同期クロックGCLKは「9個」(すなわち、0000、0111、1011、1011)のハイパルスが出力される。これにより、プログラム動作制御部(図1の「140」参照)のD-フリップフロップD−FF7はハイ状態のオーバーフローを出力する。
【0034】
段階「S430」でプログラム動作制御部140のD−フリップフロップD−FF7からオーバーフローが発生する場合は(S440)、プログラムデータ信号D0〜D15のうちプログラム動作を行うデータが「8個」以上存在することを意味し、この場合には、プログラム動作をローバイトL−Byte(Program-1)とハイバイトH−Byte(Program-2)に分離して行う(S450及びS460)。ところが、段階「S430」でプログラム動作制御部140のD−フリップフロップD−FF7からオーバーフローが発生していない場合は(S440)、プログラムデータ信号D0〜D15のうちプログラム動作を行うデータが「8個」未満存在することを意味し、この場合には、プログラム動作を一度だけ行う(S470)。
【0035】
以後、該当セルに対するプログラム動作が行われた後、このセルに対してプログラム検証段階を行ってフェールが発生する場合、前記段階「S430」を移動してプログラム動作を繰り返し行い、パスされると、プログラム動作を完了する(S480及びS490)。
【0036】
上述したように、本発明では、ビットカウンタを用いて、ポンピング区間内に、プログラムデータ信号のうちプログラムしようとするデータ信号のみをカウントする。すなわち、クロック発生部(図1の「120」参照)から出力されるクロック信号(CLK0〜CLK15)は「10ns」の周期を有し、全てのI/O端子から伝送されるプログラムデータ信号が「0000H」(hexadeciaml)になっても全体周期は「10ns×16=160ns」程度になる。これにより、ポンピング区間は「1μs」程度なので、ポンピング区間内にプログラムデータ信号のビットカウント動作は予め完了することができる。
【0037】
また、上述したように、プログラムデータ信号D0〜D15が「F844」(すなわち、1111、1000、0100、0100)の場合には、プログラムするデータ信号の「0」が「9個」存在する。このため、「160ns」全体周期の間、同期クロック信号GCLKは「9個」が発生する。これにより、D−フリップフロップD−FF0〜D−FF7は同期クロック信号GCLKによって順次「9回」移動し、同期クロック信号GCLKの「8番目」クロックでオーバーフローがラッチされる。したがって、プログラムするデータ信号のビット数が「16個」のうち「8個」以上なので、「8個」をプログラムするために設計された一般的なドレイン電圧発生用ポンプ回路(図示せず)は一度にプログラム動作を行うことが不可能である。これにより、プログラム動作は二度に分けて行われなければならない。すなわち、オーバーフローが発生すると、プログラム動作は二度に分けて行われる。ビット数が少なくとも9個以上の場合、ステートマシーンはプログラム動作をバイト単位で分けて二度にわたって行う。一方、プログラムするデータ信号が「8個」を超えない(8個以下)の場合には、ポンピング区間でオーバーフローが発生しないため、十分ドレイン電圧発生用ポンピング回路を用いて同時に全てのビットに対してプログラム動作を行うことが可能である。したがって、プログラムデータ信号の個数が「8個」未満の場合には、(ステートマシーンは)プログラム動作を二度に分けて行わず一度に行うことにより、全体プログラム動作時間を短縮させることができる。また、カウントされたビット数に応じてプログラム動作をワード単位またはバイト単位で選択的に行った後、プログラム検証を行い、その検証後にフェールされてプログラム動作が再び行われる場合にもプログラム動作時間を短縮させることができる。
【0038】
上述した本発明の技術的思想は好適な実施例で具体的に記述されたが、これらの実施例は本発明を説明するためのもので、制限するものではないことを注意しなければならない。また、当技術分野で通常の知識を有する者であれば、本発明は本発明の技術的思想の範囲内で様々な実施例が可能であることを理解できよう。
【0039】
【発明の効果】
以上述べたように、本発明では、プログラム動作時、ビットカウンタを用いて、ポンピング区間内にプログラムデータのうちプログラムするデータのみをカウントした後、プログラムデータが8個未満の場合にはプログラム動作を一度にワード単位で行うことにより、プログラム動作時間を短縮させることができる。
【図面の簡単な説明】
【図1】本発明の好適な実施例に係るビットカウンタのブロック図である。
【図2】図1に示したビットカウンタの詳細回路図である。
【図3】図1に示したビットカウンタの動作波形図である。
【図4】図1に示したビットカウンタを用いた半導体素子のプログラム方法を説明するための流れ図である。
【図5】図1に示したクロック発生部のクロック信号の波形図である。
【図6】一般的なフラッシュメモリ素子のプログラム段階を説明するために示したメモリセルの断面図である。
【図7】一般的なフラッシュメモリ素子のプログラム検証段階を説明するために示したメモリセルの断面図である。
【図8】一般的なフラッシュメモリ素子の全体プログラム動作を説明するために示した流れ図である。
【図9】一般的なフラッシュメモリ素子のラインベルメモリセルの分布図である。
【符号の説明】
110 遅延部
120 クロック発生部
130 論理組合せ部
140 プログラム動作制御部(カウンタ)

Claims (13)

  1. 入力されるプログラムデータと対応し、前記プログラムデータのうちプログラムデータによってのみ同期され、互いに異なるクロック信号を発生するための複数のクロック発生部と、
    前記クロック信号が互いに重畳しないように、前記プログラムデータと対応し、前記プログラムデータが、それぞれ異なる大きさで遅延して前記クロック発生部に入力されるようにする複数の遅延部と、
    前記クロック発生部からの前記クロック信号に応じて同期され、同期時に入力データを順次シフトさせ、前記プログラムデータのうちプログラムするプログラムデータのビット数をカウントするカウンタと、
    を含むことを特徴とするビットカウンタ。
  2. 前記クロック信号の周期は、約10nsであることを特徴とする請求項1記載のビットカウンタ。
  3. 前記クロック発生部から出力される前記クロック信号を論理組合せして、前記カウンタを同期させるための同期出力信号を出力する論理組合せ部をさらに含むことを特徴とする請求項1記載のビットカウンタ。
  4. 前記論理組合せ部は、前記クロック信号のいずれか一つがハイ状態で入力されると、ハイ状態のクロックパルスを出力することを特徴とする請求項記載のビットカウンタ。
  5. 前記カウンタは、前記クロック信号によって同期される複数のD−フリップフロップを含むことを特徴とする請求項1記載のビットカウンタ。
  6. 前記カウンタは、前記クロック信号によって同期され、互いに直列に接続される8個のD−フリップフロップを含むことを特徴とする請求項1記載のビットカウンタ。
  7. プログラムデータを伝送するI/O端子と、
    前記I/O端子から伝送されたプログラムデータのうちプログラムする前記プログラムデータのビット数をカウントする請求項1のビットカウンタと、
    前記ビットカウンタによってカウントされた前記ビット数に応じて、プログラム動作をワード単位またはバイト単位で選択的に行うステートマシーンとを含むプログラム回路。
  8. 前記ビット数が少なくとも9個以上の場合、前記ステートマシーンは、前記プログラム動作をバイト単位で分けて二度にわたって行うことを特徴とする請求項記載のプログラム回路。
  9. 前記ビット数が8個以下の場合、前記ステートマシーンは、前記プログラム動作を一度に行うことを特徴とする請求項記載のプログラム回路。
  10. プログラムデータを伝送するI/O端子と、
    前記I/O端子から伝送されたプログラムデータのうちプログラムする前記プログラムデータのビット数をカウントするため、入力されるプログラムデータと対応し、前記プログラムデータのうちプログラムデータによってのみ同期され、互いに異なるクロック信号を発生するための複数のクロック発生部と;前記クロック発生部からの前記クロック信号に応じて同期され、同期時に入力データを順次シフトさせ、前記プログラムデータのうちプログラムするプログラムデータのビット数をカウントするカウンタ;とを有するビットカウンタと、
    前記ビットカウンタによってカウントされた前記ビット数に応じて、プログラム動作をワード単位またはバイト単位で選択的に行うステートマシーンと、を含むプログラム回路を用いたプログラム方法において、
    (a)プログラム動作を行うために、プログラムデータ及びアドレスをセットアップし、プログラムコマンドを入力する段階と、
    (b)前記プログラム動作を行うために、プログラム電圧をポンプするポンピング区間内に前記プログラムデータのうちプログラムするプログラムデータのビット数をカウントする段階と、
    (c)前記(b)段階でカウントされたビット数に応じて、前記プログラム動作をワード単位またはバイト単位で選択的に行う段階とを含むプログラム方法。
  11. 前記(c)段階で、前記プログラム動作は、前記ビット数が9個以上の場合に、前記バイト単位で二度に分けて行うことを特徴とする請求項10記載のプログラム方法。
  12. 前記(c)段階で、前記プログラム動作は、前記ビット数が8個以下の場合に、一度に行うことを特徴とする請求項10記載のプログラム方法。
  13. 前記(c)段階以後、プログラム検証段階を行う段階をさらに含むことを特徴とする請求項10記載のプログラム方法。
JP2002359163A 2002-07-18 2002-12-11 ビットカウンタとこれを用いた半導体素子のプログラム回路及びプログラム方法 Expired - Fee Related JP3887304B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0042172A KR100474203B1 (ko) 2002-07-18 2002-07-18 비트 카운터 및 이를 이용한 반도체 소자의 프로그램 회로및 프로그램방법

Publications (2)

Publication Number Publication Date
JP2004055107A JP2004055107A (ja) 2004-02-19
JP3887304B2 true JP3887304B2 (ja) 2007-02-28

Family

ID=30439345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002359163A Expired - Fee Related JP3887304B2 (ja) 2002-07-18 2002-12-11 ビットカウンタとこれを用いた半導体素子のプログラム回路及びプログラム方法

Country Status (3)

Country Link
US (1) US6751158B2 (ja)
JP (1) JP3887304B2 (ja)
KR (1) KR100474203B1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100672984B1 (ko) 2004-12-14 2007-01-24 삼성전자주식회사 프로그램 시간을 줄일 수 있는 플래시 메모리 장치
KR100743994B1 (ko) 2005-09-14 2007-08-01 주식회사 하이닉스반도체 내부 전압 제어 장치
US7382661B1 (en) 2007-02-07 2008-06-03 Elite Semiconductor Memory Technology Inc. Semiconductor memory device having improved programming circuit and method of programming same
US7525849B2 (en) * 2007-02-13 2009-04-28 Elite Semiconductor Memory Technology, Inc. Flash memory with sequential programming
US8570828B2 (en) * 2010-04-12 2013-10-29 Mosaid Technologies Incorporated Memory programming using variable data width
US8804429B2 (en) 2011-12-08 2014-08-12 Silicon Storage Technology, Inc. Non-volatile memory device and a method of programming such device
KR102341261B1 (ko) 2017-11-13 2021-12-20 삼성전자주식회사 매스비트 카운터를 포함하는 메모리 장치 및 그의 동작 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3607439B2 (ja) * 1996-11-11 2005-01-05 株式会社日立製作所 半導体集積回路装置
JP4154771B2 (ja) * 1998-11-10 2008-09-24 ソニー株式会社 不揮発性半導体記憶装置およびそのデータ書き込み方法
KR20000044664A (ko) * 1998-12-30 2000-07-15 김영환 바이트 단위의 프로그램이 가능한 플래시 이이피롬
KR20010091656A (ko) * 2000-03-17 2001-10-23 박종섭 이피롬(eprom)프로그래밍 장치
JP4762435B2 (ja) * 2001-05-09 2011-08-31 富士通セミコンダクター株式会社 内部カウンタを複数備えた不揮発性半導体記憶装置

Also Published As

Publication number Publication date
KR100474203B1 (ko) 2005-03-10
KR20040008533A (ko) 2004-01-31
US6751158B2 (en) 2004-06-15
JP2004055107A (ja) 2004-02-19
US20040013026A1 (en) 2004-01-22

Similar Documents

Publication Publication Date Title
US4718041A (en) EEPROM memory having extended life
JP5544442B2 (ja) ページ消去機能におけるアドレス変化検出によるデコーディング制御
JP2005228475A (ja) 不揮発性半導体メモリセル配列、および半導体メモリにおいてメモリセル動作を行なうための方法
JPH09180471A (ja) 多値記憶式不揮発性半導体メモリ装置とそのデータ読出、プログラム及び検証方法
US9213389B2 (en) Non-volatile semiconductor memory device with power-saving feature
JP4472839B2 (ja) フラッシュメモリ装置
US6975547B2 (en) Flash memory devices that support efficient memory locking operations and methods of operating flash memory devices
JP3887304B2 (ja) ビットカウンタとこれを用いた半導体素子のプログラム回路及びプログラム方法
US20060279994A1 (en) Flash memory device capable of reduced programming time
CN109584933B (zh) 半导体器件
JP2007184073A (ja) 基準フェイルビットの確認回路及び不揮発性半導体メモリ装置
US8792285B2 (en) Page buffer circuit
JP2006024347A (ja) ビットスキャニングプログラムを実行する不揮発性メモリ装置
TWI726622B (zh) 半導體裝置
US10063240B2 (en) Apparatuses with an embedded combination logic circuit for high speed operations
JP2008181614A (ja) 半導体記憶装置
US6822908B1 (en) Synchronous up/down address generator for burst mode read
JP4266498B2 (ja) フラッシュメモリ回路
US6525961B2 (en) Method and circuit for programming a multilevel non-volatile memory
JPH0660674A (ja) 不揮発性半導体記憶装置
US8861303B2 (en) Circuit and method for address transition detection
JPH07111837B2 (ja) 不揮発性半導体メモリ
JP2006085896A (ja) 加速化されたビットスキャニングプログラムを実行する不揮発性メモリ装置
US7002861B2 (en) Memory device for controlling programming setup time
KR100195203B1 (ko) 불휘발성 반도체 메모리 장치용 프로그램 방법 및 회로

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060620

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060925

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060926

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: 20061031

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061124

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3887304

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101201

Year of fee payment: 4

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: 20101201

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111201

Year of fee payment: 5

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: 20111201

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121201

Year of fee payment: 6

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: 20121201

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131201

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

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