特許第5671335号(P5671335)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ラピスセミコンダクタ株式会社の特許一覧

特許5671335データ書き込み方法及び不揮発性半導体メモリ装置
<>
  • 特許5671335-データ書き込み方法及び不揮発性半導体メモリ装置 図000002
  • 特許5671335-データ書き込み方法及び不揮発性半導体メモリ装置 図000003
  • 特許5671335-データ書き込み方法及び不揮発性半導体メモリ装置 図000004
  • 特許5671335-データ書き込み方法及び不揮発性半導体メモリ装置 図000005
  • 特許5671335-データ書き込み方法及び不揮発性半導体メモリ装置 図000006
  • 特許5671335-データ書き込み方法及び不揮発性半導体メモリ装置 図000007
  • 特許5671335-データ書き込み方法及び不揮発性半導体メモリ装置 図000008
  • 特許5671335-データ書き込み方法及び不揮発性半導体メモリ装置 図000009
  • 特許5671335-データ書き込み方法及び不揮発性半導体メモリ装置 図000010
  • 特許5671335-データ書き込み方法及び不揮発性半導体メモリ装置 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5671335
(24)【登録日】2014年12月26日
(45)【発行日】2015年2月18日
(54)【発明の名称】データ書き込み方法及び不揮発性半導体メモリ装置
(51)【国際特許分類】
   G11C 16/02 20060101AFI20150129BHJP
   G11C 16/04 20060101ALI20150129BHJP
【FI】
   G11C17/00 611G
   G11C17/00 621Z
   G11C17/00 641
【請求項の数】8
【全頁数】19
(21)【出願番号】特願2010-292262(P2010-292262)
(22)【出願日】2010年12月28日
(65)【公開番号】特開2012-142040(P2012-142040A)
(43)【公開日】2012年7月26日
【審査請求日】2013年11月14日
(73)【特許権者】
【識別番号】308033711
【氏名又は名称】ラピスセミコンダクタ株式会社
(74)【代理人】
【識別番号】100079119
【弁理士】
【氏名又は名称】藤村 元彦
(74)【代理人】
【識別番号】100109036
【弁理士】
【氏名又は名称】永岡 重幸
(74)【代理人】
【識別番号】100147728
【弁理士】
【氏名又は名称】高野 信司
(72)【発明者】
【氏名】森 徹
【審査官】 滝谷 亮一
(56)【参考文献】
【文献】 特開2010−244641(JP,A)
【文献】 特表2007−524953(JP,A)
【文献】 特表2004−529448(JP,A)
【文献】 特表2004−524643(JP,A)
【文献】 米国特許第06493261(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 16/02
G11C 16/04
(57)【特許請求の範囲】
【請求項1】
複数のワード線と、各々がドレイン側及びソース側各々に電荷蓄積部を有し前記ワード線の各々にそのゲート端子が接続されたMOSFET構造を有する複数のメモリセルと、前記メモリセルの各々のドレイン端子及びソース端子に各々接続された複数のビット線と、を含む不揮発性半導体メモリ装置の前記メモリセル各々の前記電荷蓄積部に電荷を注入して前記電荷蓄積部毎の蓄積電荷量に対応する値を表すデータを書き込むデータ書き込み方法であって、
前記データに対応した書き込み前に、前記複数のメモリセル各々の前記ドレイン側及びソース側の電荷蓄積部に各々対応して前記ドレイン端子と前記ソース端子との間に流れる電流値を第1初期電流値及び第2初期電流値として測定する第1電流測定ステップと、
前記メモリセル毎に前記第1初期電流値と前記第2初期電流値とを大小比較する比較ステップと、
前記第1初期電流値が前記第2初期電流値より大であるという前記比較ステップの比較結果が得られたとき前記第1初期電流値に対応した前記ソース側の前記電荷蓄積部に電荷を注入して前記第1初期電流値を前記第2初期電流値に近づける第1電荷注入ステップと、
前記第2初期電流値が前記第1初期電流値より大であるという前記比較ステップの比較結果が得られたとき前記第2初期電流値に対応した前記ドレイン側の前記電荷蓄積部に電荷を注入して前記第2初期電流値を前記第1初期電流値に近づける第2電荷注入ステップと、を備えることを特徴とするデータ書き込み方法。
【請求項2】
前記複数のメモリセル全てについて測定された前記第1初期電流値及び前記第2初期電流値を含む前記初期電流値の平均値を算出して前記平均値を閾値電流とするステップと、
前記初期電流値のうちの最小値を検出してその最小値より若干前記平均値側の値を閾値最小電流とするステップと、
前記第1初期電流値が前記第2初期電流値より大であるという前記比較ステップの比較結果が得られたときに前記第1初期電流値が前記閾値電流より大でかつ前記第2初期電流値が前記閾値最小電流より大であるか否かを判別する第1判別ステップと、
前記第2初期電流値が前記第1初期電流値より大であるという前記比較ステップの比較結果が得られたときに前記第2初期電流値が前記閾値電流より大でかつ前記第1初期電流値が前記閾値最小電流より大であるか否かを判別する第2判別ステップと、を備え、
前記第1判別ステップにより前記第1初期電流値が前記閾値電流より大でかつ前記第2初期電流値が前記閾値最小電流より大であると判別されたとき前記第1電荷注入ステップは前記第1初期電流値に対応した前記ソース側の前記電荷蓄積部に電荷を注入し、
前記第2判別ステップにより前記第2初期電流値が前記閾値電流より大でかつ前記第1初期電流値が前記閾値最小電流より大であると判別されたとき前記第2電荷注入ステップは前記第2初期電流値に対応した前記ドレイン側の前記電荷蓄積部に電荷を注入することを特徴とする請求項1記載のデータ書き込み方法。
【請求項3】
前記第1電荷注入ステップ又は前記第2電荷注入ステップの実行後、その電荷注入されたメモリセルの前記ソース側及びソース側の電荷蓄積部に各々対応して前記ドレインと前記ソース端子との間に流れる電流値を新たな前記第1初期電流値及び前記第2初期電流値として測定する第2電流測定ステップと、
前記第2電流測定ステップの実行後、前記第1初期電流値及び前記第2初期電流値各々が前記閾値電流より小であること、又は前記第1初期電流値及び前記第2初期電流値のいずれか一方が前記閾値最小電流より小であることが検出されないとき電荷注入を繰り返すべく前記比較ステップを再度実行させる繰り返し判別ステップと、を備えることを特徴とする請求項2記載のデータ書き込み方法。
【請求項4】
前記第1電荷注入ステップ及び前記2電荷注入ステップは前記電荷注入を繰り返すときには電荷注入対象のメモリセルのゲート電圧をその繰り返し回数に応じて増加させることを特徴とする請求項3記載のデータ書き込み方法。
【請求項5】
前記繰り返し判別ステップは前記電荷注入の繰り返し回数が所定の回数に達したときには前記第1初期電流値及び前記第2初期電流値各々が前記閾値電流より小であること、又は前記第1初期電流値及び前記第2初期電流値のいずれか一方が前記閾値最小電流より小であることが検出されないときであっても電荷注入対象のメモリセルに対する電荷注入を終了させることを特徴とする請求項3又は4記載のデータ書き込み方法。
【請求項6】
前記データに対応した書き込みにおいて前記データが表す値に対応したソース・ドレイン間電圧及び閾値電流を設定する条件設定ステップと、
書き込み対象のメモリセルの電荷注入される電荷蓄積部に対応して前記ドレイン端子と前記ソース端子との間に流れる電流値を測定する第3電流測定ステップと、
前記第3電流測定ステップにより測定された前記電流値が前記条件設定ステップで設定された前記閾値電流に所定電流値を加えた加算閾値より小であるか否かを判別するステップと、
前記第3電流測定ステップにより測定された前記電流値が前記加算閾値以上であるとき前記条件設定ステップで設定された前記ソース・ドレイン間電圧をそのまま用いて前記書き込み対象のメモリセルの当該電荷蓄積部に電荷注入するように前記データを書き込み、前記電流測定ステップにより測定された前記電流値が前記加算閾値より小であるとき前記条件設定ステップで設定された前記ソース・ドレイン間電圧から所定電圧を差し引いて得られた電圧を実際に印加されるべき前記ソース・ドレイン間電圧として用いて前記書き込み対象のメモリセルの当該電荷蓄積部に電荷注入するように前記データを書き込みステップと、を備えることを特徴とする請求項1記載のデータ書き込み方法。
【請求項7】
前記データに対応した書き込みにおいて書き込み対象のメモリセルの前記ドレイン側及びソース側の電荷蓄積部に電荷注入する場合に、その双方の電荷蓄積部のいずれか一方の蓄積電荷量が、前記データが表す値に対応した電荷量に達するまでに前記双方の電荷蓄積部に交互に電荷注入を行うことを特徴とする請求項1記載のデータ書き込み方法。
【請求項8】
複数のワード線と、各々がドレイン側及びソース側各々に電荷蓄積部を有し前記ワード線の各々にそのゲート端子が接続されたMOSFET構造を有する複数のメモリセルと、前記メモリセルの各々のドレイン端子及びソース端子に各々接続された複数のビット線と、を含み、前記メモリセル各々の前記電荷蓄積部に電荷を注入して前記電荷蓄積部毎の蓄積電荷量に対応する値を表すデータを書き込む不揮発性半導体メモリ装置であって、
前記データの実際の書き込み前に、前記複数のメモリセル各々の前記ドレイン側及びソース側の電荷蓄積部に各々対応して前記ドレイン端子と前記ソース端子との間に流れる電流値を第1初期電流値及び第2初期電流値として測定する第1電流測定手段と、
前記メモリセル毎に前記第1初期電流値と前記第2初期電流値とを大小比較する比較手段と、
前記第1初期電流値が前記第2初期電流値より大であるという前記比較手段の比較結果が得られたとき前記第1初期電流値に対応した前記ソース側の前記電荷蓄積部に電荷を注入して前記第1初期電流値を前記第2初期電流値に近づける第1電荷注入手段と、
前記第2初期電流値が前記第1初期電流値より大であるという前記比較手段の比較結果が得られたとき前記第2初期電流値に対応した前記ドレイン側の前記電荷蓄積部に電荷を注入して前記第2初期電流値を前記第1初期電流値に近づける第2電荷注入手段と、を備えることを特徴とする不揮発性半導体メモリ装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不揮発性半導体メモリ装置及びその不揮発性半導体メモリ装置のデータ書き込み方法に関する。
【背景技術】
【0002】
1つのメモリセルに2つの電荷蓄積部を有し、各電荷蓄積部に論理データ(“0”又は“1”)を記憶することにより1つのメモリセル当たり2ビットの記憶容量を有する不揮発性半導体メモリ装置が知られている(特許文献2及び3参照)。このようなメモリ装置で使用されるメモリセルは例えばnMOSFET構造を有し、ドレイン端子側とソース端子側に互いに離間して形成された2つの電荷蓄積部を有する。電荷蓄積部に電荷が蓄積された状態を例えばデータ“0”に対応させ、電荷が蓄積されていない状態を例えばデータ“1”に対応させることにより各電荷蓄積部に1ビット、1メモリセル当たり2ビットのデータを記憶させることが可能となる。かかるメモリセルへのデータの書き込み、読み出し及び消去は、例えば以下の方法により行われる。
【0003】
例えば、ドレイン端子側の電荷蓄積部にデータ“0”の書き込みを行う場合には、ドレイン端子およびゲート端子に正電圧を印加し、ソース端子を接地電圧とする。これにより、ドレイン側の電荷蓄積部にホットエレクトロンが注入され、これが保持されてデータ“0”が書き込まれる。
【0004】
次に、ドレイン端子側の電荷蓄積部に記憶されたデータの読出しを行う場合には、ソース端子およびゲート端子に正電圧を印加し、ドレイン端子を接地電圧とする。この時ドレイン側の電荷蓄積部に電荷が蓄積されていない場合、すなわち当該電荷蓄積部にデータ“1”が記録されている場合、比較的大きな読出し電流が得られる。一方、ドレイン側の電荷蓄積部に電荷が蓄積されている場合、すなわち当該電荷蓄積部にデータ“0”が記録されている場合、蓄積された電荷の影響により読出し電流はデータ“1”が記録されている場合と比較して小さくなる。このように、電荷蓄積部内の電荷の有無によって、読み出し電流の大きさに差が表れるため、この読出し電流の大小を判定することによりデータの読み出しを行うことができる。
【0005】
次に、ドレイン端子側の電荷蓄積部に記憶されたデータの消去を行う場合には、ドレイン端子に正電圧を印加し、ゲート端子に0又は負電圧を印加し、ソース端子をオープン状態とする。これにより、ドレイン領域近傍で発生したホットホールが電荷蓄積部に注入され、電荷蓄積部に蓄積されている電荷が中和されることによりデータの消去がなされる。
【0006】
図1は、かかる2ビットの記憶容量を有するメモリセル(以下、2ビットメモリセルと称する)における理想的な読出し電流の分布を示すグラフであり、横軸が読み出し電流値、縦軸が頻度を示している。同図に示すように、読出し電流は、データ“0”および“1”の各々に対応する標準値を中心として一定の幅を持った分布をとる。このように互いに異なるデータ(“0”および“1”)に対応する各読出し電流分布の間の範囲を電流ウィンドウと称する。メモリセルに書き込まれたデータを精度良く読み出すためには、十分な幅の電流ウィンドウを確保する必要がある。つまり、データ“0”の読出し電流値とデータ“1”の読出し電流値とが近接していると正確な読出しを行うことが困難となる。
【0007】
また、近年1つのメモリセルに2つの電荷蓄積部を有し、各電荷蓄積部に4値のデータ(“00”・“01”・“10”・“11”)を記憶することにより1つのメモリセル(以下、4ビットメモリセルと称する)当たり4ビットの記憶容量を有する不揮発性半導体メモリの開発が進められている。各電荷蓄積部への4値(すなわち2ビット)のデータ記録は、各電荷蓄積部に蓄積させる電荷量をも制御して、蓄積電荷量を4値のデータの各々に対応させることにより行う。データの読出しの原理は、上記した2ビットメモリセルの場合と同様であり、読出し電流の値を読取ることで4値のデータの判別を行う(特許文献1参照)。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2010−27162号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、4ビットメモリセルの場合には、読出し電流の分布では図2に示すように、図1に示した2ビットメモリセルの場合と比較して電流ウィンドウが狭くなる。このために電荷の有無のみを判別する2ビットメモリセルと比較して、蓄積電荷量の大小をも判別することを要する4ビットメモリセルの方が高い読出し精度が要求される。
【0010】
高い読出し精度のために、各メモリセルにおいてドレイン端子側の電荷蓄積部及びソース端子側の電荷蓄積部とでデータ読み出しの際の読み出し電流値のばらつきを低減させることが望まれている。
【0011】
そこで、本発明の目的は、かかる点を鑑みてなされたものであり、高い読出し精度が得られるようにデータの書き込みを行うことができる不揮発性半導体メモリ装置のデータ書き込み方法及び不揮発性半導体メモリ装置を提供することである。
【課題を解決するための手段】
【0012】
本発明の不揮発性半導体メモリ装置のデータ書き込み方法は、複数のワード線と、各々がドレイン側及びソース側各々に電荷蓄積部を有し前記ワード線の各々にそのゲート端子が接続されたMOSFET構造を有する複数のメモリセルと、前記メモリセルの各々のドレイン端子及びソース端子に各々接続された複数のビット線と、を含む不揮発性半導体メモリ装置の前記メモリセル各々の前記電荷蓄積部に電荷を注入して前記電荷蓄積部毎の蓄積電荷量に対応する値を表すデータを書き込むデータ書き込み方法であって、前記データに対応した書き込み前に、前記複数のメモリセル各々の前記ドレイン側及びソース側の電荷蓄積部に各々対応して前記ドレイン端子と前記ソース端子との間に流れる電流値を第1初期電流値及び第2初期電流値として測定する第1電流測定ステップと、前記メモリセル毎に前記第1初期電流値と前記第2初期電流値とを大小比較する比較ステップと、前記第1初期電流値が前記第2初期電流値より大であるという前記比較ステップの比較結果が得られたとき前記第1初期電流値に対応した前記ソース側の前記電荷蓄積部に電荷を注入して前記第1初期電流値を前記第2初期電流値に近づける第1電荷注入ステップと、前記第2初期電流値が前記第1初期電流値より大であるという前記比較ステップの比較結果が得られたとき前記第2初期電流値に対応した前記ドレイン側の前記電荷蓄積部に電荷を注入して前記第2初期電流値を前記第1初期電流値に近づける第2電荷注入ステップと、を備えることを特徴としている。
【0013】
本発明の不揮発性半導体メモリ装置は、複数のワード線と、各々がドレイン側及びソース側各々に電荷蓄積部を有し前記ワード線の各々にそのゲート端子が接続されたMOSFET構造を有する複数のメモリセルと、前記メモリセルの各々のドレイン端子及びソース端子に各々接続された複数のビット線と、を含み、前記メモリセル各々の前記電荷蓄積部に電荷を注入して前記電荷蓄積部毎の蓄積電荷量に対応する値を表すデータを書き込む不揮発性半導体メモリ装置であって、前記データの実際の書き込み前に、前記複数のメモリセル各々の前記ドレイン側及びソース側の電荷蓄積部に各々対応して前記ドレイン端子と前記ソース端子との間に流れる電流値を第1初期電流値及び第2初期電流値として測定する第1電流測定手段と、前記メモリセル毎に前記第1初期電流値と前記第2初期電流値とを大小比較する比較手段と、前記第1初期電流値が前記第2初期電流値より大であるという前記比較手段の比較結果が得られたとき前記第1初期電流値に対応した前記ソース側の前記電荷蓄積部に電荷を注入して前記第1初期電流値を前記第2初期電流値に近づける第1電荷注入手段と、前記第2初期電流値が前記第1初期電流値より大であるという前記比較手段の比較結果が得られたとき前記第2初期電流値に対応した前記ドレイン側の前記電荷蓄積部に電荷を注入して前記第2初期電流値を前記第1初期電流値に近づける第2電荷注入手段と、を備えることを特徴としている。
【発明の効果】
【0014】
本発明のデータ書き込み方法及び不揮発性半導体メモリ装置によれば、メモリセル各々のドレイン側及びソース側の電荷蓄積部に各々対応してドレイン端子とソース端子との間に流れる電流値である第1初期電流値及び第2初期電流値をほぼ一致させることができる。よって、その後に実行されるデータ書き込み処理でデータが書き込まれた場合に、各メモリセルにおいてドレイン端子側の電荷蓄積部及びソース端子側の電荷蓄積部とでデータ読み出しの際の読み出し電流値のばらつきを低減させることができるので、高い読出し精度を得ることができる。
【図面の簡単な説明】
【0015】
図1】2ビットメモリセルにおける理想的な読み出し電流の分布を示すグラフである。
図2】4ビットメモリセルにおける理想的な読み出し電流の分布を示すグラフである。
図3】本発明が適用された不揮発性半導体メモリ装置の構成を示すブロック図である。
図4図3の装置中の各メモリセルの構造を示す断面図である。
図5図3の装置中のコントローラによるデータ書き込み処理動作を示すフローチャートである。
図6】データ書き込み処理によるデータ値に対応した電荷蓄積を示す図である。
図7】データ値毎の電荷注入の繰り返し時のゲート電圧の変化を示す図である。
図8図3の装置中のコントローラによる前処理動作を示すフローチャートである。
図9図3の装置中のコントローラによるデータ書き込み処理動作を示すフローチャートである。
図10】1つのメモリセルの双方の電荷蓄積部各々にデータ“01”書き込みのための電荷注入方法を示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
【0017】
図3は本発明の実施例として不揮発性半導体メモリ装置の構成を示している。この半導体メモリ装置は、不揮発性半導体メモリ100、ロウデコーダ104、カラムデコーダ106、及びコントローラ108を備えている。
【0018】
不揮発性半導体メモリ100は、列方向に配列された複数のビット線BL及びこれと交差して行方向に配列された複数のワード線WLが設けられている。ビット線BLとワード線WLの各交差部にはメモリセル10が設けられ、これらによってメモリセルアレイが構成される。各メモリセル10のゲート端子は、ワード線WLに接続され、ソース端子およびドレイン端子はそれぞれビット線BLに接続される。ドレイン側のビット線BLとソース側のビット線BLは対をなし、この1対のビット線間に書き込み電圧が供給されることにより各メモリセル10のドレイン−ソース間に当該書き込み電圧が印加されることとなる。
【0019】
複数のメモリセル10各々は同一構造であり、nMOSFETからなる。図4はメモリセル10の主要部を示す断面図である。
【0020】
メモリセル10は、p型のシリコン基板12の上面にSiO2からなるゲート酸化膜22を介してポリシリコンからなるゲート電極24が形成されている。シリコン基板12表面のゲート電極24を挟む位置にn型不純物を高濃度に含有するソース領域16およびドレイン領域18が形成されている。ゲート電極24直下のシリコン基板12の表面領域はnMOSFETの動作時において電流路が形成されるチャンネル領域20である。チャンネル領域20とソース領域16およびドレイン領域18との間にはソース領域16およびドレイン領域18に隣接して比較的不純物濃度の低いn型のエクステンション領域26および28が形成される。このエクステンション領域26および28は、後述の第1および第2電荷蓄積部に効率的に電荷を注入するために設けられるものである。
【0021】
ソース側のエクステンション領域26の上部には第1電荷蓄積部30が設けられ、ドレイン側のエクステンション領域28の上部には第2電荷蓄積部32が設けられている。第1および第2電荷蓄積部30、32は、シリコン酸化膜301、シリコン窒化膜303、シリコン酸化膜303からなるONO積層絶縁膜により構成される。第1および第2電荷蓄積部30および32はそれぞれエクステンション領域26および28からゲート電極24の側壁に亘って延在している。これにより、電荷の蓄積および保持を確実に行うことができる。また、第1電荷蓄積部30と第2の電荷蓄積32は、物理的に連続せず、つまり互いに離間して形成されているので、各電荷蓄積部に対して別個独立に電荷を蓄積保持できるようになっている。
【0022】
ワード線WLの各々はロウデコーダ104に接続され、ビット線BLの各々はカラムデコーダ106に接続される。ロウデコーダ104およびカラムデコーダ106は、コントローラ108に接続される。
【0023】
コントローラ108には、各メモリセル10に対するデータの書込み、読み止しおよび消去を制御する演算部108Aと、記録データを一時的に記憶する一時記憶部108Bと、後述するデータ書き込みプログラム等を記憶した不揮発性記憶部108Cと、が設けられている。コントローラ108は、不揮発性半導体メモリ100に記録すべきデータが外部より入力されると、データ書き込みプログラムを実行してロウデコーダ104に対して記録先のアドレス情報およびワード線WLに印加すべき電圧に関する情報を含む制御信号を供給する。また、カラムデコーダに対しては、記録先のアドレス情報および記録データに対応したビット線BLに印加すべき電圧に関する情報を含む制御信号を供給する。
【0024】
ロウデコーダ104は、コントローラ108より供給される制御信号に基づいてワード線WLを選択し、選択した1のワード線WLにゲート電圧Vgwを供給する。本実施例の不揮発性半導体メモリ100によるデータ書き込み処理おいては、各メモリセルのゲート端子には、記録データの値にかかわらず共通のゲート電圧Vgwが供給される。
【0025】
カラムデコーダ106は、コントローラ108より供給される制御信号に基づいて少なくとも1対のビット線BL(1つのメモリセルのドレイン端子及びソース端子に個別に接続されたビット線BL)を選択し、選択したビット線BLの一方にドレイン電圧Vdwを印加し、他のビット線BLにソース電圧Vswを印加することによりそれのビット線BLに接続されたメモリセルのドレイン−ソース端子間に書き込み電圧Vdswを供給する。各メモリセルのドレイン−ソース端子間には、記録すべき4値のデータ毎に異なった電圧レベルの書き込み電圧Vdswが供給されることとなる。すなわち、各メモリセルに注入される電荷量はビット線BLを介して供給されるドレイン−ソース間電圧Vdswによって制御される。本実施例の不揮発性半導体メモリ100によるデータ書き込み処理においては、共通のワード線WLに接続された複数のメモリセルに対して、ビット線BLを介して互いに異なる電圧レベルの書き込み電圧Vdswをドレイン−ソース間に印加することにより、互いに値の異なるデータを同時に書き込むことができるようになっている。
【0026】
また、各メモリセル10には、ソース−ドレイン領域間のチャネル形成領域(電流路)に流れる電流を検出する電流検出器60を備え、その検出値は、コントローラ108に入力される。なお、図3には1つのメモリセル10にのみ電流検出器60が示されているが、実際にはメモリセル10毎に電流検出器60が設けられている。
【0027】
次に、本実施例の不揮発性半導体メモリ装置において行われるデータ書き込み動作について図5および図6を参照しつつ説明する。図5は、本実施例に係る不揮発性半導体メモリ装置によるデータ書き込み処理の流れを示すフローチャート図である。図6は、共通のワード線に接続された2つのメモリセル10aおよび10bにデータ書き込みを行う場合の各ステップを示した図であり、不揮発性半導体メモリを構成するメモリセルアレイの構成の一部が示されている。
【0028】
本実施例に係るデータ書き込み処理は、ワード線WL毎に行われ、選択された1のワード線WLに接続されたメモリセルがデータの書き込み対象となる。例えば、1つのワード線WLが選択されると、同一のデータを書き込むべきメモリセルが選択され、その選択されたメモリセルに対して1つずつ順番に書き込むことが行われる。また、1つのメモリセルで第1電荷蓄積部30と第2の電荷蓄積32とに同一のデータを書き込むときには例えば、先ず、第1電荷蓄積部30にデータを書き込んでから第2の電荷蓄積32にデータを書き込むことが行われる。選択された1のワード線WLに接続された全てのメモリセルに対して書き込み処理が完了すると、新たなワード線WLが選択される。そして当該新たに選択されたワード線WLに接続されたメモリセルが書き込み対象となる。かかるワード線の順次選択および書き込み処理は、記録すべきデータの記録が完了するか、メモリセルアレイ上の全てのメモリセルに対して書き込みが完了するまで繰り返し行われる。具体的なデータ書き込み方法について以下に詳述する。
【0029】
コントローラ108は、不揮発性半導体メモリ100に記録すべきデータが外部より入力されると、不揮発性記憶部108Cに記憶しているデータ書き込みプログラムを実行する。不揮発性半導体メモリ100の各構成部分は、このデータ書き込みプログラムに従って動作する。
【0030】
データ書き込み処理の第1ステップS1は、外部より順次入力される記録データを本実施例の不揮発性半導体メモリ100への書き込みに対応させるために行われる入力データの分割処理である。コントローラ108の演算部108Aは、順次供給される入力データの一部(例えば、1のワード線WLに接続されたメモリセルの記憶容量に相当するデータ量のデータ)を一次保存部108Aに保存する。演算部108Aは、入力データを一次保存部108Aから順次取り出してこれを2ビット毎のデータ片に分割するとともに、分割された各データ片にメモリセルアレイ上の記録先を示すアドレス情報を付加して一次保存部108Aに保存する(ステップS1)。
【0031】
データ書き込み処理の第2ステップS2は、データ“00”の先行書き込み処理である。本実施例では、図6に示すワード線WL1に接続されたメモリセル10aおよび10bのソース側の第1電荷蓄積部30aおよび30bにデータ“00”を書き込むものとする。コントローラ108は、分割された2ビットのデータ片のうち、読み出し電流の大きさが最も低いデータ“00”のみ一次保存部108Aより抽出し、これらのデータに付随するアドレス情報によって示される記録先のメモリセルに書き込み処理を行うべく、ロウデコーダ104およびカラムデコーダ106に制御信号を供給する。
【0032】
ロウデコーダ104は、コントローラ108より供給された制御信号に含まれるアドレス情報によって示されるデータ書き込み先のメモリセルに対応するワード線WL1に所定のゲート電圧Vgwを所定の書き込み時間(例えば、500nsec)だけ印加する。すなわち、ロウデコーダ104は、制御信号に基づいて、ワード線WL1を介してメモリセル10aおよび10bのゲート端子にゲート電圧Vgwを印加する。
【0033】
カラムデコーダ106は、コントローラ108より供給された制御信号に含まれるアドレス情報によって示されるデータ書き込み先のメモリセルに対応するビット線BL間に記録データ“00”に対応する所定の書き込み電圧Vdswを印加する。すなわち、カラムデコーダ106は、制御信号に基づいてメモリセル10a(10b)の各ソース端子に接続されたビット線BLにデータ“00”に応じた書き込み電圧Vdswを印加するとともに、これらのメモリセルの各ドレイン端子に接続されたビット線BLを接地電位とする。これにより、メモリセル10a(10b)のドレイン−ソース端子間にデータ“00”に応じた書き込み電圧Vdswが印加され、第1電荷蓄積部30a(30b)には一定量の電荷が注入されることとなる。
【0034】
各メモリセルに対して第1回目の電荷注入が完了すると、コントローラ108は、電荷注入が行われた書き込み対象のメモリセル10a(10b)の読み出し電流を確認すべく、ロウデコーダ104およびカラムデコーダ106に制御信号を供給する。
【0035】
ロウデコーダ104は、コントローラ108より供給された制御信号に含まれるアドレス情報によって示されるデータ読み出しの対象となるメモリセル10a(10b)に対応するワード線WL1にデータ読み出しのための所定のゲート電圧Vgrを印加する。
【0036】
カラムデコーダ106は、コントローラ108より供給された制御信号に含まれるアドレス情報によって示されるデータ読み出し対象となるメモリセル10a(10b)に対応するビット線BLに所定の読み出し電圧Vdsrを印加する。具体的には、メモリセル10a(10b)のドレイン端子に接続されたビット線BLに所定の読み出し電圧Vdsrを印加するとともに、ソース端子に接続されたビット線BLを接地電位とする。これにより、メモリセル10a(10b)のドレイン−ソース間に読み出し電流が流れる。
【0037】
コントローラ108は、電流検出器60から得られる読み出し電流の値を計測し、この読み出し電流値がデータ“00”に応じた所定値に達しているかどうかを判定する。コントローラ108は、読み出し電流の値が所定値に達していないと判定した場合には、第2回目の電荷注入処理を行うべく、ロウデコーダ104およびカラムデコーダ106に制御信号を供給し、これに応じて行われるメモリセル10a(10b)の第1電荷蓄積部30a(30b)に対する第2回目の電荷注入が完了すると、再度読み出し電流の計測および判定を行う。かかる電荷注入処理と読み出し電流の確認処理は、読み出し電流の値がデータ“00”に応じた所定値に達するまで複数回に亘って行われる。コントローラ108によって読み出し電流が所定値に達したと判定されるとデータ“00”の書き込み処理が完了する。
【0038】
このように、各メモリセルに対するデータの書き込み処理は、電荷注入処理と読み出し電流の確認処理とを交互に繰り返し行うことで、書き込み対象の電荷蓄積部に対してデータ“00”に応じた電荷量の電荷注入が行われるのである。かかる書き込み方法によれば、記録データに対応する電荷量を一括で注入する場合と比較して、読み出し電流のセル間ばらつきを低減することができ、書き込みおよび読み出し精度の向上を図るとともに、過剰な電荷注入を防止して電流ウィンドウを確保することができる。図6(a)は、メモリセル10a及び10bの第1電荷蓄積部30a及び30bへのデータ“00”の書き込み処理が完了した状態を示している。
【0039】
データ書き込み処理の第3ステップS3は、データ“01”の書き込み処理である。コントローラ108は、ステップS3ではデータ“01” を一次保存部108Aより抽出し、このデータに付随するアドレス情報によって示される記録先のメモリセルに書き込み処理を行うべく、ロウデコーダ104およびカラムデコーダ106に制御信号を供給する。本実施例ではワード線WL1に接続されたメモリセル10aのドレイン側の第2電荷蓄積部32aにデータ“01”を書き込むものとする。
【0040】
この場合、ロウデコーダ104は、制御信号に基づいてワード線WL1に所定のゲート電圧Vgwを所定の書き込み時間(例えば、500nsec)だけ印加する。一方、カラムデコーダ106は、制御信号に基づいてメモリセル10aのドレイン端子に接続されたビット線BLにデータ“01”に対応する所定の書き込み電圧Vdw、例えば、6Vを印加し、ソース端子に接続されたビット線BLを接地電位とする。これにより、メモリセル10aのドレイン−ソース端子間にそれぞれデータ“01”に応じた書き込み電圧Vdwが同時に印加され、第2電荷蓄積部32aには一定量の電荷が注入されることとなる。
【0041】
各メモリセルに対して第1回目の電荷注入処理が完了すると、コントローラ108は、電荷注入が行われた書き込み対象のメモリセル10aの読み出し電流を確認すべく、ロウデコーダ104およびカラムデコーダ106に制御信号を供給する。
【0042】
ロウデコーダ104は、コントローラ108より供給された制御信号に含まれるアドレス情報によって示されるデータ読み出しの対象となるメモリセル10aに対応するワード線WL1にデータ読み出しのための所定のゲート電圧Vgrを印加する。
【0043】
カラムデコーダ106は、コントローラ108より供給された制御信号に含まれるアドレス情報によって示されるデータ読み出し対象となるメモリセル10aに対応するビット線BLに所定の読み出し電圧を印加する。具体的には、メモリセル10aのソース端子に接続されたビット線BLに所定の読み出し電圧Vsrを印加するとともに、ドレイン端子に接続されたビット線BLを接地電位(Vdr=0V)とする。これにより、メモリセル10aのドレイン−ソース間に読み出し電流が流れる。
【0044】
コントローラ108は、電流検出器60から得られる読み出し電流の値を計測し、この読み出し電流値がデータ“01”に応じた所定値に達しているかどうかを判定する。コントローラ108は、読み出し電流の値が所定値に達していないと判定した場合には、第2回目の電荷注入処理を行うべく、ロウデコーダ104およびカラムデコーダ106に制御信号を供給し、これに応じて行われるメモリセル10aの第2電荷蓄積部32aに対する第2回目の電荷注入が完了すると、再度読み出し電流の計測および判定を行う。かかる電荷注入処理と読み出し電流の確認処理は、読み出し電流の値がデータ“01”に応じた所定値に達するまで複数回に亘って行われ、読み出し電流値がコントローラ108によって所定値に達したと判定されるとデータ“01”の書き込み処理が完了する。
【0045】
次に、データ書き込み処理の第4ステップS4は、データ“10”の書き込み処理である。コントローラ108は、ステップS4ではデータ“10” を一次保存部108Aより抽出し、このデータに付随するアドレス情報によって示される記録先のメモリセルに書き込み処理を行うべく、ロウデコーダ104およびカラムデコーダ106に制御信号を供給する。本実施例ではワード線WL1に接続されたメモリセル10bのドレイン側の第2電荷蓄積部32bにデータ“10”を書き込むものとする。
【0046】
この場合、ロウデコーダ104は、制御信号に基づいてワード線WL1に所定のゲート電圧Vgwを所定の書き込み時間(例えば、500nsec)だけ印加する。一方、カラムデコーダ106は、制御信号に基づいてメモリセル10bのドレイン端子に接続されたビット線BLにデータ“10”に対応する所定の書き込み電圧(Vdw=6V)を印加し、ソース端子に接続されたビット線BLを接地電位(Vsw=0V)とする。これにより、メモリセル10bのドレイン−ソース端子間にそれぞれデータ“10”に応じた書き込み電圧が同時に印加され、第2電荷蓄積部32bには一定量の電荷が注入されることとなる。
【0047】
各メモリセル10に対して第1回目の電荷注入処理が完了すると、コントローラ108は、電荷注入が行われた書き込み対象のメモリセル10bの読み出し電流を確認すべく、ロウデコーダ104およびカラムデコーダ106に制御信号を供給する。
【0048】
ロウデコーダ104は、コントローラ108より供給された制御信号に含まれるアドレス情報によって示されるデータ読み出しの対象となるメモリセル10bに対応するワード線WL1にデータ読み出しのための所定のゲート電圧Vgrを印加する。
【0049】
カラムデコーダ106は、コントローラ108より供給された制御信号に含まれるアドレス情報によって示されるデータ読み出し対象となるメモリセル10aに対応するビット線BLに所定の読み出し電圧を印加する。具体的には、メモリセル10bのソース端子に接続されたビット線BLに所定の読み出し電圧Vsrを印加するとともに、ドレイン端子に接続されたビット線BLを接地電位とする。これにより、メモリセル10bのドレイン−ソース間に読み出し電流が流れる。
【0050】
コントローラ108は、電流検出器60から得られる読み出し電流の値を計測し、この読み出し電流値がデータ“10”に応じた所定値に達しているかどうかを判定する。コントローラ108は、読み出し電流の値が所定値に達していないと判定した場合には、第2回目の電荷注入処理を行うべく、ロウデコーダ104およびカラムデコーダ106に制御信号を供給し、これに応じて行われるメモリセル10bの第2電荷蓄積部32bに対する第2回目の電荷注入が完了すると、再度読み出し電流の計測および判定を行う。かかる電荷注入処理と読み出し電流の確認処理は、読み出し電流の値がデータ“10”に応じた所定値に達するまで複数回に亘って行われ、読み出し電流値がコントローラ108によって所定値に達したと判定されるとデータ“10”の書き込み処理が完了する。
【0051】
このように、各メモリセル10に対するデータ“01”と“10”の書き込み処理は、上記したデータ“00”の場合と同様、電荷注入処理と読み出し電流の確認処理とを交互に繰り返し行うことで、書き込み対象の電荷蓄積部に対してデータ“01”および“10”に対応する電荷量の電荷注入が行われるのである。このような書き込み方法によれば、記録データに対応する電荷量を一括で注入する場合と比較して、読み出し電流のセル間ばらつきを低減することができ、書き込みおよび読み出し精度の向上を図るとともに、過剰な電荷注入を防止して電流ウィンドウを確保することができる。
【0052】
また、本実施例においては、各メモリセルのドレイン端子およびソース端子に接続されるビット線BLに印加する書き込み電圧Vdswを記録データに応じて変化させることにより4値のデータを記録するようにしたので、共通のワード線WLに接続された複数のメモリセルに対して同時に書き込み処理を行うことが可能となる。このようにして、ワード線WL1に接続された全てのメモリセルに対するデータ書き込み処理が完了する。図6(b)は、メモリセル10aの第2電荷蓄積部32aへのデータ“01”の書き込み処理と、メモリセル10bの第2電荷蓄積部32bへのデータ“10”の書き込み処理が完了した状態を示している。
【0053】
データ書き込み処理の第5ステップS5は、全入力データの書き込み処理が完了したか否かの判定処理である。コントローラ108は、不揮発性半導体メモリ100に記録すべき全入力データの書き込み処理が未完了であると判定した場合には、ステップS6に進み、全入力データの書き込み処理が完了したと判定した場合には、データ書き込み処理を終了する。
【0054】
データ書き込み処理の第6ステップS6は、メモリセルアレイ上の全てのワード線が選択済みであるか否かの判定処理である。つまり、本ステップでは、メモリセルアレイ上の全メモリセルに対して書き込み処理が既に完了しているか否かの判定を行う。コントローラ108は、未選択のワード線WLが存在すると判定した場合には、ステップS1に戻り、データ書き込み処理を継続する。この場合、新たなワード線の選択がなされ、これに接続された各メモリセルが書き込み対象となり、上記ステップS1からステップS4までの処理を経てデータ書き込み処理が行われる。本ステップにおいて、コントローラ108は、全てのワード線WLが選択済みであると判定した場合には、データ書き込み処理を終了する。
【0055】
なお、電荷蓄積部に電荷が蓄積されていない状態がデータ“11”に対応するため、データ“11”を書き込む場合には、具体的な処理を行うことを要しない。
【0056】
図7は、上記第2〜第4ステップにおけるデータ書き込み処理において、各メモリセルにワード線WL1を介して各メモリセルのゲート端子に印加されるゲート電圧Vgwの時間推移を例示したものである。図中の各プロットは、データ書き込みの際に行われる複数回に亘る電荷注入処理の際の各電圧値を示しており、四角形のプロットはデータ“00”の書き込みの際の印加電圧を示し、丸形のプロットはデータ“01”の書き込みの際の印加電圧を示し、X字形のプロットはデータ“10”の書き込みの際の印加電圧を示している。
【0057】
図7において、読み出し電流の最も低いデータ“00”の書き込みが先行して行われている。データ“00”の書き込みは、10回に亘る電荷注入により完了する。このとき、ワード線WL1には、データ“00”に対応する9V〜10Vのゲート電圧Vgwが注入回数を重ねる毎に順次ステップアップするように印加される。一方、メモリセル10aおよび10bのソース−ドレイン端子間には、ビット線BLを介して6.0V一定のドレイン電圧Vdwが印加される。
【0058】
データ“00”の書き込み処理が完了するとデータ“01”の書き込みが行われる。データ“01”の書き込みは、20回に亘る電荷注入により完了する。このとき、ワード線WL1には、データ“01”に対応する7.5V〜9.4Vのゲート電圧Vgwが注入回数を重ねる毎に順次ステップアップするよう印加される。一方、メモリセル10aのドレイン−ソース端子間には、ビット線BLを介して6.0V一定のドレイン電圧Vdwが印加される。
【0059】
データ“01”の書き込み処理が完了するとデータ“10”の書き込みが行われる。データ“10”の書き込みは、20回に亘る電荷注入により完了する。このとき、ワード線WL1には、データ“10”に対応する6.5V〜8.4Vのゲート電圧Vgwが注入回数を重ねる毎に順次ステップアップするよう印加される。一方、データ“10”を書き込むべきメモリセル10aのドレイン−ソース端子間には、ビット線BLを介して6.0V一定のドレイン電圧Vdwが印加される。
【0060】
かかる不揮発性半導体メモリ装置においては、上記のデータの書き込み処理動作が実行される前に、前処理動作が実行される。次に、その前処理動作について説明する。
【0061】
前処理動作においては、図8に示すように、先ず、メモリセル10全ての初期電流の測定が行われる(ステップS11)。この初期電流測定では予め定められた条件での各メモリセル10のドレイン−ソース間に流れる電流が測定される。その条件はドレイン側の第2電荷蓄積部32に対しては例えば、ゲート電圧Vgi=3.2V、ドレイン電圧Vdi=1.8V、ソース電圧Vsi=0Vであり、ソース側の第1電荷蓄積部30に対してはドレイン電圧Vdiとソース電圧Vsiとが逆になる。
【0062】
初期電流測定は、ワード線WL毎に行われ、選択された1のワード線WLに接続されたメモリセルが順次、初期電流測定対象となる。コントローラ108からの制御信号に応じてロウデコーダ104によって1つのワード線WLが選択されると、コントローラ108からの制御信号に応じてカラムデコーダ106によって1つのワード線WL上のメモリセルが1つずつ順番に第1電荷蓄積部30及び第2電荷蓄積部32各々に対する初期電流測定が行われる。コントローラ108は電流検出器60から得られる読み出し電流の値を計測し、この読み出し電流値を初期電流値として保存テーブルとして保存する。保存テーブルには予め定められたメモリセル10の順番、すなわちセル順番で第1電荷蓄積部30及び第2電荷蓄積部32各々に対する初期電流値が保存される。ここで、第1電荷蓄積部30についての初期電流値を第1初期電流値とし、第2電荷蓄積部32についての初期電流値を第2初期電流値とする。
【0063】
次に、コントローラ108は初期電流値の平均値Aveを算出すると共に最小値Minを検出する(ステップS12)。初期電流値の平均値Aveは全てのメモリセル10の第1及び第2初期電流値の保存値から算出される。最小値Minはその第1及び第2初期電流値の保存値から検索される。そして、コントローラ108は閾値電流Irefを平均値Aveに等しくさせ、閾値最小電流Iref_MinをMin+(Ave−Min)/bなる式によって算出する(ステップS13)。閾値最小電流Iref_Minの式のbは例えば、4である。
【0064】
コントローラ108は、閾値電流Iref及び閾値最小電流Iref_Minを設定すると、メモリセルアレイの全メモリセル10のうちからセル順番に従って1つのメモリセル10を選択し、その選択メモリセルの第1及び第2初期電流値を保存テーブルから読み出す(ステップS14)。そして、カウント値Countを0に設定し(ステップS15)、カウント値Countに1を加算する(ステップS16)。
【0065】
コントローラ108は、ステップS14で読み出した第1初期電流値が第2初期電流値より小であるか否かを判別する(ステップS17)。第1初期電流値<第2初期電流値であれば、第2初期電流値が閾値電流Irefより大でありかつ第1初期電流値が閾値最小電流Iref_Minより大であるか否かを判別する(ステップS18)。一方、第1初期電流値≧第2初期電流値であれば、第1初期電流値が第2初期電流値より大であるか否かを判別する(ステップS19)。第1初期電流値>第2初期電流値であれば、第1初期電流値が閾値電流Irefより大でありかつ第2初期電流値が閾値最小電流Iref_Minより大であるか否かを判別する(ステップS20)。なお、ステップS17及びS19が比較ステップである。
【0066】
ステップS18で第2初期電流値>Irefかつ第1初期電流値>Iref_Minであるならば、第2電荷蓄積部32への電荷注入を行うべく書き込みを行う(ステップS21)。ステップS19で第1初期電流値>Irefかつ第2初期電流値>Iref_Minであるならば、第1電荷蓄積部30への電荷注入を行うべく書き込みを行う(ステップS22)。ステップS21及びS22の書き込みはステップS2〜S4各々の書き込み処理と同様である。ステップS21の書き込みの場合にはゲート電圧Vgwはカウント値Countが1〜10では5.0V、カウント値Countが11〜20では6.0V、カウント値Countが21〜50では7.0Vである。また、ドレイン電圧Vdwは4.0V一定、ソース電圧Vswは0V一定である。ステップS22の書き込みの場合にはゲート電圧Vgwは同じであるが、ドレイン電圧Vdwとソース電圧Vswとは逆になる。更に、ステップS21及びS22の書き込み時間は500nsecである。なお、ステップS21が第2電荷注入ステップであり、ステップS22が第1電荷注入ステップである。
【0067】
ステップS21又はS22の実行後、選択メモリセルの読み出し電流値の測定がステップS11と同様に行われる(ステップS23)。ステップS23ではコントローラ108は電流検出器60から各々得られる読み出し電流値を新たな第1及び第2初期電流値とする。そして、その新たな第1及び第2初期電流値各々が閾値電流Irefより小であるか、又は第1及び第2初期電流値の少なくとも一方が閾値最小電流Iref_Minより小であるか否かを判別する(ステップS24)。第1及び第2初期電流値<Iref、又は第1又は第2初期電流値<Iref_Minであれば、第1初期電流値と第2初期電流値とはほぼ一致したとみなすことができる。この場合には、全メモリセル10についての前処理動作が終了したか否かを判別する(ステップS25)。全メモリセル10についての前処理動作が終了していないならば、別のメモリセル10を選択するためにステップS14に戻って上記の動作が繰り返される。ステップS24で、第1及び第2初期電流値<Iref、と第1又は第2初期電流値<Iref_Minとのいずれかを満足できない場合には、カウント値Countが50に等しいか否かを判別する(ステップS26)。Count=50ならば、ステップS25に進んで全メモリセル10についての前処理動作が終了したか否かが判別される。Count<50ならば、ステップS16に進んでカウント値Countをインクリメントした後、上記の動作が繰り返される。
【0068】
このように、前処理動作が行われることにより、各メモリセルの第1及び第2初期電流値をほぼ一致させることができる。よって、その後に実行されるデータ書き込み処理でデータが書き込まれた場合に、各メモリセルにおいてドレイン端子側の電荷蓄積部及びソース端子側の電荷蓄積部とでデータ読み出しの際の読み出し電流値のばらつきを低減させることができる。
【0069】
データ書き込み処理では書き込み過ぎを防止するために、上記したステップS2〜S4に代えて次のように行うことができる。
【0070】
コントローラ108は、図9に示すように、先ず、カウント値Countを0に設定し(ステップS31)、カウント値Countに1を加算する(ステップS32)。そして、データ“00”の書き込みであるか否かを判別する(ステップS33)。データ“00”の書き込みの場合には、書き込み用のドレイン電圧Vdwを6.0Vに設定し、閾値電流Irefを10μAに設定する(ステップS34)。データ“00”の書き込みでないならば、データ“01”の書き込みであるか否かを判別する(ステップS35)。データ“01”の書き込みの場合には、書き込み用のドレイン電圧Vdwを6.0Vに設定し、閾値電流Irefを20μAに設定する(ステップS36)。データ“01”の書き込みでないならば、データ“10”の書き込みであるか否かを判別する(ステップS37)。データ“10”の書き込みの場合には、書き込み用のドレイン電圧Vdwを5.3Vに設定し、閾値電流Irefを30μAに設定する(ステップS38)。なお、ここではデータ書き込み処理の例としてドレイン端子側の電荷蓄積部、すなわち第2電荷蓄積部に電荷注入を行う場合について示しているが、ソース端子側の電荷蓄積部、すなわち第1電荷蓄積部に電荷注入を行う場合には書き込み用のドレイン電圧Vdwに代えて書き込み用のソース電圧Vswが設定される。また、このステップS34、S36、又はS38で設定される閾値電流Irefは図2のデータ毎の電流ウィンドウの部分に位置する電流値である。
【0071】
ステップS34、S36、又はS38でドレイン電圧Vdw及び閾値電流Irefを設定した後、データを書き込むべきメモリセル10のドレイン−ソース間に流れる電流を読み出す(ステップS39)。ステップS39の電流の読み出しでは、コントローラ108からの制御信号に応じてロウデコーダ104によって書き込み対象のメモリセル10に接続されたワード線WLに読み出し用のゲート電圧Vgrが印加され、カラムデコーダ106は、コントローラ108より供給された制御信号に含まれるアドレス情報によって示される書き込み対象となるメモリセル10に対応するビット線BLに所定の読み出し電圧を印加する。具体的には、メモリセル10のソース端子に接続されたビット線BLに所定の読み出し用のソース電圧Vsrを印加するとともに、ドレイン端子に接続されたビット線BLを読み出し用のドレイン電圧Vdrとする。これにより、メモリセル10のドレイン−ソース間に読み出し電流が流れる。コントローラ108は電流検出器60から得られる読み出し電流の値を測定し、この測定した電流値を読み取り電流値Iとする。
【0072】
コントローラ108は読み取り電流値IがIref+αより小であるか否かを判別する(ステップS40)。αは所定電流値であり、例えば、3μAである。I≧Iref+αであるならば、データの書き込みを行う(ステップS41)。一方、I<Iref+αであるならば、ドレイン電圧Vdwをβだけ減少させる(ステップS42)。βは所定電圧であり、例えば、0.5Vである。ステップS42の実行後、データの書き込みを行う(ステップS43)。
【0073】
ステップS41又はS43では、ロウデコーダ104は、コントローラ108からの制御信号に基づいて選択されたワード線WL1にゲート電圧Vgwを所定の書き込み時間(例えば、500nsec)だけ印加する。ゲート電圧Vgwはカウント値Countが1〜10では6.0V〜10.0Vで段階的に上昇され、カウント値Countが11〜60では10.0Vに固定される。一方、ゲート電圧Vgwの印加と同時にカラムデコーダ106は、コントローラ108からの制御信号に基づいてメモリセル10bのドレイン端子に接続されたビット線BLにデータに対応するドレイン電圧Vdw(上記のステップS34、S36、又はS38で設定された電圧)を印加し、ソース端子に接続されたビット線BLを接地電位(Vsw=0V)とする。これにより、メモリセル10bのドレイン−ソース端子間にそれぞれデータ“10”に応じた書き込み電圧が同時に印加され、第2電荷蓄積部32bには一定量の電荷が注入されることとなる。
【0074】
ステップS41又はS43のデータの書き込み後、その書き込んだメモリセル10のドレイン−ソース間に流れる電流を読み出す(ステップS44)。この電流の読み出しは上記のステップS39と同一である。コントローラ108はステップS44の実行により得られた読み取り電流値IがIrefより小であるか否かを判別する(ステップS45)。ステップS45でI<Irefであれば、データの書き込み処理が完了する。ステップS45でI≧Irefであれば、所望のデータの書き込みがされていないので、カウント値Countが60に等しいか否かを判別する(ステップS46)。Count<60ならば、ステップS32に進んでカウント値Countをインクリメントし、それ以降の書き込み処理動作が繰り返される。Count=60ならば、データの書き込み処理が完了する。
【0075】
このように、図9に示したデータ書き込み処理においてはデータが書き込まれるメモリセルの電荷蓄積部に対応した現在の読み出し電流値がI<Iref+αであるときにはI≧Iref+αの場合に比して書き込み用のドレイン電圧Vdrを低く設定するので、書き込み後の読み出し電流値を適切な値にすることができ、いわゆる書き込まれ過ぎを防止することができる。
【0076】
図10(a)〜(e)は1つのメモリセルのソースS側の第1電荷蓄積部31及びドレインD側の第2電荷蓄積部32各々にデータ“01”を書き込むための電荷注入方法を示している。この電荷注入方法において、図10(a)に示す初期状態では第1電荷蓄積部31及び第2電荷蓄積部32各々には電荷が注入されていない各々がデータ“11”に対応した電荷(電子)蓄積状態を示している。先ず、第1工程として、ドレインD側の第2電荷蓄積部32に書き込み処理により所定量の電荷注入が行われる。この結果、図10(b)に示すように、第2電荷蓄積部32に所定量の電荷50が蓄積される。この第2電荷蓄積部32の電荷蓄積量ではデータ“01”に対応しない。第2工程として、ソースS側の第1電荷蓄積部31に書き込み処理により電荷注入が行われる。この結果、図10(c)に示すように、第1電荷蓄積部31に所定量の電荷50が蓄積される。この電荷蓄積量ではデータ“01”に対応しない。第3工程として、ドレインD側の第2電荷蓄積部32に書き込み処理により電荷の追加注入が行われる。この結果、図10(d)に示すように、第2電荷蓄積部32に更に所定量の電荷50が蓄積される。これにより第2電荷蓄積部32の電荷蓄積量はデータ“01”に対応する。第4工程として、ソースS側の第1電荷蓄積部31に書き込み処理により電荷の追加注入が行われる。この結果、図10(e)に示すように、第1電荷蓄積部31に更に所定量の電荷50が蓄積される。この電荷蓄積量はデータ“01”に対応する。よって、第1電荷蓄積部31及び第2電荷蓄積部32各々へのデータ“01”に対応したデータ書き込みが完了する。
【0077】
このように、図10に示した電荷注入においては、メモリセルの双方の電荷蓄積部に交互に電荷注入を行って双方の蓄積電荷量を徐々に増加させるので、メモリセルの双方の電荷蓄積部の電荷蓄積量の差が大きくなることがない。よって、メモリセルの一方の電荷蓄積部に電荷注入を行ってデータ“01”に対応した電荷量が蓄積された後にメモリセルの他方の電荷蓄積部に電荷注入を行ってデータ“01”に対応した電荷量が蓄積される従来の場合のように先に電荷注入した一方の電荷蓄積部についてのデータ“01”に対応した読み出し電流量の低下が防止される。
【0078】
なお、上記した実施例においては、メモリセル10のドレイン電圧、ソース電圧及びゲート電圧が印加されることを示したが、実際にはバックゲート電圧Vbも印加される。バックゲート電圧Vbは通常、書き込み時及び読み出し時に0Vに設定される。
【0079】
また、上記した実施例において、本発明のデータ書き込み方法をコントローラ108内のコンピュータ(図示せず)がソフトウエアの各命令を実行することによって達成するようにしても良いし、又はコントローラ108内のハードウエアの構成によって達成するようにしても良い。
【符号の説明】
【0080】
10 メモリセル
31 第1電荷蓄積部
32 第2電荷蓄積部
60 電流検出器
100 不揮発性半導体メモリ
104 ロウデコーダ
106 カラムデコーダ
108 コントローラ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10