JP2010129154A - 不揮発性半導体記憶装置 - Google Patents

不揮発性半導体記憶装置 Download PDF

Info

Publication number
JP2010129154A
JP2010129154A JP2008305709A JP2008305709A JP2010129154A JP 2010129154 A JP2010129154 A JP 2010129154A JP 2008305709 A JP2008305709 A JP 2008305709A JP 2008305709 A JP2008305709 A JP 2008305709A JP 2010129154 A JP2010129154 A JP 2010129154A
Authority
JP
Japan
Prior art keywords
bits
data
logic
program
bit
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.)
Pending
Application number
JP2008305709A
Other languages
English (en)
Inventor
Masato Takehara
正人 竹原
Shoichi Kawamura
祥一 河村
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority to JP2008305709A priority Critical patent/JP2010129154A/ja
Priority to KR1020090072885A priority patent/KR20100061306A/ko
Priority to US12/625,723 priority patent/US8040730B2/en
Publication of JP2010129154A publication Critical patent/JP2010129154A/ja
Pending 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
    • 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/26Sensing or reading circuits; Data output 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

Abstract

【課題】プログラム回数(書き込み回数)を減らすか、プログラム電流容量を減らすことの出来る不揮発性半導体記憶装置を提供する。
【解決手段】指定されたアドレスに対し入力されるn(nは整数)ビットのプログラムデータを同時にプログラムする場合に、論理“0”に属するビットの個数のみをカウント、もしくは論理“1”に属するビットの個数のみをカウント、もしくは両方の論理に属するビットの個数をカウントし、カウント数がn/2以下であった方の論理を初期状態としてプログラムデータを再生成し、その再生成されたプログラムデータに基づいてプログラム動作を行う第1手段と、指定されたアドレスのメモリセルの初期状態が論理“0”と論理“1”のいずれであるかを認識させる認識ビットをプログラム動作時に書き込む第2手段とを具備する。
【選択図】 図1

Description

本発明は、不揮発性半導体記憶装置に係り、さらに具体的にはプログラム回数を減らし、あるいはプログラム電流容量を減らすことのできる不揮発性半導体記憶装置に関する。
近年、不揮発性半導体記憶装置、特にフラッシュメモリは、電気的にデータの書き換えが可能で、且つ電源を切った状態でもデータを保持することが出来るため、例えば、携帯電話、デジタルカメラ等の携帯機器のデータ格納用記憶装置として広く使用されている。
一般に、メモリセルをプログラムするには電源電圧よりも高い所定の高電圧をメモリセルの制御ゲートに印加する必要があり、一定レベル以上のプログラム電流を必要とする。そして制御ゲートに印加される高電圧はチップ内部に具備されたチャージポンプを通じて生成されるので、同時にプログラムすることが出来るメモリセルの個数はチャージポンプの能力やレイアウトの制約により制限される。
例えば、同時にプログラムすることが出来るビットの数が4個であるとき、16ビットのデータは4ビットずつ分割された後、合計4回にわたってプログラムされる。そこで、フローティングゲートに電荷が溜まっていない状態を論理“1”に固定すると、同時にn(nは整数)ビットを書き込む際に、全てのビットが論理“0”であった場合はnビット全てをプログラムする必要がある。また、チップ面積の制約等から、チャージポンプの能力を抑えm(mは整数:n>m)ビットずつプログラムを行うように設計した場合には、nビット全てをプログラムするのにn/m回、もしくはその値より大きく、一番近い整数回のプログラム動作が必要となる。
プログラム回数が多くなれば、プログラムにかかる時間がそれだけ増大する。また一度にプログラム出来るビット数をmビットとせず、nビットを全て同時に書き込めるように設計すると、チャージポンプのチップに占める面積の増大を招き、消費電流の増大にも繋がる。
データをプログラムするのにかかる平均時間を短縮する企みは、本出願人が以前に出願した特許文献1にも記載されているが、回路構成が複雑であり必ずしも満足出来るものではない。
特開2006−24347号公報
本発明は、指定されたアドレスに対し入力されるnビットのプログラムデータを同時にプログラムする場合に、プログラム回数(書き込み回数)を減らすことの出来る不揮発性半導体記憶装置を提供することを目的とする。
また、本発明は、プログラム時(書き込み時)のプログラム電流容量を減らすことの出来る不揮発性半導体記憶装置を提供することを目的とする。
本発明は、データを記憶するメモリセルにより構成されるメモリセルアレイと、前記メモリセルアレイからデータを読み出すリード動作と、前記メモリセルアレイに対してデータを書き込むプログラム動作とを制御する制御回路とを備えた不揮発性半導体記憶装置において、指定されたアドレスに対し入力されるn(nは整数)ビットのプログラムデータを同時にプログラムする場合に、論理“0”に属するビットの個数のみをカウント、もしくは論理“1”に属するビットの個数のみをカウント、もしくは両方のビットの個数をカウントし、カウント数がn/2以下であった方の論理を初期状態として前記プログラムデータを再生成し、その再生成されたプログラムデータに基づいて前記プログラム動作を行う第1手段と、前記指定されたアドレスのメモリセルの前記初期状態が論理“0”と論理“1”のいずれであるかを認識させる認識ビットを前記プログラム動作時に書き込む第2手段とを具備したことを特徴とする。
このように構成することにより最大プログラムビット数はn/2となるため最大のプログラム回数を従来の約半分とすることができる。
また好ましい実施の形態として、前記制御回路は、プログラムが通常メモリセルの状態を論理“1”から論理“0”に遷移させることを指す時には、論理“0”に属するビットの個数が論理“1”に属するビットの個数を超えている時、前記入力されるnビットのプログラムデータを反転させてプログラムし、反転情報を前記認識ビットに書き込むように構成する。
このように構成することにより、認識ビットを参照することにより初期状態が論理“0”に設定されていることが分かる。
また、好ましい実施の形態として、前記制御回路は、一度にプログラム可能なビット数をm(mは整数:mn/2)とし、最大分割プログラム回数がn/2mの値、もしくはその値より大きく、一番近い整数回となるようにプログラム動作を行うように構成する。
これにより、最大分割プログラム回数が従来の約半分となる。
さらに、好ましい実施の形態として、前記制御回路は、n/2ビットのプログラムデータと前記認識ビットとを書き込むのに十分なプログラム電流容量でプログラム動作を行うように構成する。
これにより、プログラム電流容量が従来の約半分で済む。
さらに、好ましい実施の形態として、前記制御回路は、前記指定されたアドレスに対し、プログラム動作に先立って、nビットデータを読み出し、前記指定されたアドレスに対応するメモリセルがプログラムされていない初期状態にあるか否かを確認するように構成する。
これにより、プログラム動作に先立って初期状態が論理“1”に設定されているのか論理“0”に設定されているのかを判定することができる。
さらに、本発明は、データを記憶するメモリセルにより構成されるメモリセルアレイと、前記メモリセルアレイからデータを読み出すリード動作と、前記メモリセルアレイに対してデータを書き込むプログラム動作とを制御する制御回路とを備えた不揮発性半導体記憶装置において、指定されたアドレスに対し入力されるn(nは整数)ビットのプログラムデータを同時にプログラムする場合に、論理“0”に属するビットの個数のみをカウント、もしくは論理“1”に属するビットの個数のみをカウント、もしくは両方のビットの個数をカウントし、カウント数がn/2以下であった方の論理を初期状態として前記プログラムデータを再生成し、その再生成されたプログラムデータに基づいて前記プログラム動作を行う第1手段と、前記指定されたアドレスのメモリセルの前記初期状態が論理“0”と論理“1”のいずれであるかを認識させる認識ビットを前記プログラム動作時に書き込む第2手段と、前記指定されたアドレスにデータが書き込まれているか否かを判別する初期ビットを書き込む第3手段とを具備したことを特徴とする。
このように構成することにより、初期ビットを参照することにより指定されたアドレスが初期状態か否かを判別することが出来、それに応じて入力されたnビットに対する最大プログラムビット数をn/2となるように設定することが出来る。
また、好ましい実施の形態として、前記制御回路は、前記プログラム動作時に前記認識ビットと前記初期ビットとを書き込むように構成する。
これにより、入力データが反転してプログラムされたかどうか、指定アドレスが書き込まれているか否かの判定を行うことが出来る。
また、好ましい実施の形態として、前記制御回路は、一度にプログラム可能なビット数をm(mは整数:mn/2)とし、最大分割プログラム回数が(n+1)/2mの値、もしくはその値より大きく、一番近い整数となるようにプログラム動作を行うように構成する。
これにより、最大分割プログラム回数が従来の約半分となる。
また、好ましい実施の形態として、前記制御回路は、一度にプログラム可能なビット数をm(mは整数:mn/2+1)とし、最大分割プログラム回数がn/2mの値、もしくはその値より大きく、一番近い整数回となるようにプログラム動作を行うように構成する。
これにより、最大分割プログラム回数が従来の約半分となる。
また、好ましい実施の形態として、前記制御回路は、n/2ビットのプログラムデータと前記認識ビットと前記初期ビットとを書き込むのに十分なプログラム電流容量でプログラム動作を行うように構成する。
これにより、プログラム電流容量が従来の約半分で済む。
さらに、好ましい実施の形態として、前記制御回路は、前記指定されたアドレスに対し、プログラム動作に先立って、前記初期ビットのデータに基づいて前記指定されたアドレスに対応するメモリセルがプログラムされていない初期状態にあるのか否かを確認するように構成する。
これにより、初期ビットを確認することによりプログラム動作に先立って、初期状態が、論理“1”に設定されているのか論理“0”に設定されているのかを判定することができる。
本発明によれば、指定されたアドレスに対し入力されるプログラムデータを同時にプログラムする場合のプログラム回数を約半分に減らすことが出来る。また、プログラム時のプログラム電流容量を減らすことが出来るため、チップ面積を減らすことが出来る。
以下、本発明に係る不揮発性半導体装置の実施の形態を添付の図面を参照して詳細に説明する。
図1は、本発明の実施の形態に係る不揮発性半導体記憶装置100の概略構成を示す図である。メモリセルアレイ102は、複数のワード線と複数のビット線とを含み、複数のワード線と複数のビット線の交点にメモリセルがマトリクス状に配置されている。このメモリセルアレイ102にはワード線制御回路110とビット線制御回路108が接続されている。
ワード線制御回路110は、メモリセルアレイ102中の所定のワード線を選択し、読み出し(リード)、書き込み(プログラム)、消去に必要な電圧を印加する回路である。ローデコーダ112はワード線制御回路110を制御することで所定のワード線を選択する回路である。
ビット線制御回路108は、後述するように複数のデータラッチ回路を含み、ビット線を介してメモリセルアレイ102中のメモリセルのデータを読み出したり、ビット線を介してメモリセルアレイ102中のメモリセルの状態を検出(ベリファイ)したり、ビット線を介してメモリセルアレイ102中のメモリセルに書き込み電圧を印加してメモリセルに書き込みを行う回路である。また、ビット線制御回路108にはカラムゲート114、カラムデコーダ116、データ入出力回路118が接続されている。
ビット線制御回路108内の図示しないデータラッチ回路は、カラムゲート114とカラムデコーダ116によって選択され、データラッチ回路に読み出されたメモリセルアレイのデータは、データ入出力回路118を介してデータ入出力端子I/Oから外部へ出力される。また、外部からデータ入出力端子I/Oに入力された書き込みデータは、データ入出力回路118を介して、カラムゲート114、カラムデコーダ116によって選択されたデータラッチ回路に入力される。
本発明では、指定されたアドレスのメモリセルの初期状態が論理“0”と論理“1”のいずれであるかを認識し、これを認識ビットとして格納しておく。そのための認識ビットメモリアレイ104がメモリアレイ102に近接して設けられている。認識ビットはプログラム動作時に制御回路120によって書き込まれる。
さらに本発明では、プログラムが通常メモリセルの状態を論理“1”から論理“0”に遷移させることを指す時には、論理“0”に属するビットの個数が論理“1”に属するビットの個数を超えている時、入力されるnビットのプログラムデータを反転させてメモリセルアレイ102に入力する。そのためにデータ反転回路106をメモリセルアレイ102と、ビット線制御回路108との間に設けている。
データ反転回路106は制御回路120により制御されており、反転が行なわれたか否かの反転情報は、認識ビットとして認識ビットメモリセルアレイ104に書き込まれる。
制御回路120は、不揮発性半導体記憶装置100全体の制御を行う回路であり、ワード線制御回路110、ローデコーダ112、ビット線制御回路108、カラムゲート114、カラムデコーダ116、データ入出力回路118、高電圧発生回路122、認識ビットメモリセルアレイ104、データ反転回路106を制御することで、読み出し、書き込み、消去動作等の各種制御を行う。
制御回路120には、外部からチップイネーブル信号/CE、書き込みイネーブル信号/WEと、リードイネーブル信号/RE、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE、ライトプロテクト信号/WPが入力され、レディー・ビジー信号RY/BYが外部に出力されている。また、データ入出力端子I/Oから入力されるアドレス、データ、及びコマンドがデータ入出力回路118を介して制御回路120に入力される。
高電圧発生回路122は、不揮発性半導体記憶装置100が、読み出し、書き込み、消去動作を実行するのに必要な電圧を発生する回路である。
このような不揮発性半導体記憶装置100において、メモリセルアレイ102中のメモリセルにデータをプログラムして格納する場合には、メモリセルのフローティングゲートに電子を注入する。この場合、通常、フローティングゲートに電子が溜まっていない状態を論理“1”とし、注入により電子が溜まっている状態を論理“0”として認識している。
そして、外部から入力されるnビットのプログラムデータは、同時にプログラムされる場合には、論理値のカウント数がn/2以下であった方の論理を初期状態としてプログラムデータを再生成して、メモリセルアレイ102へ書き込まれる。
図2は、本発明の動作原理を説明するための図で、(A)はメモリセルのフローティングゲートに電子が溜まっている状態を論理“0”と定義した場合を示している。また(B)はフローティングゲートに電子が溜まっていない状態を論理“0”と定義した場合を示している。本発明では初期状態が論理“0”と論理“1”のいずれであるかを認識させるための認識ビットを認識ビットメモリセルアレイ104に設け、この認識ビットをプログラム動作時に書き込む。
図1(A)の場合には、認識ビットは“1”と、図1(B)の場合には“0”と書き込まれる。
本発明では、指定されたアドレスに対し入力されるn(nは整数)ビットのプログラムデータを同時にプログラムする場合に、論理“0”に属するビットの個数のみをカウント、もしくは論理“1”に属するビットの個数のみをカウント、もしくは両方のビットの個数をカウントし、カウント数がn/2を超えている方の論理を初期状態と定義する。
図1(A)の場合には、論理“0”のビット数aがプログラムビット数nの1/2以下なので、論理“1”が初期状態と定義される。図1(B)の場合には、論理“0”のビット数aがプログラムビット数nの1/2を超えているため、論理“0”が初期状態と定義される。そして初期状態に応じてプログラムデータを再生成し、その再生成されたプログラムデータに基づいてプログラム動作が行われる。図1(B)の場合には論理“0”が初期状態と定義されているため、入力されるnビットのプログラムデータを反転させてプログラムを行う。そしてプログラムとは通常メモリセルの状態を論理“1”から論理“0”に遷移させることを指し、認識ビットの論理の判定に関しては通常通りとする時、反転情報を“0”として認識ビットに書き込む。
図2(A)の場合には、論理“1”が初期状態と定義されているため、入力されるプログラムデータを反転させる必要はない。
この場合認識ビットには“1”が書き込まれる。
このように、プログラムを行ったnビットに対し、メモリセルの初期状態が論理“0”と論理“1”のどちらであるかを認識させるビットをプログラムすることでプログラムしたデータと外部に出力するデータとの整合性をとることが出来る。
図3は、本発明の半導体記憶装置を書き込み回数を向上させるために使用する場合の方法を説明するための図である。
nビットのデータを同時にプログラムする時、必要な電流を生成するチャージポンプの面積などの関係から一度にプログラム出来るビット数がmビットであると制約を受ける時、nビット全てをプログラムする場合、従来の方法ではn/m回、もしくはその値より大きく、一番近い整数回必要となる。
本発明を用いると入力されたnビットに対する最大プログラムビット数はn/2となるため、最大分割プログラム回数を従来の約半分とすることが出来る。
また、本発明の半導体記憶装置は、書き込み時の電流を減らすことを可能とする。
nビットのデータを同時にプログラムする時、一度にnビット全てをプログラムする場合は、nビット分のデータをプログラムするための電流容量が必要となる。本発明を用いると最大プログラムビット数がn/2となるため、一度にプログラムする際に必要となる電流容量もn/2となる。したがってチャージポンプのサイズもそれにあわせて縮小化することが出来る。
次に図4乃至図12を参照して、本発明の不揮発性半導体記憶を用いて、書き込み回数を減らす方法又は書き込み電流を減らす方法を説明する。
図4は、入力データnビットに対し、ベリファイ判定をmビット毎に行いながら書き込みを行うことで書き込み回数を減らす場合の動作フローチャートである。
図5は、入力データnビットに対し、mビット毎に書き込みを行いnビットすべてを書き込んだ後、ベリファイ判定をnビット一度に行うことで書き込み回数を減らす場合の動作フローチャートである。
まず、図4のケースについて指定されたアドレスに対し、nビットのデータをプログラムする場合(ステップ300)について説明する。
まず、プログラム前に指定されたアドレスの状態が初期状態にあるか否かを調べる必要がある。そこで、指定されたアドレスに対し、nビットデータを全て読み出し、初期状態であるか否かを確認する(ステップ302)。そして、データに“0”がなく、認識ビットも反転していない(初期状態)場合にはステップ304に移行し、データに“0”がある場合にはステップ306に移行する。ステップ304において、入力データの個数判定を行い、データ“0”の個数がn/2を超えている場合には、ステップ308に移行し、データ“0”の個数がn/2以下の場合には、ステップ310に移行する。
ステップ308では、入力データを反転して書き込みデータとする。即ち、データ“0”はデータ“1”に、データ“1”はデータ“0”に反転した後に書き込まれる。
ステップ310では、入力データは反転されることなく、そのまま書き込まれる。
ステップ302において、データに“0”がある場合には、ステップ306において認識ビットの確認を行う。認識ビットが反転している場合、ステップ312に移行し、入力データを反転して書き込みデータとする。
反転していない場合、ステップ314に移行し、入力データを反転することなく書き込みデータとする。
ここで、認識ビットは、入力データが反転してプログラムされたかどうかを判定するために使用するビットであり、本発明において特に設けられたものである。そして、認識ビットを確認することにより、すでに書き込まれているアドレスに対して追加書き込みをする場合、以前の状態に合わせて入力データを反転するか否かを決めることができる。
図4のケースでは、プログラムをmビットずつ行うため、書き込みデータの個数判定を行う(ステップ316,330,342,354)。個数判定は次のようにして行うことが出来る。
データ“0”の個数(実際に書き込みを行うデータ)をkとし、ベリファイがパスする毎にk′=k′−mを計算し、計算されたk′の値が0以上なら、さらにプログラムを行い、0となった時点でプログラムを終了する。個数判定の結果を分割プログラム回数と称する。
ステップ316においてk′>0の場合には、書き込みデータのプログラムを行う(ステップ318)。そして、始めて入力データを反転してmビットの書き込みが行なわれるので、認識ビットに“0”を書き込む(ステップ319)。
ステップ316において、k′=0の場合には、プログラム動作を正常に終了する(ステップ326)。
次いで、書き込み(プログラム)が正常に行なわれたか否かのベリファイ判定を行う(ステップ322)。判定にパスした場合は、ステップ316に戻って書き込みデータの個数判定を行い、次の書き込みデータがあれば、書き込みを行う。フェイルの場合には、マックスループ判定を行う(ステップ324)。マックスループ判定は、予かじめ定めた書き込み回数に達したか否かを判定するものである。即ち、ベリファイ判定でフェイルとなった場合は、書き込みが正常に行なわれていないので、再度書き込み動作を行う必要があるが、無限に書き込み動作を繰返すわけにはいかないので上限(マックス)を設け、マックス以下ならば再度書き込み動作を行い、ベリファイ判定を行う。フェイルがマックスに達するとプログラムを終了する。この場合、プログラム異常終了となる(ステップ328)。
ステップ330〜340、ステップ342〜352、ステップ354〜364のフローは、上述したステップ316〜328のフローと同様であるので詳細な説明は省略する。ステップ330〜340、ステップ342〜352、ステップ354〜364のフローにおいては、認識ビットに“0”を書き込む認識ビットプログラムは行なわれない。何故なら、入力データを反転して入力する必要がないか、あるいは既に“0”が書き込まれて認識ビットが反転しているからである。このように認識ビットのプログラムは1回のみ行なわれる。
図5のケースの場合も、図4のケースの場合と同様な動作フローにより書き込みが行なわれる。図5のケースの場合には、ベリファイ判定をnビット一度に行うため、書き込みデータ個数判定(ステップ321,333,345,358)以前に書き込みデータプログラム(ステップ318,332,344,356)が行なわれる点及びベリファイ判定(ステップ322,334,346,359)においてnビット全てをベリファイする点が相違している。
この場合の書き込みデータの個数判定(ステップ321,333,345,358)は、次のようにして行うことができる。データ“0”の個数(実際に書き込みを行うデータ)をkとし、個数判定する際に1回プログラムを行う毎にk′=k′−mを計算し、計算されたk′の値が0以上なら、さらにプログラムを行い、0となった時点でプログラムを終了する。個数判定の結果を分割プログラム回数と称する。
図6は、入力データnビットが16ビットで一度に書き込むmビットが4ビットの場合の分割プログラム回数を従来の場合と比較して示したものである。従来のワーストケースは、D0〜D15のすべてのビットがデータ“0”の場合である。この場合には、分割プログラム回数は4となる。
そこで、本発明の方法を用いて、データ“0”>n/2なので入力データを反転させ認識ビットに“0”を書き込むと、データ“0”の個数は1となる。この場合、分割プログラム回数は1となる。
同様に、ケース(1)、ケース(2)、ケース(3)のようなビット配置について本発明の方法を用いた場合を図に示している。
図6から明らかなように、従来の方法では分割プログラム回数の最大値は4回となるが、本発明の場合は、最大値は2回となり、プログラム回数を減らすことが出来ることを示している。
このように、一度にmビットしか書き込みが出来ない場合、本発明によれば最大書き込み回数をn/2m回、もしくはその値より大きく、一番近い整数回とすることが出来、従来の約半分とすることが出来る。
図7、図8は、初期ビットを確認して、書き込みを行う場合の動作フローチャートである。ここで初期ビットは、プログラムする際の指定アドレスが書き込まれているかの判定に使うビットであり、本発明において特に設けられたものである。
図4や図5に示すフローでは、初期ビットを用いていないので、プログラム動作前に指定アドレスのnビット全てを読み出して初期状態にあるか否かを調べる必要があった。初期ビットを設けることにより、追加書き込みを行いたい場合、初期状態かどうかの判定が容易になる。しかし、書き込むビットが増えるという欠点がある。
図7は、ベリファイ判定をmビット毎に行うケースの動作フローチャートを図8はベリファイ判定を一度に行うケースの動作フローチャートをそれぞれ示している。
そして、図7は図4に、図8は図5にそれぞれ対応している。図7、図8の動作フローチャートにおいて、図4、図5の動作フローチャートとの違いは、初期ビットが書き込まれているか否かの確認を行うステップ301を設けたことと、ステップ301において、初期ビットが書き込まれていないと確認されたときに、初期ビットを書き込むステップ320,332を設けたことである。なお初期ビットの書き込みは1回のみで良い。
従って、図7、図8において、図4、図5と同一のステップについては同一符号を付し、その説明は省略する。
図7、図8のフローチャートの場合、ステップ301において初期ビットを確認することにより、指定されたアドレスが初期状態か否かを判定するように構成されている。書き込んでいない(初期状態)場合にはステップ304に移行し、書き込んでいる場合はステップ306に移行する。
図9、図10は初期ビットを用いて分割プログラム回数を減らす場合を従来の場合と比較して示した図である。図9は、入力データnビットが16ビットで一度に書き込むmビットが4ビットの場合を、図10は入力データnビットが16ビットで一度に書き込むmビットが5ビットの場合をそれぞれ示している。
図9、図10からも明らかなように、初期ビットを確認して行う本発明の書き込みの場合にも、書き込むビット数は増えても分割プログラム回数を減らすことが出来る。
図11、図12は、入力データnビットに対し、データ反転回路を組み込んで書き込みを行うことで書き込み電流を減らす場合の動作フローチャートである。
図11は、初期ビットを用いないで行う場合の、図12は初期ビットを用いて行う場合のフローチャートをそれぞれ示している。
図11及び図12で同一ステップには同一符号を付している。
図11に示すフローチャートについて、まず、指定されたアドレスに対し、nビットのデータをプログラムする場合(ステップ400)について説明する。
指定されたアドレスに対し、nビットデータを全て読み出し、初期状態であるか否かを確認する(ステップ402)。そして、データに“0”がなく、認識ビットも反転していない(初期状態)場合にはステップ404に移行し、データに“0”がある場合にはステップ406に移行する。ステップ404において、入力データの個数判定を行い、データ“0”の個数がn/2を超えている場合には、ステップ408に移行し、データ“0”の個数がn/2以下の場合には、ステップ410に移行する。
ステップ408では、入力データを反転して書き込みデータとする。即ち、データ“0”はデータ“1”に、データ“1”はデータ“0”に反転した後に書き込まれる。
ステップ410では、入力データは反転されることなく、そのまま書き込まれる。
ステップ402において、データに“0”がある場合には、ステップ406において認識ビットの確認を行う。認識ビットが反転している場合、ステップ412に移行し、入力データを反転して書き込みデータとする。
反転していない場合、ステップ414に移行し、入力データを反転することなく書き込みデータとする。
ステップ416,428,440,450においては、書き込みデータのプログラムが、ステップ417においては認識ビットのプログラムが行なわれる。書き込みデータのプログラムと認識ビットのプログラムが行なわれた後は、ベリファイ判定(ステップ420,432,442,452)とマックスループ判定(ステップ422,434,444,454)が行なわれるが、これらのステップの詳細な説明については、図4のフローチャートで説明したのと同様であるため省略する。
このように、入力データnビットに対し、データ反転回路を組み込むことで、最大書き込みビットはn/2となる。従って、nビットを一度に書き込む場合にn/2ビット+認識ビット分の電流容量があれば良い。
図12の初期ビットを確認して書き込みを行うフローチャートの場合には、図11のフローチャートの場合と比較して、初期ビットを確認するステップ401と、初期ビットをプログラムするステップ418が追加される。
ここで初期ビットは、プログラムする際の指定アドレスが書き込まれているかの判定に使うビットであり、本発明において特に設けられたものである。
なお、図12において図11と同一のステップについては、同一符号を付し、その説明は省略する。
図12のフローチャートの場合、ステップ401において初期ビットを確認することにより、指定されたアドレスが初期状態か否かを判定するように構成されている。書き込んでいない(初期状態)場合にはステップ404に移行し、書き込んでいる場合はステップ406に移行する。
初期ビットを確認して行う本発明の書き込みの場合には、n/2ビット+認識ビット+初期ビット分の電流容量があれば良い。
本発明の実施形態に係る不揮発性半導体装置の概略構成を示す図。 本発明の動作原理を説明するための図。 書き込み回数を向上させるために使用する場合の方法を説明するための図。 書き込み回数を減らす場合の動作フローチャート(ベリファイ判定をmビット毎に行うケース)。 書き込み回数を減らす場合の動作フローチャート(ベリファイ判定をnビット一度に行うケース)。 本発明と従来技術とのプログラム回数の比較図(n=16,m=4の場合)。 書き込み回数を減らす場合の動作フローチャート(初期ビット確認、ベリファイ判定をmビット毎に行うケース)。 書き込み回数を減らす場合の動作フローチャート(初期ビット確認、ベリファイ判定をnビット一度に行うケース)。 本発明と従来技術とのプログラム回数の比較図(初期ビット確認、n=16,m=4の場合)。 本発明と従来技術とのプログラム回数の比較図(初期ビット確認、n=16,m=5の場合)。 書き込み電流を減らす場合の動作フローチャート。 書き込み電流を減らす場合の動作フローチャート(初期ビットを確認する場合)。

Claims (11)

  1. データを記憶するメモリセルにより構成されるメモリセルアレイと、前記メモリセルアレイからデータを読み出すリード動作と、前記メモリセルアレイに対してデータを書き込むプログラム動作とを制御する制御回路とを備えた不揮発性半導体記憶装置において、
    指定されたアドレスに対し入力されるn(nは整数)ビットのプログラムデータを同時にプログラムする場合に、論理“0”に属するビットの個数のみをカウント、もしくは論理“1”に属するビットの個数のみをカウント、もしくは両方の論理に属するビットの個数をカウントし、カウント数がn/2以下であった方の論理を初期状態として前記プログラムデータを再生成し、その再生成されたプログラムデータに基づいて前記プログラム動作を行う第1手段と、前記指定されたアドレスのメモリセルの前記初期状態が論理“0”と論理“1”のいずれであるかを認識させる認識ビットを前記プログラム動作時に書き込む第2手段とを具備したことを特徴とする不揮発性半導体記憶装置。
  2. 前記制御回路は、プログラムが通常メモリセルの状態を論理“1”から論理“0”に遷移させることを指す時には、論理“0”に属するビットの個数が論理“1”に属するビットの個数を超えている時、前記入力されるnビットのプログラムデータを反転させてプログラムし、反転情報を前記認識ビットに書き込むことを特徴とする請求項1に記載の不揮発性半導体記憶装置。
  3. 前記制御回路は、一度にプログラム可能なビット数をm(mは整数:m<n/2)とし、最大分割プログラム回数(最大分割プログラム回数とは、nビットを複数回に分けてプログラムする際の最大回数を示す)がn/2m回、もしくはその値より大きく、一番近い整数回となるようにプログラム動作を行うことを特徴とする請求項1又は2に記載の不揮発性半導体記憶装置。
  4. 前記制御回路は、n/2ビットのプログラムデータと前記認識ビットとを書き込むのに十分なプログラム電流容量でプログラム動作を行うことを特徴とする請求項1又は2に記載の不揮発性半導体記憶装置。
  5. 前記制御回路は、前記指定されたアドレスに対し、プログラム動作に先立って、nビットデータを読み出し、前記指定されたアドレスに対応するメモリセルがプログラムされていない初期状態にあるか否かを確認することを特徴とする請求項1乃至4のいずれかに記載の不揮発性半導体記憶装置。
  6. データを記憶するメモリセルにより構成されるメモリセルアレイと、前記メモリセルアレイからデータを読み出すリード動作と、前記メモリセルアレイに対してデータを書き込むプログラム動作とを制御する制御回路とを備えた不揮発性半導体記憶装置において、
    指定されたアドレスに対し入力されるn(nは整数)ビットのプログラムデータを同時にプログラムする場合に、論理“0”に属するビットの個数のみをカウント、もしくは論理“1”に属するビットの個数のみをカウント、もしくは両方の論理に属するビットの個数をカウントし、カウント数がn/2以下であった方の論理を初期状態として前記プログラムデータを再生成し、その再生成されたプログラムデータに基づいて前記プログラム動作を行う第1手段と、前記指定されたアドレスのメモリセルの前記初期状態が論理“0”と論理“1”のいずれであるかを認識させる認識ビットを前記プログラム動作時に書き込む第2手段と、前記指定されたアドレスにデータが書き込まれているか否かを判別する初期ビットを書き込む第3手段とを具備したことを特徴とする不揮発性半導体記憶装置。
  7. 前記制御回路は、前記プログラム動作時に前記認識ビットと前記初期ビットとを書き込むことを特徴とする請求項6に記載の不揮発性半導体記憶装置。
  8. 前記制御回路は、一度にプログラム可能なビット数をm(mは整数:m<n/2)とし、最大分割プログラム回数(最大分割プログラム回数とは、nビットを複数回に分けてプログラムする際の最大回数を示す)が(n+1)/2m回、もしくはその値より大きく、一番近い整数回となるようにプログラム動作を行うことを特徴とする請求項6又は7に記載の不揮発性半導体記憶装置。
  9. 前記制御回路は、一度にプログラム可能なビット数をm(mは整数:m<n/2+1)とし、最大分割プログラム回数(最大分割プログラム回数とは、nビットを複数回に分けてプログラムする際の最大回数を示す)がn/2m回、もしくはその値より大きく、一番近い整数回となるようにプログラム動作を行うことを特徴とする請求項6又は7に記載の不揮発性半導体記憶装置。
  10. 前記制御回路は、n/2ビットのプログラムデータと前記認識ビットと前記初期ビットとを書き込むのに十分なプログラム電流容量でプログラム動作を行うことを特徴とする請求項6又は7に記載の不揮発性半導体記憶装置。
  11. 前記制御回路は、前記指定されたアドレスに対し、プログラム動作に先立って、前記初期ビットのデータに基づいて前記指定されたアドレスに対応するメモリセルがプログラムされていない初期状態にあるのか否かを確認することを特徴とする請求項6乃至10のいずれかに記載の不揮発性半導体記憶装置。
JP2008305709A 2008-11-28 2008-11-28 不揮発性半導体記憶装置 Pending JP2010129154A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008305709A JP2010129154A (ja) 2008-11-28 2008-11-28 不揮発性半導体記憶装置
KR1020090072885A KR20100061306A (ko) 2008-11-28 2009-08-07 불휘발성 메모리 장치
US12/625,723 US8040730B2 (en) 2008-11-28 2009-11-25 Nonvolatile memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008305709A JP2010129154A (ja) 2008-11-28 2008-11-28 不揮発性半導体記憶装置

Publications (1)

Publication Number Publication Date
JP2010129154A true JP2010129154A (ja) 2010-06-10

Family

ID=42329429

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008305709A Pending JP2010129154A (ja) 2008-11-28 2008-11-28 不揮発性半導体記憶装置

Country Status (2)

Country Link
JP (1) JP2010129154A (ja)
KR (1) KR20100061306A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103377139A (zh) * 2012-04-16 2013-10-30 索尼公司 存储控制装置、存储器系统、信息处理系统及存储控制方法
JP2015500546A (ja) * 2011-12-08 2015-01-05 シリコン ストーリッジ テクノロージー インコーポレイテッドSilicon Storage Technology, Inc. 不揮発性メモリデバイス及びかかるデバイスのプログラミング方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101379883B1 (ko) * 2012-11-06 2014-04-01 한국과학기술원 플래시 메모리의 소모 전력 감소 방법 및 그 장치
KR102432713B1 (ko) 2017-11-28 2022-08-17 에스케이하이닉스 주식회사 저항성 메모리 장치를 구비한 메모리 시스템 및 그의 동작 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH113594A (ja) * 1997-06-12 1999-01-06 Hitachi Ltd 不揮発性メモリおよびデータ書込み、読出し方法
JP2004030849A (ja) * 2002-06-28 2004-01-29 Fujitsu Ltd データの一部書き換え機能を有する半導体不揮発性メモリ
JP2005116132A (ja) * 2003-10-10 2005-04-28 Toshiba Corp 不揮発性半導体記憶装置
JP2007052558A (ja) * 2005-08-16 2007-03-01 Matsushita Electric Ind Co Ltd フラッシュメモリ書換え装置、フラッシュメモリ書換え方法及びフラッシュメモリ書換えプログラム
WO2007035284A2 (en) * 2005-09-20 2007-03-29 Spansion Llc High performance flash memory device using a programming window for predetermination of bits to be programmed and dc-to-dc converter
WO2007069295A1 (ja) * 2005-12-13 2007-06-21 Spansion Llc 半導体装置およびその制御方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH113594A (ja) * 1997-06-12 1999-01-06 Hitachi Ltd 不揮発性メモリおよびデータ書込み、読出し方法
JP2004030849A (ja) * 2002-06-28 2004-01-29 Fujitsu Ltd データの一部書き換え機能を有する半導体不揮発性メモリ
JP2005116132A (ja) * 2003-10-10 2005-04-28 Toshiba Corp 不揮発性半導体記憶装置
JP2007052558A (ja) * 2005-08-16 2007-03-01 Matsushita Electric Ind Co Ltd フラッシュメモリ書換え装置、フラッシュメモリ書換え方法及びフラッシュメモリ書換えプログラム
WO2007035284A2 (en) * 2005-09-20 2007-03-29 Spansion Llc High performance flash memory device using a programming window for predetermination of bits to be programmed and dc-to-dc converter
WO2007069295A1 (ja) * 2005-12-13 2007-06-21 Spansion Llc 半導体装置およびその制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015500546A (ja) * 2011-12-08 2015-01-05 シリコン ストーリッジ テクノロージー インコーポレイテッドSilicon Storage Technology, Inc. 不揮発性メモリデバイス及びかかるデバイスのプログラミング方法
US9646700B2 (en) 2011-12-08 2017-05-09 Silicon Storage Technology, Inc. Non-volatile memory device and a method of programming such device
CN103377139A (zh) * 2012-04-16 2013-10-30 索尼公司 存储控制装置、存储器系统、信息处理系统及存储控制方法
JP2013239142A (ja) * 2012-04-16 2013-11-28 Sony Corp 記憶制御装置、メモリシステム、情報処理システム、および、記憶制御方法

Also Published As

Publication number Publication date
KR20100061306A (ko) 2010-06-07

Similar Documents

Publication Publication Date Title
US7660166B2 (en) Method of improving programming precision in flash memory
US8363468B2 (en) Semiconductor memory device
US8254181B2 (en) Nonvolatile memory device and programming method
JP5660615B2 (ja) マルチビットメモリ装置を含んだデータ格納システム及びそれの動作方法
US9703698B2 (en) Data writing method, memory controller and memory storage apparatus
JP2008027511A (ja) 半導体記憶装置およびその制御方法
US9496041B2 (en) Memory programming method, memory control circuit unit and memory storage device
US20170025183A1 (en) Semiconductor memory device and operating method thereof
JP2010218637A (ja) 半導体記憶装置およびその制御方法
KR20120076083A (ko) 멀티-비트 메모리 장치를 포함한 데이터 저장 시스템 및 그것의 동작 방법
CN101800077A (zh) 一种对闪存进行数据编程的方法和装置
JP2011044200A (ja) 不揮発性半導体記憶装置
JP2006164408A (ja) 不揮発性半導体記憶装置及びそのデータ消去方法。
JP2009129477A (ja) 不揮発性半導体記憶装置
US8040730B2 (en) Nonvolatile memory device
JP2010129154A (ja) 不揮発性半導体記憶装置
CN105989887B (zh) 抹除操作配置方法、存储器控制电路单元与存储器
US9972390B2 (en) Two pass memory programming method, memory control circuit unit and memory storage apparatus
US10037247B2 (en) Memory system having idle-memory devices and method of operating thereof
JP5039168B2 (ja) 半導体記憶装置
US8085593B2 (en) Method of inputting address in nonvolatile memory device and method of operating the nonvolatile memory device
KR20110001098A (ko) 불휘발성 메모리 소자의 프로그램 방법
KR102119179B1 (ko) 반도체 장치 및 그 동작 방법
KR20100022229A (ko) 불휘발성 메모리 소자 및 그 동작 방법
JP4637526B2 (ja) メモリカードおよび不揮発性記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121030

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130219

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131015