JP4010400B2 - 半導体記憶装置およびデータ書き込み制御方法 - Google Patents

半導体記憶装置およびデータ書き込み制御方法 Download PDF

Info

Publication number
JP4010400B2
JP4010400B2 JP2002175044A JP2002175044A JP4010400B2 JP 4010400 B2 JP4010400 B2 JP 4010400B2 JP 2002175044 A JP2002175044 A JP 2002175044A JP 2002175044 A JP2002175044 A JP 2002175044A JP 4010400 B2 JP4010400 B2 JP 4010400B2
Authority
JP
Japan
Prior art keywords
data
circuit
write
address
memory cell
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
JP2002175044A
Other languages
English (en)
Other versions
JP2004022061A (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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP2002175044A priority Critical patent/JP4010400B2/ja
Priority to EP03253721A priority patent/EP1372157B1/en
Priority to US10/461,066 priority patent/US7161843B2/en
Priority to DE60307184T priority patent/DE60307184T2/de
Priority to TW092116151A priority patent/TWI229340B/zh
Priority to KR1020030038529A priority patent/KR100556199B1/ko
Priority to CNB031427235A priority patent/CN100338685C/zh
Publication of JP2004022061A publication Critical patent/JP2004022061A/ja
Application granted granted Critical
Publication of JP4010400B2 publication Critical patent/JP4010400B2/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
    • 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/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • G11C16/3486Circuits or methods to prevent overprogramming of nonvolatile memory cells, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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

Description

【0001】
【発明の属する技術分野】
本発明は、複数のメモリセルが設けられた半導体記憶装置および半導体記装置へのデータ書き込み制御方法に関する。
【0002】
【従来の技術】
記憶するデータ量が1ビット以上である複数のメモリセルが設けられている多値フラッシュメモリ等の半導体記憶装置では、メモリセルに格納されたデータと、格納されたデータの内容を示すメモリセルの閾値電圧とが各メモリセルにおいて異なるため、それぞれのメモリセルに対してデータを書き込む場合、および、それぞれのメモリセルからデータを読み出す場合に何らかのデータ変換処理が必要になる。
【0003】
通常、多値フラッシュメモリは、各メモリセルに対する設定可能な閾値電圧が3状態以上あり、それぞれの閾値電圧に対してデータの書込みまたはデータの読み出しを行うために、閾値電圧が1状態の二値メモリにおけるデータの書込みまたはデータの読み出しと比較すると複雑な制御が要求される。
【0004】
以下、マトリクス状に複数のメモリセルが設けられた多値フラッシュメモリである半導体記憶装置のデータ書き込み動作を説明する。
【0005】
まず、従来の多値フラッシュメモリの多値データの格納方法を、二値フラッシュメモリのデータの格納方法と比較しながら説明する。
【0006】
不揮発性半導体メモリである多値フラッシュメモリは、通常、各メモリセルがMOSFETによって形成されており、それぞれのMOSFETのフローティングゲート内に蓄積された電荷量によって、それぞれメモリセルの閾値電圧が異なる現象をデータの格納に利用する。
【0007】
図10は、一般的な二値フラッシュメモリ内に設けられたメモリセルの閾値電圧の分布を示すグラフである。図10の横軸はメモリセルの閾値電圧、縦軸はメモリセルの個数をそれぞれ表している。尚、横軸の中央の基準閾値電圧は、データ読出し時のデータ読出し電圧を表している。
【0008】
代表的な二値フラッシュメモリであるNOR型フラッシュメモリは、通常、メモリセルのフローティングゲートから電荷が引き抜かれている状態がデータ消去状態であり、その時のデータを「1」とする。メモリセルのフローティングゲートに負の電荷(電子)が注入された状態がデータ書き込み状態で、その時のデータを「0」とする。
【0009】
これにより、図10の基準閾値電圧より低い領域は、データ消去状態のメモリセルの分布を示し、基準閾値電圧より高い領域は、データ書込み状態のメモリセルの分布を示す。
【0010】
データ消去状態のメモリセルは、閾値電圧が低くなり、データ書き込み状態のメモリセルは、閾値電圧が高くなる。このため、メモリセルのコントロールゲートに印加される電圧が同じであれば、データ消去状態のメモリセルには、データ書き込み状態のメモリセルより大きな電流が流れる。このように、データ消去状態のメモリセルおよびデータ書き込み状態のメモリセルのそれぞれの電流値が異なることを利用して、メモリセル内のデータの状態(データの有無等)を確認することがデータ読み出し動作である。尚、後述するデータのベリファイ(検証)動作も基本的にはデータ読み出し動作と同じである。
【0011】
データ読み出しは、予め上記の基準閾値電圧が設定されているリファレンスセルに流れる電流と、データ読み出しが行われるメモリセルを流れる電流とを検出し、これらの電流値を比較することによって行われる。
【0012】
このような電流値の比較は、メモリセルおよびリファレンスセルのドレインに接続されているビット線を流れる電流をセンス回路(Sense Amplifier)にて検出して、メモリセル内のデータを判定している。
【0013】
図11は、一般的な多値フラッシュメモリ内に設けられたメモリセルの閾値電圧の分布の一例を示すグラフである。ここで、図11は、説明を簡略にするため、1つのメモリセルのデータ量が2ビットである四値フラッシュメモリの場合のグラフである。図11の横軸はメモリセルの閾値電圧、縦軸はメモリセルの個数をそれぞれ表している。尚、横軸の基準閾値電圧1、2および3は、データ読出し時のデータ読出し電圧を表している。
【0014】
四値フラッシュメモリ内の各メモリセルは、それぞれのメモリセルがデータ消去状態および3種類のデータ書込み状態の4つの状態を選択的に取り得る。メモリセル内の閾値電圧の最も低い状態がデータ消去状態であり、データ消去状態以外のデータ書き込み状態が2つの異なる閾値電圧によって3段階に分けられる。メモリセルが上記の4つの状態を選択的に取り得る場合、メモリセル内のデータ格納状態を確認するデータ読み出し動作では、図11に示すように、データ読み出しのための3つの基準となる基準閾値電圧1、2および3が設定されている。
【0015】
図11に示すメモリセルでは、1つのメモリセルに2ビットのデータを格納する場合、閾値電圧が低い順にデータを「11」、「10」、「01」、「00」と定義し、データ「11」がデータ消去状態である。また、データが「10」、「01」および「00」となるデータ書き込み状態では、いずれの場合もメモリセルの閾値電圧の分布のバラツキが小さくなるように設定されている。
【0016】
ところで、図11に示す四値フラッシュメモリ等の多値フラッシュメモリのメモリセルへのデータ書込み制御おいて以下のような問題点がある。
【0017】
第1に、メモリセルへのデータ書き込み時に、各データに対応するメモリセルの閾値電圧の分布を比較的狭い範囲(分布のバラツキを小さくする)に抑える。
【0018】
第2に、メモリセルからデータを読み出す場合の各データに対応する閾値電圧の範囲は、データ書込み時の閾値電圧の範囲より広くなり、各データに対応する下限および上限の基準閾値電圧に対するマージンが小さくなる。
【0019】
第3に、3つの基準閾値電圧が設けられたメモリセルからデータ読み出し動作を効率的に実行しなければならない。
【0020】
図12は、四値フラッシュメモリに対するデータ書き込みアルゴリズムの一例である。図12に示すデータ書き込みアルゴリズムでは、データ書き込みをStep1〜3の3段階に分けて実行している。
【0021】
Step1〜3のいずれの段階でも、メモリセルに対するデータ書き込みの最終的な目標となるデータと、現在のメモリセルのデータ格納状態とを確認し、該当するメモリセルに対するデータ書込み操作を実行するか否かを決定する。また、メモリセルへのデータ書き込み時には、データ書き込み後のデータの経年劣化およびデータ読み出し動作に対するマージンを確保するために、データ読み出し時に使用される基準閾値電圧よりもさらに厳しい閾値電圧が設定される。この閾値電圧は、ベリファイ(検証)動作でも使用される。
【0022】
ここで、図12に示すStep1〜3において、データ書込み動作(Program)は、所定のデータ書込みパルスをメモリセルのコントロールゲートとドレインとに印加し、その後、ベリファイ(検証)動作(基準閾値電圧を変更するがデータ読出し動作と同じ動作)を行い、メモリセルの閾値電圧が所望の電圧値に到達したかを検証している。メモリセルの閾値電圧が所望のしきい値電圧に到達していれば、書き込みパルスデータは停止され、所望のしきい値電圧に到達していなければ、さらに書き込みパルスデータが印加される。このように、書き込みパルスデータの印加およびベリファイ(検証)を繰り返しすことによって、メモリセルは所望の閾値電圧に設定される。
【0023】
図12に示す最初の段階であるStep1では、右側の表に記載されたデータ書き込み操作の有無に従い、データ書き込みが実行される。
【0024】
Step1では、現在のデータが「11」(消去状態)で、目標のデータが「10」、「01」および「00」であるメモリセルに対してデータ書き込み操作を行なう。
【0025】
データ書き込みを行なうメモリセルの閾値電圧が全て、目標のデータ「10」の下限の基準閾値電圧1’(図11に示すデータ読出し時のデータ「10」に対応する下限の基準閾値電圧1より、高く設定されるベリファイ時の値。以下、同様である)以上になるまで、データ書き込みが実行される。
【0026】
上記の基準閾値電圧1’は、データ読み出しに使用されるセンス回路の検出精度に対するマージンの確保、および、メモリセルに格納されたデータの経年劣化による閾値電圧の変動に対するデータ読み出し時のマージン確保のために、データ読み出し時に使用される基準閾値電圧1よりも高く設定される。同様の理由により目標のデータ「10」の上限の基準閾値電圧2’は、図11に示すデータ読出し時のデータ「10」に対応する上限の基準閾値電圧2より低く設定される。
【0027】
例えば、データ書き込み時に、目標のデータ「10」の基準しきい値2’を超えたメモリセルが発生すると、そのメモリセルは、目標のデータ「10」のデータ読み出しが保証できる閾値の範囲を超えたオーバープログラムの状態となる。このため、多値フラッシュメモリにおけるメモリセルのデータ書込みでは、データ書き込みの強さ(データ書込み電圧)の制御等によってオーバープログラムの状態のメモリセルを発生させないことが重要である。
【0028】
次に、Step2では、目標となるデータが「01」または「00」で、現在のデータが「01」に達していないメモリセルに対してデータ書き込み操作を行なう。尚、データ書き込み操作の詳細は、Step1と同様である。
【0029】
Step2では、目標のデータ「01」の下限の基準閾値電圧2”は、図11に示すデータ読出し時のデータ「01」に対応する下限の基準閾値電圧2より高く設定され、目標のデータ「01」の上限の基準閾値電圧3’は、図11に示すデータ読出し時のデータ「01」に対応する上限の基準閾値電圧3より低く設定される。
【0030】
これにより、データ書き込みを行なうメモリセルの閾値電圧が全て、目標のデータ「01」の下限の基準閾値電圧2”から上限の基準閾値電圧3’の範囲になるように、データ書き込みが実行される。
【0031】
最後に行うStep3では、目標となるデータが「00」で、現在のデータが「00」に達していないメモリセルに対してデータ書き込み操作を行なう。尚、データ書き込み操作の詳細は、Step1と同様である。
【0032】
Step3では、目標のデータ「00」の下限の基準閾値電圧3”は、図11に示すデータ読出し時のデータ「00」に対応する下限の基準閾値電圧3より高く設定される。
【0033】
これにより、データ書き込みを行なうメモリセルの閾値電圧が全て、目標のデータ「00」の下限の基準閾値電圧3”以上になるように、データ書き込みが実行される。
【0034】
このように、図12に示すデータ書き込みアルゴリズムにより四値フラッシュメモリのデータ書き込みが実現できる。
【0035】
次に、メモリセルの閾値電圧の変動によるデータ書込み時のオーバープログラムと同様に問題となるアレイノイズと呼ばれる現象を説明する。
【0036】
アレイノイズは、例えば、同一のメモリアレイ内の所定のワード線に接続された任意のメモリセルと他のメモリセルとにおいて、任意のメモリセルに対してデータ書込み操作を実施し任意のメモリセルの閾値電圧が変化した場合、データ書込み操作を行っていない他のメモリセルの閾値電圧が見かけ上、変化する現象である。
【0037】
図13は、多値フラッシュメモリであるNOR型フラッシュメモリのメモリアレイの一例の要部を示す構成図である。
【0038】
図13に示すメモリアレイに含まれる全てのメモリセルのソース線SRCは、共通になるように配線され、ワード線WLとビット線BLと直行するように配線されている。
【0039】
ワード線WLは、各メモリセルのコントロールゲートに共通にそれぞれ接続され、一方、ビット線BLは、各メモリセルのドレインに共通にそれぞれ接続されている。これにより、各メモリセルは、マトリクス状に配置されている。
【0040】
各メモリセルは、それぞれのメモリセルのドレイン同士およびソース同士が相互に接続され、各ビット線BLに沿って接続されている。例えば、CELL11およびCELL21は、ドレイン同士が接続され、それらのドレインは、ビット線BL1に接続されている。CELL21およびCELL31は、ソース同士が接続され、それらのソースは、ソース線SRCに接続されている。CELL31およびCELL41は、ドレイン同士が接続され、それらのドレインは、ビット線BL1に接続されている。
【0041】
図13には、4本のワード線WL1〜4および4本のビット線BL1〜4、ソース線SRC、そしてそれらに接続されているメモリセルCELL11〜44を図示している。
【0042】
このようなメモリアレイにおいて、全メモリセルのデータが消去された状態から、ワード線WL2に接続されたメモリセルCELL21〜23に、任意のデータを書き込む場合の動作を説明する。尚、ワード線WL2に接続されたメモリセルCELL24は、データ書き込みが実施されず、データ消去状態が保持されている。
【0043】
データ書き込み操作を実施する前は、全メモリセルがデータ消去状態であるので、全メモリセルの閾値電圧は最も低い状態になっている。このため、ワード線WL2に接続されたメモリセルCELL21〜CELL24に対して、データ読み出し動作(ベリファイ動作)を実施すると、メモリセルCELL21〜CELL24には、比較的大きな電流が流れる。
【0044】
これにより、ソース線SRCの電位は、本来の電位、例えば、接地電位からソース線SRCの寄生抵抗による浮き上がりおよび駆動回路の出力トランジスタの出力抵抗増大等により、比較的大きく浮き上がることになる。
【0045】
しかし、ワード線WL2に接続されたメモリセルCELL21〜CELL23にデータ書込みが進行すると、これら3個のメモリセルCELL21〜CELL23の閾値電圧が上昇するため、これら3個のメモリセルCELL21〜CELL23に流れる電流が減少し、ソース線SRCの接地電位からの浮き上がりは徐々に低減される。
【0046】
ソース線SRCの浮き上がりが小さくなると、メモリセルCELL21〜CELL23におけるドレイン〜ソース間の電圧が増加し、データ読み出し動作(ベリファイ動作)時の電流が増えるため、見かけ上、メモリセルCELL21〜CELL23の閾値電圧が低下したようにセンス回路にて検出される。
【0047】
一方、データ書込み操作が実施されず、閾値電圧が変化しないメモリセルCELL24も、ソース線SRCが共通であるために、メモリセルCELL21〜CELL23と同様に、データ読み出し動作時の電流が大きくなり、閾値電圧が低下したかのようにセンス回路にて検出される。
【0048】
このような現象がアレイノイズである。アレイノイズが起こると、例えば、任意のステップにて、既に、データ書き込みが完了してベリファイ動作もパスしたメモリセルがその後のデータ読み出し動作(ベリファイ動作)にて閾値電圧が低いと判断され、再びデータ書き込み操作が実行される。
【0049】
このようなアレイノイズによる誤動作は、各メモリセルの閾値電圧を厳密に制御(データに対応する閾値電圧の分布のバラツキを小さくする)する必要のある多値フラッシュメモリでは大きな問題となる。
【0050】
二値フラッシュメモリでは、再びデータ書き込みが実行される場合、メモリセルの閾値電圧が通常のデータ書き込み状態より高くなるが、閾値電圧が通常より高くなったとしても、図10に示すように、データ読み出し動作における基準閾値電圧に対してデータに対応する閾値電圧のマージンが大きいため、データ読み出し動作時に、誤動作を起す危険性はほとんどない。
【0051】
しかし、多値フラッシュメモリでは、データ読み出し動作における基準閾値電圧に対してデータに対応する閾値電圧のマージンが小さいため、図11に示すように、データ「10」および「01」に対応する閾値電圧が高くなりすぎると誤動作を生じ、再びデータ書き込みが実行されてオーバープログラム状態となり、データが目標のデータと異なる場合が生じる。
【0052】
また、多値フラッシュメモリのデータ書き込みでは、データ書き込み条件を同一にしてデータ書き込み操作を実行してもメモリセルの閾値電圧のシフト量が徐々に減少する問題がある。
【0053】
この問題を防止するために、多値フラッシュメモリでは、メモリセルに印加する書き込みパルスデータの振幅(電圧値)および周期(印加時間)を調整する操作を行う場合がある。しかし、このような操作が行われ、比較的にデータ書き込みの閾値電圧の低いメモリセルがデータ書き込み操作の早い段階にてデータ書き込み完了と判断されたにも関わらず、その後の段階にてデータ書き込みが未完了と判断される場合がある。このため、データ書き込みが完了しているにも関わらず、データ書き込みが未完了と判断されたメモリセルには、さらに高電圧値および長い印加時間の書き込みパルスデータが印加され、オーバープログラム状態となる可能性が高くなる。
【0054】
このようなアレイノイズと同様の現象は、電源電圧の変動などによるセンス回路でのセンス特性の変化などによっても生じ得る。
【0055】
次に、多値フラッシュメモリにおけるデータ書き込み動作の一例を説明する。
【0056】
多値フラッシュメモリのデータ書き込み動作は、メモリセルの閾値電圧を細かく制御する必要があるから、通常、二値フラッシュメモリのデータ書き込み動作よりも長い時間を必要とする。
【0057】
このため、多値フラッシュメモリでは、データ書き込み動作の時間を短縮できるように、メモリセルへの書き込みデータを一時的に格納するページバッファ回路が設けられている。以下、ページバッファ回路が設けられた多値フラッシュメモリのデータ書き込み動作について説明する。
【0058】
図14は、多値フラッシュメモリのデータ書き込み動作に関係する要部の構成を示すブロック図の一例である。
【0059】
図14に示すフラッシュメモリ400は、ユーザーインターフェイス回路(以後、UI回路と記述する)410を有しており、UI回路410に接続されている制御バス401、アドレスバス402およびデータバス403によって外部から操作される。
【0060】
UI回路410は、制御バス401、アドレスバス402およびデータバス403を介して外部からの信号を受け取り、その信号を解析してフラッシュメモリ400内部の動作を制御する。UI回路410は、制御バス411、アドレスバス412およびデータバス413を介してページバッファ回路420と接続され、制御バス414を介してライト・ステート・マシン回路(以後、WSM回路と記述する)430と接続されている。
【0061】
ページバッファ回路420は、メモリセルへの書き込みデータを一時的に格納する回路であり、制御バス411、アドレスバス412およびデータバス413を介してUI回路410によりデータ書き込みの操作を制御される。
【0062】
WSM回路430は、メモリセルのデータ内容の書き換え等が指示された場合に、メモリアレイ460等の動作を制御する回路である。WSM回路430は、制御バス414を介してUI回路410からの制御信号によって動作内容を指示され、WSM回路430自体の状態を信号431によってUI回路410に知らせる。WSM回路430は、制御バス434、435および436を介して、読み出し回路(Sense Amplifier)440、書き込み回路450およびメモリアレイ460にそれぞれ接続されている。読み出し回路440、書き込み回路450およびメモリアレイ460は、読み出しバス461を介して、相互に接続されている。
【0063】
データ書き込み動作がUI回路410から指示された場合、WSM回路430は、制御バス432およびアドレスバス433を介して、ページバッファ回路420に制御信号およびアドレス信号を出力し、ページバッファ回路420に格納されているメモリセルへの書き込みデータのデータ読み出しを指示する。ページバッファ回路420は、指示されたメモリセルへの書き込みデータをデータバス421を介してWSM回路430に出力する。
【0064】
読み出し回路440は、制御バス434を介してWSM回路430からの制御信号を受け取り、メモリアレイ460内に設けられている各メモリセルのデータ読み出しを実行する。この場合、WSM回路430は、制御バス436およびアドレスバス433を介して、メモリアレイ460に制御信号およびアドレス信号を出力し、メモリアレイ460内のデータ読み出しの対象となるメモリセルを選択し、活性化させる。
【0065】
メモリアレイ460内の選択されたメモリセルのドレインは、読み出しバス461に接続されており、読み出し回路440は、読み出しバス461を介して各メモリセル内の格納データに対応する閾値電圧を確認し、その後、それぞれのメモリセルからの読み出しデータをデータバス441を介してWSM回路430に出力する。
【0066】
WSM回路430は、データバス421を介してページバッファ回路420から出力されたデータ書き込みの目標データと、データバス441を介して読み出し回路440から出力された各メモリセルからの読み出しデータとを受け取り、現在のメモリセルの閾値電圧の値から、それぞれのメモリセルにデータ書き込み操作を実行するか否かを判断し、その判断結果である書き込みパルスデータをデータバス437を介して書き込み回路450に出力する。
【0067】
WSM回路430は、制御バス436を介してメモリアレイ460に制御信号を出力し、メモリアレイ460をデータ書き込みが実行できる状態にした後、制御バス435を介して書き込み回路450に制御信号を出力し、書き込み回路450からメモリアレイ460に書き込みパルスデータを印加させる。書き込み回路450は、メモリアレイ460内の各メモリセルのドレインに接続されている読み出しバス461に選択的に高電圧の書き込みパルスデータを印加することによって、それぞれのメモリセルに対して選択的にデータ書き込みを実行する。
【0068】
以上の手順で、フラッシュメモリ400のデータ書き込み動作が実現できる。
【0069】
図15は、多値フラッシュメモリのデータ書き込み動作に関係する要部の構成を示すブロック図の他の例である。
【0070】
図15に示すフラッシュメモリ500は、図14に示すフラッシュメモリ400よりも、さらに効率的にデータ書き込み動作が実施できる。
【0071】
フラッシュメモリ500は、複数のアドレスで指定されるデータを同時に読み出して、データ出力時にデータを選択するページモード読み出し機能を有する多値フラッシュメモリである。
【0072】
フラッシュメモリ500は、図14に示すフラッシュメモリ400と同様に、UI回路510を有しており、UI回路510に接続されている制御バス501、アドレスバス502およびデータバス503によって外部から操作される。
【0073】
UI回路510は、制御バス501、アドレスバス502およびデータバス503を介して外部からの信号を受け取り、その信号を解析してフラッシュメモリ400内部の動作を制御する。UI回路510は、制御バス511、アドレスバス512およびデータバス513を介してページバッファ回路520と接続され、制御バス514を介してWSM回路530と接続されている。
【0074】
ページバッファ回路520は、メモリセルへの書き込みデータを一時的に格納する回路であり、制御バス511、アドレスバス512およびデータバス513を介してUI回路510によりデータ書き込みの操作を制御される。
【0075】
WSM回路530は、メモリセルのデータ内容の書き換え等が指示された場合に、メモリアレイ560等の動作を制御する回路である。WSM回路530は、制御バス514を介してUI回路510からの制御信号によって動作内容を指示され、WSM回路530自体の状態を信号531によってUI回路510に知らせる。WSM回路530は、制御バス533、534、535および536を介して、多値論理回路580、読み出し回路540、書き込み回路550およびメモリアレイ560にそれぞれ接続されている。読み出し回路540、書き込み回路550およびメモリアレイ560は、読み出しバス561を介して、相互に接続されている。
【0076】
アドレス生成回路(Address Controller)570は、制御バス538およびアドレスバス539を介して、WSM回路530から出力される制御信号およびアドレス信号をそれぞれ受け取り内部アドレスを生成する。アドレス生成回路570は、アドレスバス539にデータ書き込みの先頭アドレスを出力した状態で制御バス538に含まれる初期化信号を発行することによりアドレスバス571に出力するアドレスを先頭アドレスとしてセットし、その後、制御バス538に含まれるクロック信号による制御で、アドレスをインクリメントしてアドレスバス571に出力する。
【0077】
読み出し回路540は、制御バス534を介してWSM回路530からの制御信号を受け取り、メモリアレイ560内に設けられている各メモリセルのデータ読み出しを実行する。この場合、メモリアレイ560は、制御バス536およびアドレスバス571を介して、WSM回路530から出力される制御信号およびアドレス生成回路570から出力されるアドレス信号をそれぞれ受け取り、メモリアレイ560内のデータ読み出しの対象となるメモリセルを選択し、活性化させる。
【0078】
メモリアレイ560内の選択されたメモリセルのドレインは、読み出しバス561に接続されており、読み出し回路540は、読み出しバス561を介して各メモリセル内の格納データに対応する閾値電圧を確認し、その後、それぞれのメモリセルからの読み出しデータをデータバス541を介してデータマルチプレクス回路(以後、MUXと記述する)545に出力する。
【0079】
MUX回路545は、アドレスバス571を介して、アドレス生成回路570から出力されるアドレス信号を受け取り、このアドレス信号に基づいて、データバス541を介して読み出し回路540から受け取った読み出しデータを選択し、選択された読み出しデータを、データバス546を介して多値論理回路(MLC Logic)580に出力する。
【0080】
多値論理回路580は、制御バス533を介してWSM回路530から出力された制御信号と、データバス521を介してページバッファ回路520から出力されたデータ信号であるデータ書き込みの目標データと、データバス546を介してMUX回路545から出力されたデータ信号である選択された読み出しデータとを受け取り、現在のメモリセルの閾値電圧の値から、各メモリセルにデータ書き込み操作を実行するか否かを判断し、その判断結果である書き込みパルスデータをデータバス581を介してWSM回路530に出力する。WSM回路530は、データバス581を介して多値論理回路580から受け取った書き込みパルスデータに基づいて、メモリアレイ560内の各メモリセルにデータ書き込みを実行するか否かを表すデータを、データバス537を介して書き込み回路550に出力する。
【0081】
WSM回路530は、制御バス536を介してメモリアレイ560に制御信号を出力し、メモリアレイ560をデータ書き込みが実行できる状態にした後、制御バス535を介して書き込み回路550に制御信号を出力し、書き込み回路550からメモリアレイ560に書き込みパルスデータを印加させる。書き込み回路550は、メモリアレイ560内の各メモリセルのドレインに接続されているビット線に読み出しバス561を介して、選択的に高電圧を印加することにより、書き込みパルスデータに基づいてデータ書き込み操作が選択的に指示されているそれぞれのメモリセルに対してデータ書き込みを実行する。
【0082】
以上の手順で、フラッシュメモリ500のデータ書き込み動作が実現できる。
【0083】
ここで、図15に示すフラッシュメモリ500内のページバッファ回路520は、フィードバック機能を有している。ページバッファ回路520は、制御バス532を介してWSM回路530から出力される制御信号に基づいて、アドレスバス571を介してアドレス生成回路570から出力されるアドレス信号に指示されるデータを、多値論理回路580で生成されたフィードバックデータに更新することができる。フィードバックデータは、データバス582を介して多値論理回路580からページバッファ回路520に出力される。
【0084】
図16は、四値フラッシュメモリのデータ書き込み操作における多値論理回路580の動作の一例を示す真理表である。
【0085】
図16に示す真理値表は、データ書き込み操作の有無を判断する多値論理回路580の、メモリセル1個あたりの論理を表し、図12に示すデータ書き込みの3段階の動作と同等の論理を表す。図16に示す表内のStepは、図12にて説明した多値フラッシュメモリでのデータ書き込みの各段階(Step1、2および3)に対応する。表内の(目標)は、目標となるデータ、(現在)は、現在のデータを表し、(書込)は、対象のメモリセルにデータ書き込み操作を実行するか否かを示す出力データであり、Lの場合はデータ書き込み操作を実行しないこと、Hの場合はデータ書き込み操作を実行することを表す。
【0086】
図17は、図16に示す真理値表の論理を実現するための論理回路の一例である。図17に示す論理回路は、NAND回路、NOR回路、AND回路、OR回路を有している。図17に示す論理回路の入力信号および出力信号は、以下のように設定される。
【0087】
STP[1:0]は、図16に示す表内のStepを表す信号で、Step1では01、Step2では10、Step3では11を表し、図17に示すSTP1は上位ビット、STP0は下位ビットに対応する。例えば、Step1では、STP[1:0]が01であるので、STP1が0、STP0が1となる。
【0088】
TGH、TGLは、図16に示す表内の目標となるデータのそれぞれ上位ビット、下位ビットに相当するものである。例えば、目標となるデータが01であれば、TGHが0、TGLが1となる。
【0089】
RDH、RDLは、図16に示す表内の現在のデータのそれぞれ上位ビット、下位ビットに相当するものである。例えば、現在のデータが01であれば、RDHが0、RDLが1となる。
【0090】
そして、PROGは、出力データを表し、図16の表内の(書込)に対応し、PROGがLの場合はデータ書き込み操作を実行せず、PROGがHの場合はデータ書き込み操作を実行する。
【0091】
図14に示すフラッシュメモリ400と図15に示すフラッシュメモリ500との主な相違点は、以下の通りである。
【0092】
第1に、メモリセルにデータ書き込みを実施するか否かの判定を行う演算を、フラッシュメモリ400はWSM回路430にて行い、フラッシュメモリ500は、多値論理回路580にて行っている。
【0093】
第2に、データ書き込みの対象となるメモリセルを選択するアドレスバスを、フラッシュメモリ400はWSM回路430にて制御し、フラッシュメモリ500はアドレス生成回路570にて制御している。
【0094】
第3に、フラッシュメモリ500はページバッファ回路520の内容を書き換えるフィードバック機能を有しているが、フラッシュメモリ400にはその機能がない。
【0095】
第4に、フラッシュメモリ500はデータ出力時に、データを選択するページモード読み出し機能を有しているが、フラッシュメモリ400にはその機能がない。
【0096】
第1の相違点について説明する。データ書き込みを実施するか否かの判定を行う演算は、図16および17で示したように、複雑な論理およびその論理を実行する論理演算回路が必要となる。フラッシュメモリ400のWSM回路430が汎用性のある演算回路を有していても、通常の演算(AND、OR、NOT、NAND等)の組み合わせで、データ書き込みを実施するか否かの判定結果を得るには非常に長い処理時間を要する。このため、フラッシュメモリ500では、上記の演算を専用の多値論理回路580で実行し、WSM回路530は多値論理回路580の演算結果を受け取って処理するという手段を用いている。
【0097】
第2の相違点について説明する。複数のアドレスに及ぶ範囲の各メモリセルが格納しているデータを書き換えるには、制御バスおよびアドレスバスによる内部アドレスの制御が必要となり、この制御方法の一例としては、先頭アドレスからインクリメントする方法が挙げられる。フラッシュメモリ400は、このようなアドレスバスの制御をWSM回路430で実行する場合、例えばアドレスのインクリメントを実行する場合は、WSM回路に加算回路とそれを制御する手段が必要となる。しかし、フラッシュメモリ500では、そのようなアドレスの制御を専用のアドレス生成回路570にて実行する方法を採用している。
【0098】
第3の相違点について説明する。フラッシュメモリ500は、ページバッファ回路520に前述のフィードバック機能を持たせることにより、メモリアレイ560内の各メモリセルからデータ読み出し動作時のそれぞれのメモリセルの閾値電圧が変動することによって生じるオーバープログラムを防止する。前述のアレイノイズのように、例えば、データ書き込み動作にて一度は基準閾値電圧以上に達したと判断されたメモリセルでも、その後のデータ読み出し動作(ベリファイ動作)によって基準閾値電圧に達していないと判断される場合がある。このため、データ書き込み動作にて一度基準閾値電圧以上に達したと判断されたメモリセルには、一連のデータ書き込み動作にて再度データ書き込みが実行されないように、ページバッファ回路520に格納されたデータを書き換える手段がある。
【0099】
フラッシュメモリ500は、図16に示す真理値表から明らかなように、目標のデータが「11」であるメモリセルにはデータ書き込み動作が実行されない。
【0100】
したがって、例えばデータ書き込みが完了したと判断されたメモリセルに対応するページバッファ回路内のデータを「11」と書き換えることによって、その後、さらなるデータ書込みパルスの印加は行われず、アレイノイズ等によるオーバープログラムの発生を低減できる。
【0101】
このように、フラッシュメモリ500は、ページバッファ回路520に格納されたデータを更新する手段を有しており、ページバッファ回路520に格納されたデータの更新データを多値論理回路580にて生成している。
【0102】
更新データを多値論理回路580にて生成しているのは、使用する信号がデータ書き込みの判定に使用する信号と同一であるためであり、別の回路にて上記更新データを用意しても良い。
【0103】
第4の相違点について説明する。一般に多値フラッシュメモリは、データ読み出し動作が遅いため、外部回路に対するデータ出力部にページモード読み出し機能、シンクロナスバースト機能等の付加機能設けてシステム全体の性能を減少させない仕様にすることが多い。このようなデータ読み出し方法では、一度にデータを読み出すメモリセルの数が通常のデータ読み出しのメモリセルの数よりも多くなるから、ページモード読み出し機能、シンクロナスバースト機能等をデータ書き込みの制御にも用いることでデータ書き込みの高速化が可能となる。
【0104】
図18は、四値フラッシュメモリのデータ書き込み操作において、フィードバック機能にて更新データの生成を行う場合の多値論理回路580の動作の一例を示す真理表であり、図19は、図18に示す真理値表の論理を実現するための論理回路の一例である。
【0105】
図18に示す真理値表の論理の構成では、必要があれば、ページバッファ回路520に格納されたデータを、データ書き込みが実施されない状態である「11」に書き換える。
【0106】
ページバッファ回路520に格納されたデータを「11」に書き換えるのは、メモリセルへのデータ書き込み動作が完全に終了した状態、すなわち、Step1では目標データが「10」であり、「10」以上にデータ書き込みが実施された状態、Step2では目標データが「01」であり、「01」以上にデータ書き込みが実施された状態、Step3では目標データが「00」であり、「00」にデータ書き込みが実施された状態である。
【0107】
これらのメモリセルは、すでに目標の閾値電圧に達しているので、一連のページバッファ回路520でのデータ書き込みにおける以後のデータ書き込みは不要となる。
【0108】
したがって、ページバッファ回路520に格納されたデータを「11」に書き換えることに不都合は全く無い。これにより、前述のオーバープログラムの発生する可能性を低減できる。
【0109】
図19示す論理回路は、NAND回路、NOR回路、AND回路、OR回路を有しており、出力信号であるFBK1およびFBK0以外の各入力信号の意味は、図16に示す論理回路と同様である。
【0110】
データ書き換え(更新)後のデータFBK[1:0]は、「11」へのデータ書き換えが実施される条件で「11」となり、それ以外の場合は変化しない。FBK1は上位ビット、FBK0は下位ビットに対応する。
【0111】
次に、図14に示すフラッシュメモリ400および図15に示すフラッシュメモリ500のデータ書き込み制御におけるそれぞれのWSM回路430よび530が実行する制御を図20および21に示すフローチャートを用いて比較する。
【0112】
フラッシュメモリ400は、単純なデータ書き込みの構成しか備えておらず、メモリセルへのデータ書き込み制御におけるWSM回路430の果たす役割が比較的大きい。
【0113】
図20は、フラッシュメモリ400において、データ書き込み制御の主な制御のうち1ワードのデータ書き込みを実行するためのフローチャートである。
【0114】
尚、図20に示すフローチャートは、メモリセルへのデータ書き込み動作に必要な制御のうち、フラッシュメモリ500および後述の本発明のフラッシュメモリの比較に必要な部分だけを記述しており、実際にはさらに多岐にわたる処理が実施される。また、一部の処理は、図20に示す記述の通りの順序である必要は無い。
【0115】
まず始めに、データ書き込みの対象となるメモリセルのアドレスを演算する(S4000)。この演算として、最初のデータ書き込みでは、一連のデータ書き込み動作が実行される先頭アドレスをセットし、次のデータ書き込み以降はアドレスをインクリメントするのが最も単純に考えられる。
【0116】
次に、演算したアドレスを内部アドレスとしてメモリアレイ460に出力する(S4001)。その後、メモリアレイ460を読み出し状態にして(S4002)、メモリセルの読み出しを実行する(S4003)。この時、S4001にてセットされた内部アドレスで指定されるメモリセルが活性化されて読み出される。
【0117】
ここで、ページバッファ回路420に格納されたデータを読み出す場合に、特殊な制御が必要であれば、この時点でその制御が必要になるが、図20に示すフローチャートでは説明を簡単にするため、内部アドレスの変化に応じて、対応するデータが出力されるページバッファ回路420を使用する場合について説明する。フラッシュメモリ500の説明でも同様である。
【0118】
次に、ページバッファ回路420のデータ読み出し結果とメモリセルのデータ読み出し結果から、各メモリセルへのデータ書き込み操作の実施の可否を判定する(S4004)。この演算は、例えば図16に示す真理値表のような論理構成を演算するものであり、少し複雑な演算となる。
【0119】
フラッシュメモリ500のように専用回路(アドレス生成回路570)を設けてこの演算を行なうことができないフラッシュメモリ400では、この複雑な演算もWSM回路430にて実行する必要がある。
【0120】
次に、S4004にて生成された書き換えデータを、書き込み回路450に出力する(S4005)。そして、メモリアレイ460をデータ書き込み動作の状態に設定し(S4006)、書き込み回路450を制御して書き込みを実行する(S4007)。
【0121】
以上のWSM回路430の制御によって、メモリセルへのデータ書き込み動作が実行される。ページバッファ回路420のデータ書き込みでは、データ書き込みの処理を要求されたデータの数だけ繰り返すことで、全てのデータに対するデータ書き込みが実現できる。
【0122】
次に、フラッシュメモリ500におけるWSM回路530の制御について、図21に示すフローチャートを用いて説明する。図21に示すフローチャートでは、1ページ分のデータ書き込みを実行する場合の説明をする。
【0123】
まず最初に、アドレスをページアドレスの先頭に設定する(S5000)。
【0124】
次に、メモリアレイ560をデータ読み出し状態に設定する(S5001)。その後、メモリアレイ560内のメモリセルのデータ読み出しを行なうが(S5002)、ページモード読み出しが可能なため、この時点でページ内の全アドレスのデータを同時に読み出すことができる。したがって、データ読み出し以降において、全アドレスのデータは、内部アドレスバスに含まれるアドレスバスの一部であり、ページ内のアドレスを表すアドレスバスによって指定されたデータが、MUX回路545から出力される。
【0125】
次に、メモリアレイ560をデータ書き込み状態に設定する(S5003)。その後、多値論理回路580で生成された書き換えデータを読み出し(S5004)、書き込み回路550に出力し(S5005)、メモリアレイ560内のメモリセルへのデータ書き込みを実行する(S5006)。その後、アドレスを更新するが、同一ページ内の処理であればデータ読み出し動作は不要なので、S5004に戻ってデータ書き込みの操作を繰り返す。
【0126】
以上のWSM回路530の制御で、フラッシュメモリ500の1ページ分のデータ書き込みが実行される。この操作を、データ書き込みが要求されている全データについて実行することによって、一連のメモリセルへのデータ書き込み動作が実現できる。
【0127】
図20および21のフローチャートから比較すると、フラッシュメモリ500は、データ書き換えの実施の可否の判定をWSM回路530にて実行する必要がなく、必要な演算は非常に簡単なものになる。
【0128】
また、メモリアレイ560のデータ読み出し状態とデータ書き込み状態との切り替え回数が少なくなるので、フラッシュメモリ500内のメモリアレイ560等に対する印加電圧の切り替え等の比較的時間のかかる切り替え処理を減少でき、データ書き込み動作の高速化が可能である。
【0129】
アドレスの処理も単純なインクリメントが中心なので、専用回路(アドレス生成回路570)にて実行することが可能である。
【0130】
このように、図15に示すフラッシュメモリ500は、図14に示すフラッシュメモリ400と比較して、データ書き込み動作の高速化およびWSM回路530の簡素化が達成できる。
【0131】
以上のように、従来の多値フラッシュメモリにおいてもデータ書き換えは可能であり、データ書き込み動作の高速化および処理の簡素化も可能となる。
【0132】
【発明が解決しようとする課題】
しかしながら、従来の多値フラッシュメモリのデータ書き込み動作では、内部アドレスの生成およびデータのON/OFFなどの制御が必要となるため、依然としてアレイノイズの発生のおそれもあり、さらにWSM回路の回路構成も複雑な構成で大型化し、このためデータ書き込み動作の処理速度が低下する。
【0133】
本発明は、このような課題を解決するものであり、その目的は、WSM回路を簡略化し、データ書き込み動作の高速化を実現するとともに、アレイノイズの影響を抑制した半導体記憶装置およびデータ書き込み制御方法を提供することにある。
【0134】
【課題を解決するための手段】
本発明の半導体記憶装置は、記憶するデータ量が1ビット以上である複数のメモリセルが設けられているメモリアレイを有する半導体記憶装置において、該複数のメモリセルのデータ書き換え動作を制御するデータ書き換え制御手段と、前記メモリアレイにてデータ読み出しの対象のメモリセルを選択するアドレス信号を生成するアドレス生成手段と、前記メモリセルに格納されたデータを読み出すデータ読み出し手段と、前記メモリセルに書き込むデータを一時的に格納するページバッファ手段と、前記各メモリセルに対するデータ書き換えを実施するか否かを判断するデータ書き換え論理手段と、該データ書き換え論理手段から前記判断の結果として出力される第1書き込み信号を格納するデータレジスタ手段と、該データレジスタ手段から出力される第2書き込み信号に基づいて、該メモリアレイにてデータ書き込みの対象のメモリセルに選択的にデータ書き込みを実行するデータ書き込み手段と具備し、該データ書き換え制御手段は、第1制御信号により、前記データレジスタ手段に前記第1書き込み信号の格納を指示し、該データレジスタ手段は、該データ書き換え制御手段から出力される第2制御信号のタイミングに基づいて、該アドレス信号によって指定される該データレジスタ手段に設けられた所定のレジスタに該第1書き込み信号を格納することを特徴とし、そのことにより上記目的が達成される。
【0135】
また、好ましくは、本発明の半導体記憶装置において、データレジスタ手段は、格納された第1書き込み信号の内容を固定し、メモリセルのデータ書き換え動作をセットしない機能が設けられている。
【0136】
さらに、好ましくは、本発明の半導体記憶装置において、データ読み出し手段は、複数のアドレスに割り当てられた記憶内容を同時に読み出すページモード読み出し機能が設けられている。
【0137】
さらに好ましくは、前記ページバッファ手段は、前記データ書き換え制御手段により、格納している前記書き込みデータを更新するフィードバックが指示されると、前記アドレス信号によって指定される前記書き込みデータを、前記データ書き換え論理手段にて生成されたフィードバックデータに変換する機能を有する。
【0138】
好ましくは、前記書き込みデータは、前記フィードバックの指示によって、前記メモリセルへのデータ書き込みが実施されないデータに変換される。
【0140】
さらに、好ましくは、前記書き込みデータは、前記フィードバックの指示によって、前記メモリセルにデータ書き込みが実施される前に、前記メモリセルに格納されたデータに変換される。
【0141】
本発明のデータ書き込み制御方法は、請求項1に記載の半導体記憶装置によって実施されるデータ書き込み制御方法であって、アドレス生成手段にて生成されたアドレス信号により、データ書き込みのアドレスをページアドレスの先頭に設定する工程と、データ書き換え制御手段により、メモリアレイをデータ読み出し状態に設定する工程と、その後に、データ読み出し手段により、前記設定されたアドレスから前記メモリアレイのデータ読み出しを実行する工程と、次いで、前記データ読み出し手段によって、データ書き込みを行うページ数に含まれるアドレスの数だけ、データの読み出しと、該アドレスの更新とを実行する工程と、前記データ書き換え制御手段により、前記メモリアレイをデータ書き込み状態に設定する工程と、その後に、データ書き換え論理手段により、前記各メモリセルに対するデータ書き換えを実施するか否かを判断する工程と、データレジスタ手段により、前記データ書き換え論理手段から前記判断の結果として出力される第1書き込み信号を格納する工程と、次いで、データ書き込み手段により、前記データレジスタ手段から出力される第2書き込み信号に基づいて、前記メモリアレイにてデータ書き込みの対象のメモリセルに選択的にデータ書き込みを実行する工程とを包含し、前記第1書き込み信号を格納する工程は、前記データ書き換え制御手段が、第1制御信号により、前記データレジスタ手段に前記第1書き込み信号の格納を指示する工程と、該データレジスタ手段が、前記データ書き換え制御手段から出力される第2制御信号のタイミングに基づいて、前記アドレス信号によって指定される前記データレジスタ手段に設けられた所定のレジスタに前記第1書き込み信号を格納する工程とを含むことを特徴とし、そのことにより上記目的が達成される。
【0142】
上記構成により、以下、その作用を説明する。
【0143】
本発明の半導体記憶装置は、データレジスタ手段において、データ書き換え制御手段から出力される第2制御信号のタイミングに基づいて、データ書き換え論理手段から受け取った第1書き込み信号をアドレス生成手段から出力されるアドレス信号によって指定されるレジスタに格納し、その後、格納した第1書き込み信号を第2書き込み信号として、直接、データ書き込み手段に出力することによって、データ書き込み動作における多値論理回路、データレジスタ回路および書き込み回路の間のデータ処理が、WSM回路を介していないため、簡略化できるとともに、データ処理時間も短縮できる。
【0144】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態を説明する。
【0145】
図1は、本発明の実施形態の半導体記憶装置である多値フラッシュメモリ100のデータ書き込み動作に関係する要部の構成を示すブロック図である。
【0146】
図1に示すフラッシュメモリ100は、データレジスタ回路(Data Register)190を有しており、その他の構成は、図15に示すフラッシュメモリ500と同様である。また、フラッシュメモリ100内のメモリアレイ160は、図13に示すメモリアレイの構成と同様である。
【0147】
フラッシュメモリ100は、ページバッファ回路120におけるページバッファ書き込み機能および読み出し回路140におけるページモード読み出し機能を備えている。
【0148】
以下、フラッシュメモリ100の構成およびその構成に基づくデータ書き込み動作を説明する。
【0149】
図1に示すフラッシュメモリ100は、UI回路(User Interface)110を有しており、UI回路110に接続されている制御バス101、アドレスバス102およびデータバス103によって外部から操作される。
【0150】
UI回路110は、制御バス101、アドレスバス102およびデータバス103を介して外部からの信号を受け取り、その信号を解析してフラッシュメモリ100内部の動作を制御する。UI回路110は、制御バス111、アドレスバス112およびデータバス113を介してページバッファ回路120と接続され、制御バス114を介してWSM回路130と接続されている。
【0151】
ページバッファ回路120は、メモリセルへの書き込みデータを一時的に格納する回路であり、制御バス111、アドレスバス112およびデータバス113を介してUI回路110によりデータ書き込みの操作を制御される。
【0152】
WSM回路130は、メモリセルのデータ内容の書き換え等が指示された場合に、メモリアレイ160等の動作を制御する回路である。WSM回路130は、制御バス114を介してUI回路110からの制御信号によって動作内容を指示され、WSM回路130自体の状態を信号131によってUI回路110に知らせる。
WSM回路130は、制御バス133、134、135、136および137を介して、多値論理回路180、読み出し回路140、書き込み回路150、メモリアレイ160およびデータレジスタ回路190にそれぞれ接続されている。読み出し回路140、書き込み回路150およびメモリアレイ160は、読み出しバス161を介して、相互に接続されている。
【0153】
アドレス生成回路170は、制御バス138およびアドレスバス139を介して、WSM回路130から出力される制御信号およびアドレス信号をそれぞれ受け取り内部アドレスを生成する。アドレス生成回路170は、アドレスバス139にデータ書き込みの先頭アドレスを出力し、その後、制御バス138に含まれるクロック信号CLKにより、アドレスをインクリメントしてアドレスバス171に出力する。
【0154】
読み出し回路140は、ページモード読み出し機能が設けられている。読み出し回路140は、制御バス134を介してWSM回路130からの制御信号を受け取り、メモリアレイ160内に設けられている各メモリセルのデータ読み出しを実行する。この場合、メモリアレイ160は、制御バス136およびアドレスバス171を介して、WSM回路130から出力される制御信号およびアドレス生成回路170から出力されるアドレス信号をそれぞれ受け取り、メモリアレイ160内のデータ読み出しの対象となるメモリセルを選択し、活性化させる。尚、メモリアレイ160は、メモリセル、リファレンスセル、ダミーセル等がアレイ化されている。
【0155】
メモリアレイ160内の選択されたメモリセルのドレインは、読み出しバス161に接続されており、読み出し回路140は、読み出しバス161を介して各メモリセル内の格納データに対応する閾値電圧を確認し、その後、それぞれのメモリセルからの読み出しデータをデータバス141を介してMUX回路545に出力する。
【0156】
MUX回路145は、アドレスバス171を介して、アドレス生成回路170から出力されるアドレス信号を受け取り、このアドレス信号に基づいて、データバス141を介して読み出し回路140から受け取った読み出しデータを選択・加工し、選択された読み出しデータを、データバス146を介して多値論理回路180に出力する。
【0157】
多値論理回路180は、制御バス133を介してWSM回路130から出力された制御信号と、データバス121を介してページバッファ回路120から出力されたデータ信号であるデータ書き込みの目標データと、データバス146を介してMUX回路145から出力されたデータ信号である選択された読み出しデータとを受け取り、現在のメモリセルの閾値電圧の値から、各メモリセルにデータ書き込み操作を実行するか否かを判断し、その判断結果である書き込みパルスデータPRGをデータバス181を介してデータレジスタ回路190に出力する。
【0158】
データレジスタ回路190は、制御バス137を介してWSM回路130から出力(発行)される制御信号WRTによって、書き込みパルスデータPRSのラッチが指示される。この時、制御バス138を介してWSM回路130から出力されアドレス生成回路170を制御する制御信号CLKがデータレジスタ回路190にも入力される。この制御信号CLKの制御に基づいて、データレジスタ回路190は、データバス181を介して多値論理回路180から受け取った書き込みパルスデータPRGを、アドレスバス171を介してアドレス生成回路170から受け取ったアドレス信号ADDによって指定されるデータレジスタ回路190内のレジスタに格納する。
【0159】
データレジスタ回路190は、データバス191を介してアドレス信号ADDによって指定されたレジスタに格納された書き込みパルスデータPRGの内容を含むデータ信号PLSを書き込み回路150に出力する。
【0160】
WSM回路130は、制御バス136を介してメモリアレイ160に制御信号を出力し、メモリアレイ160をデータ書き込みが実行できる状態にした後、制御バス135を介して書き込み回路150に制御信号を出力し、書き込み回路150からメモリアレイ160に書き込みパルスデータを印加させる。書き込み回路150は、メモリアレイ160内の各メモリセルのドレインに接続されているビット線に読み出しバス161を介して、選択的に高電圧を印加することにより、書き込みパルスデータに基づいてデータ書き込み操作が選択的に指示されているそれぞれのメモリセルに対してデータ書き込みを実行する。
【0161】
以上の手順で、フラッシュメモリ100のデータ書き込み動作が実現できる。
【0162】
ここで、図1に示すフラッシュメモリ100内のページバッファ回路120は、フィードバック機能を有している。ページバッファ回路120は、制御バス132を介してWSM回路130から出力される制御信号がフィードバックを指示する場合、制御バス138を介してWSM回路130から出力される制御信号CLKに基づいて、アドレスバス171を介してアドレス生成回路170から出力されるアドレス信号に指示されるデータを、多値論理回路180にて生成されたフィードバックデータに書き換えることができる。フィードバックデータは、データバス182を介して多値論理回路180からページバッファ回路120に出力される。
【0163】
図1に示す本発明の半導体記憶装置であるフラッシュメモリ100は、データレジスタ回路190において、WSM回路130から出力される制御信号CLKに基づいて、多値論理回路180から受け取った書き込みパルスデータPRGを、アドレス生成回路170から出力されるアドレス信号ADDによって指定されるレジスタに格納し、その後、格納した書き込みパルスデータPRGをデータPLSとして、直接、書き込み回路150に出力する。
【0164】
これにより、図1に示すフラッシュメモリ100は、データ書き込み動作における多値論理回路180、データレジスタ回路190および書き込み回路150の間のデータ処理が、WSM回路130を介していないため、簡略化できるとともに、データ処理時間も短縮できる。
【0165】
図2は、本発明のフラッシュメモリ100内のデータレジスタ回路190の構成図の一例である。図2に示すデータレジスタ回路190は、1アドレスに割り当てられるメモリセル数が4個、1ページに4つのアドレスを含む場合の例を示す。
【0166】
図2に示すデータレジスタ回路190は、レジスタ制御回路(Register Control)、レジスタのセルRegおよびデータを反転出力させるインバータを有している。
【0167】
レジスタ制御回路(Register Control)は、アドレス生成回路170がアドレスバス171を介して出力するアドレス信号ADDと、WSM回路が制御バス137を介して出力する制御信号である書き込み信号WRTと、WSM回路が制御バス138を介して出力するアドレス制御信号CLKとを受け取り、書き込み信号WR0〜WR3および読み出し信号RD0〜3をレジスタの各セルReg(例えば、フリップフロップのようなラッチ回路にて構成)に出力する。尚、レジスタのセルRegは、例えばフリップフロップのようなラッチ回路にて構成されている。
【0168】
書き込み信号WR0〜WR3により活性化されたレジスタの各セルRegは、多値論理回路180がデータバス181を介して出力する書き込みパルスデータPRG0〜PRG3をそれぞれ受け取り、レジスタの所定のセルRegにてそれぞれラッチする。
【0169】
レジスタの各セルRegは、読み出し信号RD0〜RD3によって活性化され、ラッチした書き込みパルスデータPRG0〜PRG3を反転して出力し、さらにインバータにて反転させてデータ信号PLS0〜PLS3として、データバス191に出力する。データ信号PLS0〜PLS3は、データレジスタ回路190に入力される書き込みパルスデータPRG0〜PRG3にそれぞれ対応する。
【0170】
このように、データレジスタ回路190は、入力される三つの制御信号であるアドレス信号ADD、書き込み信号WRTおよびアドレス制御信号CLKに基づいて、レジスタ制御回路にて書き込み信号WR0〜WR3および読み出し信号RD0〜RD3を生成し、レジスタ制御回路がこれらの信号をレジスタの各セルRegに供給し、レジスタの各セルRegが書き込み信号WR0〜WR3および読み出し信号RD0〜RD3に基づいて動作する。そして、データレジスタ回路190への入力信号である書き込みパルスデータPRG0〜PRG3をレジスタの各セルReg毎に所定の変換処理を行い、出力信号としてデータ信号PLS0〜PLS3を出力する。
【0171】
図3は、図2に示すデータレジスタ回路190に使用されるレジスタのセルの構成を示す回路図の一例である。
【0172】
図3に示すレジスタのセルは、NAND回路およびインバータを有しているラッチ回路であり、入力信号である書き込みパルスデータPRGを、読み出し信号RDおよび書き込み信号WRに基づいて制御して、出力信号としてデータ信号PLS#を出力する。
【0173】
読み出し信号RDは、読み出し活性化信号で、これによって出力がイネーブルになり、ラッチされた書き込みパルスデータPRGを反転したものがデータ信号PLS#として出力される。データ信号PLS#は、図2にてレジスタの各セルがそれぞれ出力しているデータ信号PLS0〜PLS3である。
【0174】
書き込み信号WRは、書き込み活性化信号で、これによってデータ書き込みがイネーブルになり、書き込みパルスデータPRGで指示されたデータがフリップフロップにラッチされる。
【0175】
図4は、図2に示すデータレジスタ回路190に使用されるレジスタ制御回路の構成を示す回路図の一例である。
【0176】
図4に示すレジスタ制御回路は、インバータおよびAND回路を有しており、入力される2ビットのアドレス信号ADD0およびADD1をデコードして、データ読み出しのために読み出し信号RD0〜RD3のいずれかを選択して出力することによって選択的にレジスタの各セルの内容を出力する。
【0177】
さらに、図4に示すレジスタ制御回路は、書き込み制御信号WRTがイネーブルの場合には、アドレス制御信号CLKの制御によって、データ書き込みのために書き込み信号WR0〜WR3のいずれかを選択して出力することによって選択的にレジスタの各セルの内容を出力する。
【0178】
図5は、フラッシュメモリ100のデータ書き込み動作における各信号のタイミングチャートの一例である。
【0179】
図5に示すタイミングチャートは、フラッシュメモリ100のデータ書き込み動作の手順を示しており、各信号での動作の所要時間は考慮していない。図5に示すタイミングチャートは、フラッシュメモリ100が1ページ内に2アドレスが含まれるページモード読み出し機能を有し、4アドレスまたはそれ以上のデータを格納できるページバッファ回路120およびデータレジスタ回路190を有する場合に付いて説明する。
【0180】
まず始めに、時刻t0にて、WSM回路130が制御バス139に出力する信号Addres Initialize信号により、図5のタイミングチャート内のAddressで示される内部アドレス171を書き換え、データを演算する最初のアドレスにセットする。この場合、アドレス信号ADDは、ADD0にセットされる。
【0181】
次に、時刻t1にて、WSM回路130が制御バス134に出力するSense Enable信号により、1ページ分のメモリセルのデータを読み出し、この場合は2アドレスで指定されるメモリセルの内容が読み出される。
【0182】
メモリアレイ160内のアドレス信号ADD0で指定されるメモリセルに格納されているデータRDAT0と、同一ページ内のアドレス信号ADD1で指定されるメモリセルに格納されたデータRDAT1が読出し回路140にて読み出され、データバス141に出力される。
【0183】
MUX回路145は、データバス141を介して読出し回路140から出力された2アドレス分のデータを受け取るが、内部アドレス171で指定されているアドレス信号ADD0で指定されるデータを、データバス146を介して多値論理回路180に出力する。
【0184】
ページバッファ回路120は、アドレス信号ADD0で指定されるメモリセルに書き込むデータを、データバス121を介して多値論理回路180に出力する。
【0185】
読み出したデータRDAT0とページバッファ回路120に格納されていたデータPB0を受けて、多値論理回路180は、データ書き込み操作を実施するかか否かを判定し、判定結果である書き込みパルスデータPRG0を、データバス181を介してデータレジスタ回路190に出力する。
【0186】
また、多値論理回路180は、フィードバックデータFBK0を、データバス182を介してページバッファ回路120に出力する。
【0187】
次に、時刻t2にて、アドレス生成回路170を制御するAddress Control信号を操作する。
【0188】
図5に示すタイミングチャートでは、Address Control信号の立下りにてアドレスを更新すると同時に、Address Control信号のHigh期間で、Data Register Control信号で示されるデータレジスタ回路190への書き込みパルスデータのラッチが行なわれ、Feedback Control信号で示されるページバッファ回路120への格納データのフィードバックが実行される。さらに、Address Control信号がHighになると、内部アドレス171の示すADD0により指定されるデータレジスタ回路の内容は、Data Regiser0信号で示されるように、PRG0がラッチされる。
【0189】
また、内部アドレス171の示すADD0により指定されるページバッファ回路120の内容は、Page Buffer0信号で示されるように、FBK0がラッチされる。
【0190】
次に、時刻t3にて、Address Control信号を立下げることにより、内部アドレス171はアドレス信号ADD0と同一ページ内にあるもう一つのアドレス信号ADD1に変化する。それに伴い、MUX回路145はアドレス信号ADD1に示されるメモリセルに格納されたデータRDAT1を、データバス146を介して多値論理回路180に出力する。
【0191】
また、ページバッファ回路120の出力は、アドレス信号ADD1に指示されるメモリセルに書き込むデータPB1が出力される。これらのデータRDAT1およびPB1を受けて、多値論理回路180の出力は、新しい書き換えデータPRG1と新しいフィードバックデータFBK1に変化する。ここでも、アドレス信号ADD0と同様の操作がアドレス信号ADD1に対して実行される。
【0192】
その後、アドレスが異なるページに移行した場合は、データ読み出し動作が必要になるが、Address Control信号を制御することによって、内部アドレス171の更新、データレジスタ回路190へのデータの格納、ページバッファ回路120へのフィードバックが同様に実行される。
【0193】
図6は、フラッシュメモリ100のデータ書き込み動作におけるWSM回路130が実行する制御のフローチャートである。
【0194】
図6に示すフローチャートにおいて、図5に示す各信号のタイミングチャートの説明は、S1000〜S1003に示す部分である。
【0195】
尚、図6に示すフローチャートは、メモリセルへのデータ書き込み動作に必要な制御のうち、フラッシュメモリ100および前述した従来技術との比較に必要な部分だけを記述しており、実際にはさらに多岐にわたる処理が実施されている。
また、一部の処理は図6に示す記述の通りの順序である必要は無い。
【0196】
まず始めに、内部アドレスをページアドレスの先頭に設定し(S1000)、メモリアレイ160をデータ読み出し状態にする(S1001)。
【0197】
次に、メモリセルのデータ読み出しが実行される(S1002)。この場合、ページモード読み出し機能を利用するので、1ページに含まれる全メモリ内容が読み出される。
【0198】
次に、内部アドレスが更新され(S1003)、その制御信号の制御によって、データレジスタ回路190へのデータの格納およびページバッファ回路120へのフィードバックも実行される。
【0199】
このS1003の処理を、1ページに含まれるアドレスの数だけ繰り返す。また、S1002のメモリセルのデータ読み出しと、S1003のアドレスの更新とを、一度に書き込みの準備をするページの数だけ繰り返す。
【0200】
次に、データ書き込みの準備が完了すると、メモリアレイ160をデータ書き込み状態に設定し(S1004)、書き込みを実行する(S1005)。
【0201】
以上、既に説明した従来技術のデータ書き込み動作の制御と比較すると明らかに、本発明のフラッシュメモリ100では、WSM回路130が簡潔な制御を行えば良いように設定されている。
【0202】
フラッシュメモリ100内のWSM回路130では、制御する信号の数が少ないために、データ書き込み動作の高速化も容易となり、回路規模も小型化が可能となる。
【0203】
以上の説明では、本発明のフラッシュメモリ100がページモード読み出し機能を有している場合について説明したが、フラッシュメモリ100がページモード読み出し機能を有していない場合でも、内部アドレス171を変化させるたびにデータ読み出し動作を行えば良く、本発明のフラッシュメモリ100とほぼ同様の効果が得られる。
【0204】
また、本発明のフラッシュメモリ100において、データレジスタ回路190への書き込みパルスデータのラッチと、ページバッファ回路120へのフィードバックとの両方をアドレス制御信号で制御する場合について説明したが、必ずしも両方をアドレス制御信号で制御する必要は無く、どちらか一方でも同様の効果が得られる。
【0205】
さらに、本発明のフラッシュメモリ100では、データレジスタ回路190およびページバッファ回路120の構成、または、データバスおよび制御バスの配線状態により、どちらか一方の動作しか制御できない場合でも、上記の効果を得ることが可能である。
【0206】
図7は、データレジスタ回路190に使用されるレジスタのセルの構成を示す回路図の他の例である。図7に示すレジスタのセルは、NAND回路およびインバータを有しているラッチ回路であり、WSM回路130から出力される制御信号であるリセット信号RSTBが追加されている以外は、図3に示すレジスタのセルの構成と同様である。
【0207】
図7に示すレジスタのセルのラッチ回路は、アレイノイズ等のデータ読み出し動作における見かけ上のメモリセルの閾値電圧の変動によるメモリセルへのオーバープログラムを抑制することを目的とする。
【0208】
図7に示すレジスタのセルのラッチ回路は、データレジスタ回路190の動作において、WSM回路130の制御によって、ラッチされた書き込みデータをリセットすることはできてもセットすることはできないモードを用意する。
【0209】
書き込みデータをセットできずに、リセットしか実行しないモードの時は、制御信号であるリセット信号RSTBをLOWレベルにする。
【0210】
この場合、図7に示すラッチ回路のフリップフロップは、リセットすることはできてもセットすることはできない。リセット信号RSTBがHIGHレベルの場合は、図7に示すラッチ回路のフリップフロップのセットもリセットも可能であり、図3に示すレジスタのセルのラッチ回路と同様の動作を行う。
【0211】
図7に示すレジスタのセルのラッチ回路は、各ステップの最初のデータレジスタ回路190へのデータの格納時は、リセット信号RSTBをHIGHレベルに設定し、それ以降はリセット信号RSTBをLOWレベルに設定する。図7に示すレジスタのセルのラッチ回路は、データレジスタ回路190にデータの格納する以外の処理では、図3に示すレジスタのセルのラッチ回路と同様の動作である。
【0212】
各ステップの最初において、図7に示すレジスタのセルのラッチ回路は、リセット信号RSTBをHIGHレベルにすることより、図3に示すレジスタのセルのラッチ回路と同様に、データ書き換えを実施するメモリセルに対応するレジスタのセルはセットされ、データ書き換えを実施すべきでないメモリセルに対応するレジスタのセルはリセットされる。
【0213】
このため、リセット信号RSTBがHIGHレベルの場合、図7に示すレジスタのセルのラッチ回路を使用したデータレジスタ回路190は、図3に示すレジスタのセルのラッチ回路を使用したデータレジスタ回路190と同様に、データ書き換えを実施べきか否かをメモリセル単位に設定できる。
【0214】
図7に示すレジスタのセルのラッチ回路を使用したデータレジスタ回路190は、同一のステップでは、最初のデータレジスタ回路190へのデータの格納以降のデータレジスタ回路へのデータの格納は、レジスタのセルがセットされないように、リセット信号RSTBをLOWレベルに設定して実行される。
【0215】
これにより、図7に示すレジスタのセルのラッチ回路を使用したデータレジスタ回路190では、最初のデータ読み出し動作によって、基準閾値電圧を超えていないと判断されたメモリセルに対してはレジスタのセルがセットされ、全てのセットされたレジスタのセルがリセットされると、そのステップにおけるデータ書き込み動作が完了したと判断できる。
【0216】
ところで、一度リセットされたレジスタセルが再びセットされる原因としては、前述のアレイノイズの影響および電源電圧の変動などによるセンス結果の変化が原因として考えられるが、多値フラッシュメモリでは、オーバープログラムの原因にもなり、好ましくない。
【0217】
図7に示すレジスタのセルのラッチ回路を使用したデータレジスタ回路190では、各ステップの最初を除いてレジスタのセルをセットしないことによって、アレイノイズ等に起因するデータ読み出し動作でのメモリセルの閾値電圧の見かけ上の変動の影響を抑制し、メモリセルへのオーバープログラムも防止できる。
【0218】
また、図7に示すレジスタのセルのラッチ回路を使用したデータレジスタ回路190を採用すると、フラッシュメモリ100において、データ読み出し動作でのメモリセルの閾値電圧の見かけ上の変動を低減するために用いられたページバッファ回路120のフィードバック機能を削除することも可能である。
【0219】
次に、図1に示すフラッシュメモリ100は、図3または7に示すレジスタのセルのラッチ回路を使用したデータレジスタ回路190を有する回路構成を用いて、一部の回路(多値論理回路)を変更することによって、フラッシュメモリ100のような多値フラッシュメモリのデータの取り扱いを、二値フラッシュメモリのデータの取り扱いと見かけ上同じものにすることが可能である。
【0220】
一般にフラッシュメモリでは、メモリメルへのデータ書き込み動作は一方向であり、例えば、二値フラッシュメモリでは、メモリセルの閾値電圧の低いほうから高いほうにデータ書き込みが行われ、通常の定義では、データ「1」からデータ「0」へのデータ書き込みしかできない。逆方向にデータを書き換えるには、ブロック単位での消去などが必要になる。
【0221】
既に何らかのデータが書き込まれたアドレスにデータの上書きが実行されたとき、二値フラッシュメモリでは、データ「1」のメモリセルにはデータ「0」を書き込むことはできるが、その逆はできない。このため、書き込み前のデータと書き込みが指示されたデータのAND(論理和)が書き込み後のデータの状態となる。
【0222】
図8は、データ書き込み動作における多値フラッシュメモリのデータと二値フラッシュメモリのデータとの互換性を説明する真理値表の一例である。
【0223】
図8に示す真理値表にしめすように、多値フラッシュメモリでは、データ「10」からデータ「01」へのデータ書き込みが可能なため、データ上書き時のデータの扱いは柔軟に対応できるが、例えば使用者が二値フラッシュメモリと同様に取り扱うためには、二値フラッシュメモリと同じく、書き込み前のデータと書き込みが指示されたデータのANDが最終の書き込み後のデータの状態にすることが望ましい。
【0224】
前述したように、多値フラッシュメモリでは、ページバッファ回路に格納されたデータと現在のメモリセルの状態(格納データ)から、ページバッファ回路に格納されたデータを、メモリセルの状態(格納データ)に更新することが可能である。
【0225】
この機能を利用すると、データ上書きの論理が二値フラッシュメモリと同様になるように、ページバッファ回路に格納されたデータを容易に書き換えることが可能である。
【0226】
図19には、フィードバックデータ生成の論理回路の一例を示したが、図19に示す論理回路を基にしてデータ上書きの論理の生成を加えると、例えば、図9に示す論理回路として実現できる。
【0227】
図9に示す論理回路は、NAND回路、NOR回路、AND回路、OR回路、インバータを有しており、出力信号であるFBK1およびFBK0、各入力信号等は、図19に示す論理回路と同様である。
【0228】
図9に示す論理回路では、データ上書きの論理の生成時には、STP1=STP0=L(L:LOWレベルまたは0の意味)とすることにより、他のデータ書き込みStepと区別している。
【0229】
図9に示す論理回路は、図19に示す論理回路にて例示したフィードバック機能用の回路を基にしているが、最終段のAND回路(ANDゲート)により、書き換えデータFBK[1:0]をLOWレベルに固定できる点が異なる。
【0230】
このため、図9に示す論理回路は、STP1=STP0=L、および、現在のメモリセルのデータ読み出し結果がLOWレベルであれば、そのビットはLOWに書き換えられる。
【0231】
以上、図8に示す真理値表および図9に示す論理回路によって、前述した図1に示すフラッシュメモリ100の回路構成およびデータ書き込み制御方法を利用して、多値フラッシュメモリへのデータ上書き時のデータの処理も実行することが可能である。
【0232】
【発明の効果】
本発明の半導体記憶装置は、データ書き換え制御手段が第1制御信号により、データレジスタ手段に第1書き込み信号の格納を指示し、データ書き換え制御手段から出力される第2制御信号のタイミングに基づいて、アドレス信号によって指定されるデータレジスタ手段に設けられた所定のレジスタに該第1書き込み信号を格納することによって、WSM回路の回路構成を簡略化し、データ書き込み動作の高速化が図れる。
【図面の簡単な説明】
【図1】本発明の実施形態である半導体記憶装置の要部のブロック図である。
【図2】図1の半導体記憶装置が有するデータレジスタ回路の構成図の一例である。
【図3】図2のデータレジスタ回路に使用されるレジスタのセルの回路図の一例である。
【図4】図2のデータレジスタ回路に使用されるレジスタ制御回路の一例である。
【図5】図1の半導体記憶装置のデータ書き込み動作における各信号のタイミングチャートの一例である。
【図6】図1の半導体記憶装置のデータ書き込み動作におけるフローチャートである。
【図7】図2のデータレジスタ回路に使用されるレジスタのセルの回路図の他の例である。
【図8】データ書き込み動作における多値フラッシュメモリのデータと二値フラッシュメモリのデータとの互換性を説明する真理値表の一例である。
【図9】図8の真理値表の論理を実現するための論理回路の一例である。
【図10】従来の半導体記憶装置のメモリセルの閾値電圧の分布を示すグラフである。
【図11】従来の他の半導体記憶装置のメモリセルの閾値電圧の分布を示すグラフである。
【図12】従来の他の半導体記憶装置のデータ書き込みアルゴリズムの一例である。
【図13】従来の他の半導体記憶装置のメモリアレイの要部を示す構成図の一例である。
【図14】従来の他の半導体記憶装置の要部のブロック図である。
【図15】従来のさらに他の半導体記憶装置の要部のブロック図である。
【図16】従来のさらに他の半導体記憶装置のデータ書き込み動作の論理の一例を示す真理値表である。
【図17】図16の真理値表の論理を実現するための論理回路の一例である。
【図18】従来のさらに他の半導体記憶装置のデータ書き込み動作の論理の他の例を示す真理値表である。
【図19】図18の真理値表の論理を実現するための論理回路の一例である。
【図20】従来の他の半導体記憶装置のデータ書き込み動作におけるフローチャートである。
【図21】従来のさらに他の半導体記憶装置のデータ書き込み動作におけるフローチャートである。
【符号の説明】
100 フラッシュメモリ
101 制御バス
102 アドレスバス
103 データバス
110 UI回路
111 制御バス
112 アドレスバス
113 データバス
114 制御バス
120 ページバッファ回路
121 データバス
130 WSM回路
131 信号
132 制御バス
133 制御バス
134 制御バス
135 制御バス
136 制御バス
137 制御バス
138 制御バス
139 アドレスバス
140 読み出し回路
141 データバス
145 MUX回路
146 データバス
150書き込み回路
160 メモリアレイ回路
161 読み出しバス
170 アドレス生成回路
171 アドレスバス
180 多値論理回路
181 データバス
182 データバス
190 データレジスタ回路
191 データバス

Claims (7)

  1. 記憶するデータ量が1ビット以上である複数のメモリセルが設けられているメモリアレイを有する半導体記憶装置において、
    該複数のメモリセルのデータ書き換え動作を制御するデータ書き換え制御手段と、
    前記メモリアレイにてデータ読み出しの対象のメモリセルを選択するアドレス信号を生成するアドレス生成手段と、
    前記メモリセルに格納されたデータを読み出すデータ読み出し手段と、
    前記メモリセルに書き込むデータを一時的に格納するページバッファ手段と、
    前記各メモリセルに対するデータ書き換えを実施するか否かを判断するデータ書き換え論理手段と、
    該データ書き換え論理手段から前記判断の結果として出力される第1書き込み信号を格納するデータレジスタ手段と、
    該データレジスタ手段から出力される第2書き込み信号に基づいて、該メモリアレイにてデータ書き込みの対象のメモリセルに選択的にデータ書き込みを実行するデータ書き込み手段と具備し、
    該データ書き換え制御手段は、第1制御信号により、前記データレジスタ手段に前記第1書き込み信号の格納を指示し、該データレジスタ手段は、該データ書き換え制御手段から出力される第2制御信号のタイミングに基づいて、該アドレス信号によって指定される該データレジスタ手段に設けられた所定のレジスタに該第1書き込み信号を格納することを特徴とする半導体記憶装置。
  2. 前記データレジスタ手段は、格納された前記第1書き込み信号の内容を固定し、前記メモリセルのデータ書き換え動作をセットしない機能が設けられている請求項1に記載の半導体記憶装置。
  3. 前記データ読み出し手段は、複数のアドレスに割り当てられた記憶内容を同時に読み出すページモード読み出し機能が設けられている請求項1記載の半導体記憶装置。
  4. 前記ページバッファ手段は、前記データ書き換え制御手段により、格納している前記書き込みデータを更新するフィードバックが指示されると、前記アドレス信号によって指定される前記書き込みデータを、前記データ書き換え論理手段にて生成されたフィードバックデータに変換する機能を有する請求項1記載の半導体記憶装置。
  5. 前記書き込みデータは、前記フィードバックの指示によって、前記メモリセルへのデータ書き込みが実施されないデータに変換される請求項4に記載の半導体記憶装置。
  6. 前記書き込みデータは、前記フィードバックの指示によって、前記メモリセルにデータ書き込みが実施される前に、前記メモリセルに格納されたデータに変換される請求項4に記載の半導体記憶装置。
  7. 請求項1に記載の半導体記憶装置によって実施されるデータ書き込み制御方法であって、
    アドレス生成手段にて生成されたアドレス信号により、データ書き込みのアドレスをページアドレスの先頭に設定する工程と、
    データ書き換え制御手段により、メモリアレイをデータ読み出し状態に設定する工程と、
    その後に、データ読み出し手段により、前記設定されたアドレスから前記メモリアレイのデータ読み出しを実行する工程と、
    次いで、前記データ読み出し手段によって、データ書き込みを行うページ数に含まれるアドレスの数だけ、データの読み出しと、該アドレスの更新とを実行する工程と、
    前記データ書き換え制御手段により、前記メモリアレイをデータ書き込み状態に設定する工程と、
    その後に、データ書き換え論理手段により、前記各メモリセルに対するデータ書き換えを実施するか否かを判断する工程と、
    データレジスタ手段により、前記データ書き換え論理手段から前記判断の結果として出力される第1書き込み信号を格納する工程と、
    次いで、データ書き込み手段により、前記データレジスタ手段から出力される第2書き込み信号に基づいて、前記メモリアレイにてデータ書き込みの対象のメモリセルに選択的にデータ書き込みを実行する工程とを包含し、
    前記第1書き込み信号を格納する工程は、前記データ書き換え制御手段が、第1制御信号により、前記データレジスタ手段に前記第1書き込み信号の格納を指示する工程と、該データレジスタ手段が、前記データ書き換え制御手段から出力される第2制御信号のタイミングに基づいて、前記アドレス信号によって指定される前記データレジスタ手段に設けられた所定のレジスタに前記第1書き込み信号を格納する工程とを含むことを特徴とするデータ書き込み制御方法。
JP2002175044A 2002-06-14 2002-06-14 半導体記憶装置およびデータ書き込み制御方法 Expired - Fee Related JP4010400B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2002175044A JP4010400B2 (ja) 2002-06-14 2002-06-14 半導体記憶装置およびデータ書き込み制御方法
US10/461,066 US7161843B2 (en) 2002-06-14 2003-06-12 Semiconductor memory device and method for writing data
DE60307184T DE60307184T2 (de) 2002-06-14 2003-06-12 Halbleiterspeicher und Verfahren zum Schreiben von Daten
EP03253721A EP1372157B1 (en) 2002-06-14 2003-06-12 Semiconductor memory device and method for writing data
TW092116151A TWI229340B (en) 2002-06-14 2003-06-13 Semiconductor memory device and method for writing data
KR1020030038529A KR100556199B1 (ko) 2002-06-14 2003-06-14 반도체 기억장치 및 데이터 기록방법
CNB031427235A CN100338685C (zh) 2002-06-14 2003-06-16 半导体存储装置和用于写入数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002175044A JP4010400B2 (ja) 2002-06-14 2002-06-14 半導体記憶装置およびデータ書き込み制御方法

Publications (2)

Publication Number Publication Date
JP2004022061A JP2004022061A (ja) 2004-01-22
JP4010400B2 true JP4010400B2 (ja) 2007-11-21

Family

ID=29561827

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002175044A Expired - Fee Related JP4010400B2 (ja) 2002-06-14 2002-06-14 半導体記憶装置およびデータ書き込み制御方法

Country Status (7)

Country Link
US (1) US7161843B2 (ja)
EP (1) EP1372157B1 (ja)
JP (1) JP4010400B2 (ja)
KR (1) KR100556199B1 (ja)
CN (1) CN100338685C (ja)
DE (1) DE60307184T2 (ja)
TW (1) TWI229340B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101002279B (zh) * 2004-03-26 2010-04-28 斯班逊有限公司 半导体器件及将资料写入该半导体器件的方法
JP4421925B2 (ja) 2004-03-30 2010-02-24 三星電子株式会社 不揮発性半導体記憶装置
KR100732628B1 (ko) * 2005-07-28 2007-06-27 삼성전자주식회사 멀티-비트 데이터 및 싱글-비트 데이터를 저장하는 플래시메모리 장치
US8184469B2 (en) * 2009-11-30 2012-05-22 Micron Technology, Inc. Stored multi-bit data characterized by multiple-dimensional memory states
JP5270627B2 (ja) * 2010-09-01 2013-08-21 スパンション エルエルシー 半導体装置
CN104111901B (zh) * 2014-08-07 2017-05-24 昆腾微电子股份有限公司 用于填充存储器的方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447069B1 (en) 1989-04-13 2008-11-04 Sandisk Corporation Flash EEprom system
KR100566466B1 (ko) * 1995-01-31 2006-03-31 가부시끼가이샤 히다치 세이사꾸쇼 반도체 메모리 장치
US5825708A (en) 1997-11-18 1998-10-20 Western Digital Corporation Control system for allowing multiple chips of a disk drive to safely assert and de-assert a reset signal on a reset line
US6034891A (en) * 1997-12-01 2000-03-07 Micron Technology, Inc. Multi-state flash memory defect management
US6424486B2 (en) 1997-12-17 2002-07-23 Texas Instruments Incorporated Method and apparatus for positioning a read/write head of a hard disk drive
JP2923643B2 (ja) * 1998-02-27 1999-07-26 株式会社日立製作所 多値メモリの記録方法および半導体記憶装置
US6026031A (en) * 1998-05-13 2000-02-15 Micron Technology, Inc. Relaxed write timing for a memory device
JP3871184B2 (ja) 2000-06-12 2007-01-24 シャープ株式会社 半導体記憶装置
US6496406B1 (en) 2000-06-30 2002-12-17 Mitsumi Electric Co., Ltd. Systems for managing optical disk drive parameters
US6728798B1 (en) * 2000-07-28 2004-04-27 Micron Technology, Inc. Synchronous flash memory with status burst output
JP2002288988A (ja) * 2001-03-28 2002-10-04 Mitsubishi Electric Corp 不揮発性半導体記憶装置

Also Published As

Publication number Publication date
KR100556199B1 (ko) 2006-03-03
EP1372157A1 (en) 2003-12-17
CN100338685C (zh) 2007-09-19
US20030233526A1 (en) 2003-12-18
CN1469389A (zh) 2004-01-21
TW200405348A (en) 2004-04-01
JP2004022061A (ja) 2004-01-22
EP1372157B1 (en) 2006-08-02
DE60307184D1 (de) 2006-09-14
TWI229340B (en) 2005-03-11
KR20030096093A (ko) 2003-12-24
DE60307184T2 (de) 2007-07-12
US7161843B2 (en) 2007-01-09

Similar Documents

Publication Publication Date Title
US9087608B2 (en) Method of programming non-volatile memory device and non-volatile memory device using the same
US7978532B2 (en) Erase method of flash memory device
US7539063B2 (en) Flash memory devices and programming methods for the same
KR100836762B1 (ko) 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법
US8711626B2 (en) Flash memory apparatus and method for generating read voltage thereof
KR101211840B1 (ko) 반도체 메모리 장치의 프로그램 방법
KR100960448B1 (ko) 불휘발성 메모리 장치의 프로그램 검증 방법
JP4270898B2 (ja) 不揮発性半導体記憶装置
KR20070087895A (ko) 고온 스트레스로 인한 읽기 마진의 감소를 보상할 수 있는플래시 메모리를 구비한 메모리 시스템
KR100933860B1 (ko) 불휘발성 메모리 장치의 멀티 레벨 셀 프로그램 방법
JP2022535376A (ja) メモリデバイスおよび方法
JP4010400B2 (ja) 半導体記憶装置およびデータ書き込み制御方法
KR100866957B1 (ko) 데이터 프로그램 시간을 단축시킨 불휘발성 메모리 장치 및그 구동방법
KR20090016945A (ko) 읽기동작타임을 줄일 수 있는 플래시 메모리 시스템 및그것의 읽기 동작 방법
JPWO2005093760A1 (ja) 半導体装置および半導体装置にデータを書き込む方法
KR100880329B1 (ko) 플래시 메모리 소자 및 그 프로그램 방법
JP2011198408A (ja) 不揮発性半導体記憶装置
US8223559B2 (en) Method of programming a memory
JP2011134422A (ja) 不揮発性半導体記憶装置
JP2009015977A (ja) 不揮発性半導体メモリとそれを用いた記憶装置
KR20100007688A (ko) 비휘발성 반도체 기억장치
JP5270627B2 (ja) 半導体装置
KR20100002071A (ko) 비휘발성 반도체 메모리 장치
KR20120004742A (ko) 비휘발성 메모리 및 이의 프로그램 방법
CN110827904A (zh) 存储器装置及其编程方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070806

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070829

R150 Certificate of patent or registration of utility model

Ref document number: 4010400

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100914

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110914

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120914

Year of fee payment: 5

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

Year of fee payment: 5

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

Year of fee payment: 6

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

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees