JP4724692B2 - 高速プログラム型のmlcメモリ - Google Patents

高速プログラム型のmlcメモリ Download PDF

Info

Publication number
JP4724692B2
JP4724692B2 JP2007167563A JP2007167563A JP4724692B2 JP 4724692 B2 JP4724692 B2 JP 4724692B2 JP 2007167563 A JP2007167563 A JP 2007167563A JP 2007167563 A JP2007167563 A JP 2007167563A JP 4724692 B2 JP4724692 B2 JP 4724692B2
Authority
JP
Japan
Prior art keywords
bit
programming
programmed
bit pair
bits
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.)
Active
Application number
JP2007167563A
Other languages
English (en)
Other versions
JP2008108408A (ja
Inventor
陳重光
Original Assignee
旺宏電子股▲ふん▼有限公司
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 旺宏電子股▲ふん▼有限公司 filed Critical 旺宏電子股▲ふん▼有限公司
Publication of JP2008108408A publication Critical patent/JP2008108408A/ja
Application granted granted Critical
Publication of JP4724692B2 publication Critical patent/JP4724692B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5622Concurrent multilevel programming of more than one cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5642Multilevel memory with buffers, latches, registers at input or output

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Description

本発明は、概して、半導体フラッシュメモリに関し、より詳細には、本発明は、フラッシュ・マルチレベルセル(MLC)メモリのプログラミング(MLCメモリを並列プログラミングする方法及びその装置)に関する。
フラッシュメモリは電子製品に一般使用されている。フラッシュメモリアレイ内のメモリセルは、一般に制御ゲート、ドレイン拡散領域、ソース拡散領域を実装している。これらは基板上に配置され、トランジスタを形成している。トランジスタは、電子記憶装置を形成するフローティングゲートを制御ゲートの下に備えている。フローティングゲートの下にはチャネル領域が配置されている。このチャネル領域は、チャネルとフローティングゲートの間のトンネル酸化膜層の形状をした絶縁層と共に配置されている。トンネル酸化膜のエネルギーバリアは、トンネル酸化膜にかけて十分に高い電場を付加することで克服できる。これにより、電子がトンネル酸化膜を通過できるようになることで、フローティングゲートに記憶できる電子の個数が変わる。フローティングゲートに記憶される電子の個数により、セルの記憶されたデータを表すセルの閾電圧(Vt)が決定される。フローティングゲート内に記憶される電子の個数が増えるほど、セルのVtが高くなる。このVtは、記憶されたセルのデータを表す。
セルのVtをより高いまたはより低い値に変更するには、制御ゲート、ドレイン領域、ソース領域、チャネル領域を含むノードに適切な電圧を印加して、フローティングゲートに記憶された電子の数を増減する。これにより、電子が、1つまたは複数のノード間で移動し、またトンネル酸化膜層を介してフローティングゲートに到達できるようになる。チャネル領域とフローティングゲートの間での電子の移動は「チャネルオペレーション」と呼ばれる。ドレインまたはソース領域とフローティングゲートの間での電子の移動はフローティングゲートの縁とドレインまたはソース領域とが重なり合う重なり領域上に生じるため、「エッジオペレーション」と呼ばれる。
MLCによって各セルにマルチデータビットを記憶できることから、これは、512Mb以上といった高密度を典型的に必要とする大量記憶アプリケーションの最大候補の1つとなった。典型的な4レベルMLCでは、セルのVtが、データ「00」、「01」、「10」、「11」を示す4レベルに分割されている。4レベルのそれぞれは直列プログラミングが可能である(即ち、各レベルは、1つ前のレベルが終了した後にフラッシュメモリに書き込まれる)。そのため、4レベルを有するセルの場合、メモリは3回プログラムされる。プログラミングの前にフラッシュメモリを消去することで、アレイ中の各セルがデフォルト状態(例えば「11」)にリセットされる。即ち、データが3つのステップ「00」、「01」、「10」でフラッシュメモリに書き込まれる。「11」はメモリ消去後のデフォルト状態であるので書き込まれない。
図1は、4レベル型メモリセルの直列プログラミングを示す。まず、書き込むデータが、スタティック・ランダム・アクセス・メモリ(「SRAM」)101内に(例えばページ毎に)ロードされる。各ページは多数のマルチビットワードを備える。SRAM101は複数の行を含み、各行には2個のマルチビットワード102、103が含まれている。データが一度ロードされると、各行から2個のマルチビットワード102、103が読み出される。
2個のマルチビットワード102、103が読み出されると、プログラムが、書き込むレベル(例えば「01」)を識別する。まず、ワード102、103の関連するビットが対を形成する。ビットを対にする際に、ワード103からのビット(「10..0110」)は最上位ビット(MSB)を表し、ワード102からのビット(「10..1001」)は最下位ビット(LSB)を表す。ビット対が形成されると、プログラムは、どのビット対が値「01」を有するかを決定する。さらに、プログラム可能なビット対を表すインジケータ値を出力ベクトル104に出力できる。また、プログラムは値「01」を持った、即ちプログラムが必要であることを示すそれぞれのビット対について、出力ベクトル104に「0」を出力する。これに対し、プログラムは、値「01」を持たない、即ちこの時点ではプログラミングが不要であることを示すそれぞれのビット対に(例えば「00」、「10」、「11」)について、出力ベクトル104に「1」を出力できる。出力ベクトル104は、各ビット対のインジケータ値を記憶できる。例えば、出力ベクトル104は「11..0110」を記憶する。これは、「0」で示す2個のビットのプログラミングが可能なことを表す。
出力ベクトル104が作成されたら、これをデータバス105上へ移動し、ラッチ106に記憶することができ、また、ラッチ106に従ってフラッシュメモリアレイ107をプログラムする際に使用することができる。さらに、ページプログラムの開始時に、出力ベクトル104をVSRAM108に書き込むこともできる。出力ベクトル104がラッチ106に記憶されると、「01」に関連したビット対を、フラッシュメモリアレイ107の関連するMLC内に書き込むことができる。このステップは「ショット」と呼ばれる。SRAM101はプログラムベクトルと第1ショットプログラムを作成でき、VSRAM108は後続のプログラムショットを制御できる。MLCのプログラミングが成功すると、VSRAM108中のインジケータ値が「0」から、データの書き込み成功を表す「1」に変更される。
プログラムは、全てのページデータの書き込みが終了すると、データが正確に書き込まれたことを検証する。プログラムはまず、フラッシュメモリ107からページデータを読み出す。次に、このデータを、書き込まれるべきデータ(例えば、SRAM101からの「01」)と比較する。これは、プログラミングされたデータを、VSRAM108内にラッチされたデータと比較することで達成される。VSRAM108中の全てのビットが「1」であればページデータの書き込みは成功であり、この場合には、プログラムがこのループから出て、別のレベル(例えば「00、「10」)にてループを継続する。VSRAM108中のインジケータが「1」でなければ、インジケータに関連したビットを、フラッシュメモリアレイ107の関連するMLC内に再度書き込むことができる。ビット対をMLCに再度書き込むこのステップは「別のショット」と呼ばれる。これらのビットが書き込まれると、プログラムが、読み出したデータを、書き込まれるべきデータと再び比較する。この工程は、全てのビットの書き込みが終了し、VSRAM108中の全てのインジケータが「1」になるまで継続する。
データを書き込み/検証するこの工程によりプログラミング速度が低下する。したがって、プログラミング速度を増加させる必要がある。
本発明に関連したこの方法および装置は、MLCの並列プログラミングを提供する。MLCを並列プログラミングする場合、セルの全4レベルを同時にプログラムできる。
1つの例証的な実施形態では、フラッシュ・マルチレベルメモリセル(MLC)メモリの並列プログラミング方法を提供する。この方法はSRAM内にデータをロードすることを備える。さらに、SRAM内のデータから複数のマルチビットワードを読み出し、このワードを電力制御回路の少なくとも1個のラッチバッファ内にロードすることを備える。この方法はさらに、ラッチバッファ内の複数のワードの1つからの1または複数のビットを、ラッチバッファ内の別のワードからの1または複数のビットとで対を形成し、どのビット対にプログラミングが必要であるかを決定することを備える。この方法はまた、各メモリセルの決定されたビット対の並列プログラミングを備える。さらに、決定されたビット対に関連したメモリセルのトランジスタのドレイン側に電圧を印加することで、各マルチレベルメモリセルをプログラミングすることを備える。
前述の一般的な説明と以下の詳細な説明の両方は、単に例証的かつ説明的なものでしかなく、本発明を記述のとおりに制限するものではない。ここで説明されたものの他に、さらなる特徴および/または変化が提供される。例えば本発明は、開示される特徴および/または組み合わせの様々な組み合わせおよび副組み合わせに関し、また、以下の詳細な説明で開示される、さらなる特徴のいくつかの副組み合わせにも関する。
本発明に関連したこの方法および装置は、MLCの並列プログラミングを提供する。MLCを並列プログラミングする場合、セルの全4レベルを同時にプログラムできる。
この明細書に組み込まれこれを構成する添付の図面は、本発明の特定の態様を示し、説明と共に、本発明の原理のいくつかの説明を促す。
次に、添付の図面によって例証された本発明を詳細に参照する。以下で説明する実現は、請求された本発明に関連する全ての実現を表してはいない。これらの実現は、単に、本発明に関連した特定の態様の例でしかない。全図面を通して、可能な場合には同様の部分を同一の参照符号で表している。
図2は、4つのレベルのメモリセルの並列プログラミングを実現するシステム200を示す。プログラミングの前にMLCを消去することで、全てのセルがデフォルト状態(たとえば「11」)にリセットされるようにすることが可能である。MLCを消去すると、書き込むデータをSRAM201の(例えばページ毎の)ロードが可能になる。各ページは多数のマルチビットワードを備えていてよい。SRAM201は複数の行を含み、また、各行は2個のマルチビットワード202、203を含む。データがロードされると、ワード202、203からのビットが読み出され、これに関連するビットが2個1組の対にされる。ワード203からのビット(「10..0100」)は2ビットのMSBに関連し、ワード202からのビット(「10..1001」)は2ビットのLSBに関連する。
マルチビットワード202からのビットを、読み出し時にデータバス204上に移動し、フラッシュメモリ210のラッチバッファ211に書き込む。このビットはまた、第1行右側221のVSRAM220に書き込んでもよい。同様に、マルチビットワード203からビットを読み出す際に、このビットをデータバス204上に移動し、フラッシュメモリ210のラッチバッファ212に書き込んでもよい。さらに、第1行左側222のVSRAM220に書き込むこともできる。
マルチビットワード202、203からのビットがバッファ211、212にそれぞれ書き込まれると、メモリアレイ215内のMLCがプログラムされる。メモリアレイ215内の各MLCは、ワードライン216とビットライン217に結合される。ラッチバッファ211、212内のビットで対が形成され、全ての対「00」「01」、「10」がメモリアレイ215内のMLCに書き込まれる。「11」は、メモリ消去後のデフォルト状態であるため、書き込まれない。
ラッチバッファ211、212内の各マルチビットワード202、203のビットに関連したビット対「00」「10」「01」を、メモリセルアレイ215内の対応するMLCに同時に書き込むことができる。プログラムが必要な各ビット対は、ps_vppd回路213〜213nへ送られる。ps_vppd回路213〜213nは、対応するビット対を受信し、この受信したビット対に基づいて電圧を出力する。この電圧がマルチプレクサ214〜214nを介して供給され、メモリセルアレイ215中の関連するMLC内に出力されることでこのセルがプログラムされる。この電圧は、各MLCのトランジスタのドレイン側に印加される。MLCは、プログラミング完了後、メモリセルに印加された電圧に関連するビット対(例えば「00」「01」「10」)を記憶する。
図3は、電圧を生成し、これをメモリセルアレイ215内にある各MLCのトランジスタのドレイン側に印加するps_vppd回路300を示す。データバス302は、フリップフロップ304、305に直列入力されたラッチバッファ211、212から2個のビットを供給できる。例えば、プログラミングが必要な2個のビットが「01」である場合には、ビット「1」をデータバス302からフリップフロップ304、305に送信できる。ラッチ301はトリガ信号を送信、ビットをフリップフロップ305内にラッチすることができる。フリップフロップ305はビット「1」を出力し、このビット「1」はフリップフロップ304に入力され、ラッチ301によってラッチされる。フリップフロップ305からビット「1」が出力されると、データバス302からフリップフロップ305にビット「0」が入力され、ラッチ301によってラッチされる。両ビットはフリップフロップ304、305に記憶された後に、デコーダ306内へ並列出力される。両ビットはクロック信号303とともに、デコーダ306に入力される。
デコーダ306は、フリップフロップ304、305から入力された2個のビットに関連する信号を4個の変換器307、308、309、310のうち1つに出力できる。変換器307、308、309、310が、パワー電圧Power_1、Power_2、Power_3、Power_4により駆動される。一つの態様では、パワー電圧Power_1、Power_2、Power_3はそれぞれ異なっているため、デコーダ306から関連する出力が選択されると、変換器307、308、309が、パワー電圧Power_1、Power_2、Power_3に関連した異なる電圧を出力する。
NMOSトランジスタ311、312、313、315は変換器307、308、309、310にそれぞれ接続していてよく、また、高電圧レベルにまでポンピングされるDPUMP314に接続していてもよい。トランジスタ311、312、313は、変換器307、308、309の関連する1つからDL318へ電圧出力を送るソースホロワを形成する。このソースホロワはメモリセル215内のフラッシュセルのドレイン側に接続している。トランジスタ316、317はドライバ回路として機能し、適切なトランジスタ311、312、313からの電圧をDL318に印加させることができる。デコーダ306の出力が「11」である場合には、変換器310がPower_4に関連したパワー電圧を出力し、トランジスタ315をターンオンする。その結果、ドライバ回路が無効となり、DL318への電圧印加が停止する。
例えば、2個のビットが「01」である場合、デコーダ306がインバータ309に、「01」に関連した信号「0」を出力する。デコーダ306が、信号「1」をインバータ307、308、または310に出力する。インバータ309からの電圧がトランジスタ313に供給され、トランジスタ313が、インバータ309からの電圧に関連する、DPUMP314からの電圧をDL318へ送る。この時点でトランジスタ311、312、315が接地される。DL318はこの電圧を、メモリセルアレイ215内にある適切なMLCのトランジスタのドレイン側に印加する。このMLCフラッシュメモリセルは、プログラミング完了後にビット対「01」を記憶できるようになる。
再び図2を参照すると、データの書き込み後に、プログラムが、そのデータが正確に書き込まれているかどうかを検証する。SENAMP(感知増幅器)218〜218nが、メモリセルアレイ215内の各MLCから2個のビットを読み出し、これを2つの周期内のデータバス204へ出力する。この2個のビットは、VSRAM220内の関連する2個のビットに対して比較される。プログラミングが成功すると、MLC毎に、プログラムがVSRAM220内の関連する2個のビットを「11」に変更する。2つおきのビットが「11」に変更されたらプログラムが完了する。
VSRAM220内の2つおきのビットが「11」でない場合は、再びこれらのビットをMLC内に書き込むことができる。ビットが書き込まれると、SENAMP218〜218nが、再び2個のビットをVSRAM220内の関連する2個のビットと比較する。全てのビットが書き込まれ、VSRAM内の2つおきのビットが全て「11」になるまでこの工程が継続する。
このプログラム検証を、MLCの行全体のプログラミングが完了するまでループできる。MLCの第1行目のプログラミングが完了すると、MLCの第2行目のプログラミングが実行される。第2行目のプログラミングと検証も同じ方法で実行される。あるいは、ページ全体が読み出されて、書き込まれる各ワードに1ショットが実行されるまでこのプログラミングをループすることができる。これが完了すると、全ての行に検証工程をループすることが可能である。
従来技術と異なり、VSRAM220は、インジケータ値ではなく実ビットをSRAM201から受信する。実ビットはVSRAM220に記憶されているため、第1ショット以降の各ショットについてSRAM201にアクセスする必要がない。むしろ、第1ショット以降のショットでは、データはVSRAM220から直接送信される。
ユーザまたはアプリケーションがデータをSRAM201内に保持したい場合にも、VSRAM220を使用できる。ユーザまたはアプリケーションがデータをSRAM201に保持する必要が無い場合には、VSRAM220を使用する必要はない。この場合、プログラムが、データが正確に書き込まれたことを検証すると、SENAMP218〜218nがメモリセルアレイ215内の各MLCから2個のビットを読み出し、この2個のビットを2個の周期においてデータバス204上へ出力できる。2個のビットは、SRAM201内の関連する2個のビットと比較される。各MACについて、プログラミングが成功であれば、プログラムがSRAM201内の関連する2個のビットを「11」に変更することができる。全ての2つおきのビットが「11」に変更されるとプログラムが完了する。
SRAM201内の2つおきのビットが「11」でない場合には、これらのビットを再びMLCに書き込むことができる。このビットの書き込みが完了すると、SENAMP218〜281nが、SRAM201内の関連する2個のビットに対して再び比較される。この工程が、全てのビットが書き込まれ、SRAM201内の2つおきのビットが「11」になるまで継続する。
SRAM201を使用したこのプログラム検証は、MLCのページ全体のプログラミングが完了するまでループすることができる。このプログラミングは、ページ全体が読み出され、書き込まれる各ワードについて1ショットが実行されるまでループできる。これが完了したら、全ての行に検証工程をループすることができる。
図4は、第1プログラムショットにおいて、SRAM201からメモリアレイ215のMLC内へデータを書き込むための例証的なタイムチャートである。Sram_addはSRAM201のアドレスのことを指す。sram_rdは、SRAM201から2個のマルチビットワード202、203を読み出すようプログラムをトリガすることができる。
Sram_need_pgmは、SRAM201からの2個のマルチビットワードを書き込む必要があるかどうかを決定する。SRAM201からの2個のマルチビットワード202、203のプログラムが必要な場合には、sram_oe1、sram_oe2がSRAM201内のマルチビットワード202、203からビットを読み出すことができる。Ps_vppd_latはフリップフロップ304、305をトリガして、データバス204からデータをラッチすることができる。Array_addressは、MLCのメモリアレイ215内における場所を意味する。Program_pulseは、メモリアレイ215内の選択されたMLCを関連するデータによってプログラムするための信号を生成できるプログラム制御パルスである。program_pulseが「1」である場合にはプログラムは有効である。Vsram_addはアドレスVSRAM220を意味する。vsram_wrは、プログラムを、マルチビットワード202、203をVSRAM220内に書き込むようにトリガする。
図5は、書き込まれたデータを検証するための例証的なタイミングチャートである。Array_addressは、メモリアレイ215内のMLC内におけるデータの場所を意味する。Array_rdは、プログラムを、メモリアレイ215内のMLCからのデータを読み出すようにトリガする。array_oe1は第1ビットを読み出し、array_oe2は第2ビットを読み出す。Dp_dbusは、ビットをデータバス204上にラッチすることができる。Vsram_addはVSRAM220のアドレスを意味し、vsram_rdは、VSRAM220から2個のマルチビットワード221、222を読み出すことができる。Vsram_din_en1、vsram_din_en2は、VSRAM220内のマルチビットワード221、222から第1、第2ビットを読み出す。これらのビットのプログラムが成功すると、vsram_cmplxが検証を完了する。さらに、VSRAM220内のビットを、これらを「11」に変更することで更新する。
図6は、第1ショット後にプログラムショットにデータを書き込む場合の例証的なタイミングチャートである。VSRAM220内のビット対全てが「11」でない場合には、このビットを、別のショットにおいて再びメモリアレイ215内のMLCに書き込むことができる。vsram_addは、VSRAM220のアドレスを意味する。Vsram_rdは、VSRAM220内のビットを読み出すことができ、また、信号Vsram_need_pgmは、VSRAM220内のビットを再度プログラムする必要があるかどうかを決定する。これらのビットの再プログラムが必要な場合は、vsram_oe1、vsram_oe2がVSRAM220からこれらのビットを読み出すことができ、また、Ps_vppd_latがこれらのビットをデータバス204上にラッチすることができる。再度プログラムが必要なビットはバッファ211、212に記憶される。Array_addressは、ビットをプログラムできる、メモリアレイ215内におけるMLCの場所を意味する。program_pulseは、これらのビットをメモリアレイ215内のMLC内にプログラムするための信号を生成する。この工程は、全てのビットが書き込まれ、VSRAM220内のビット対全てが「11」になるまで継続する。
前述の説明は、付属の請求項の範囲に構成要件を記載された本発明の範囲を例証するものであって、本発明の範囲を限定するものではない。これ以外の実施形態は以下の請求項の範囲内に入る。
従来技術におけるMLCをプログラミングする工程を示す図。 本発明によりMLCをプログラミングする例証的な工程を示す図。 本発明によりMLCをプログラミングする回路を示す図。 本発明により第1プログラムショット内にデータを書き込む例証的なタイミングチャート。 本発明により、書き込んだデータを検証する例証的なタイミングチャート。 第1ショットの後に、本発明によりプログラムショットにデータを書き込むための例証的なタイミングチャート。

Claims (13)

  1. フラッシュ・マルチレベルメモリセル(MLC)メモリを並列プログラミングする方法であって、
    データをSRAM内にロードするステップと、
    前記SRAM内の前記データから複数のマルチビットワードを読み出すステップと、
    ワードを少なくとも1個のラッチバッファにロードするステップと、
    少なくとも1個のラッチバッファ内のワードの1つからの1つまたは複数のビットを、少なくとも1個のラッチバッファ内の別のワードからの1つまたは複数のビットと対にするステップと、
    前記ビット対のどれにプログラミングが必要であるかを決定するステップと、
    前記メモリセルを前記決定されたビット対と共に並列プログラミングするステップとを備えるとともに、
    複数の電圧から1つを選択するステップと、
    選択した電圧を、複数のNMOSソースホロワの1つを介して、前記決定されたビット対に関連したメモリセルのトランジスタのドレイン側に印加するステップと、
    前記ワードを、受信したビットにより内部のビットを変更可能なVSRAM内にロードするステップと、
    前記プログラムされたビット対を、前記VSRAM内の関連するワードのビット対と比較するステップと、を備える方法。
  2. 前記選択された電圧を印加するステップは、前記選択された電圧を、前記複数のNMOSソースホロワの1つとドライバ回路とを介して印加するステップを備える、請求項1に記載の方法。
  3. ビット対のプログラミングが成功したと決定するステップと、
    VSRAM内のプログラミングが成功した全てのビット対を、ビット対のプログラミングが成功したことを表すインジケータ値に変更するステップをさらに備える、請求項1に記載の方法。
  4. プログラミングが成功しなかったビット対があるかどうかを決定するステップと、
    メモリセルを、プログラミングが成功しなかったビット対と共に再度並列プログラミングするステップをさらに備える、請求項1に記載の方法。
  5. 前記プログラムされたビット対を、前記SRAMのデータと関連するビット対と比較するステップをさらに備える、請求項1に記載の方法。
  6. 前記ビット対のプログラミングが成功したかどうかを決定するステップと、
    プログラミングが成功した、前記SRAM内のデータの全てのビット対を、前記ビット対のプログラミングが成功したことを表すインジゲータ値に変更するステップをさらに備える、請求項5に記載の方法。
  7. プログラミングが成功しなかったビット対があるかどうかを決定するステップと、
    前記メモリセルを、プログラミングが成功しなかったビット対と共に再度並列プログラミングするステップをさらに備える、請求項1に記載の方法。
  8. フラッシュ・マルチレベルメモリセル(MLC)メモリを並列プログラミングする装置であって、
    データを受信するSRAMと、
    前記SRAMから読み出された複数のマルチビットワードを受信するための、少なくとも1個のラッチバッファと、
    ビット対を受信するための複数のマルチレベルメモリセルを備え、前記ビット対は、前記少なくとも1個のラッチバッファ内にある前記ワードの1つからの1つまたは複数のビットを、少なくとも1個のラッチバッファ内にある別のワードの1つからの1つまたは複数のビットと対にすることで形成されており、
    前記メモリセルは、プログラミングが必要なビット対と共に並列プログラミングし、
    前記メモリセルは、前記決定したビット対に関連したトランジスタのドレイン側で、複数のNMOSソースホロワとドライバ回路のうちの一方により電圧を受信するトランジスタを備え、
    前記ワードを受信する、受信したビットにより内部のビットを変更可能なVSRAMを備え、
    前記プログラムされたビット対を、これと関連する、前記VSRAM内にあるワードのビット対と比較する検証手段を備える、装置。
  9. 前記検証手段は、前記ビット対のプログラミングが成功したかどうかを決定し、前記VSRAM内の、プログラミングが成功した全てのビット対を、前記ビット対のプログラミングが成功したことを表すインジケータ値に変更するステップを備える、請求項8に記載の装置。
  10. 前記メモリセルは、プログラミングに成功しなかった前記ビット対と共に再度並列プログラミングされる、請求項9に記載の装置。
  11. 前記プログラムされたビット対を、前記SRAM内のこれに関連したビット対と比較する検証する手段をさらに備える、請求項8に記載の装置。
  12. 前記検証手段は、前記ビット対のプログラミングが成功したかどうかを決定し、前記SRAM内にあるワードの、プログラミングが成功した全てのビット対を、ビット対のプログラミングが成功したことを表すインジケータ値に変更するステップを備える、請求項11に記載の装置。
  13. 前記メモリセルは、プログラミングに失敗した前記ビット対と共に再度並列プログラミングされる、請求項12に記載の装置。
JP2007167563A 2006-10-26 2007-06-26 高速プログラム型のmlcメモリ Active JP4724692B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/586,657 US7522451B2 (en) 2006-10-26 2006-10-26 High program speed MLC memory
US11/586,657 2006-10-26

Publications (2)

Publication Number Publication Date
JP2008108408A JP2008108408A (ja) 2008-05-08
JP4724692B2 true JP4724692B2 (ja) 2011-07-13

Family

ID=39329914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007167563A Active JP4724692B2 (ja) 2006-10-26 2007-06-26 高速プログラム型のmlcメモリ

Country Status (4)

Country Link
US (1) US7522451B2 (ja)
JP (1) JP4724692B2 (ja)
CN (1) CN101169973B (ja)
TW (1) TWI313869B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762654B1 (en) * 2008-07-02 2014-06-24 Marvell International Ltd. Selectively scheduling memory accesses in parallel based on access speeds of memory
US8706951B2 (en) 2008-07-18 2014-04-22 Marvell World Trade Ltd. Selectively accessing faster or slower multi-level cell memory
CN102129884A (zh) * 2010-01-20 2011-07-20 旺宏电子股份有限公司 一种利用位线动态切换增加编程效率的方法与装置
KR101736792B1 (ko) 2010-09-20 2017-05-18 삼성전자주식회사 플래시 메모리 및 그것의 셀프 인터리빙 방법
KR101678915B1 (ko) * 2010-12-27 2016-11-23 삼성전자주식회사 플래시 메모리 장치, 그것의 데이터 랜덤화 방법, 및 그것을 포함하는 메모리 시스템
CN112216323A (zh) * 2017-09-04 2021-01-12 华为技术有限公司 一种存储单元和静态随机存储器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000512056A (ja) * 1996-06-14 2000-09-12 マクロニクス インターナショナル カンパニー リミテッド セル毎に複数ビットを記憶するページモードの浮動ゲート記憶装置
JP2000251484A (ja) * 1999-02-26 2000-09-14 Sony Corp 不揮発性半導体記憶装置
JP2003157681A (ja) * 2001-11-22 2003-05-30 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JP2005285321A (ja) * 2005-06-06 2005-10-13 Renesas Technology Corp 不揮発性半導体記憶装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754469A (en) * 1996-06-14 1998-05-19 Macronix International Co., Ltd. Page mode floating gate memory device storing multiple bits per cell
JP4029469B2 (ja) * 1997-12-26 2008-01-09 ソニー株式会社 不揮発性半導体記憶装置およびそのデータ書き込み方法
JP3629144B2 (ja) * 1998-06-01 2005-03-16 株式会社東芝 不揮発性半導体記憶装置
US6714457B1 (en) * 2001-09-19 2004-03-30 Aplus Flash Technology, Inc. Parallel channel programming scheme for MLC flash memory
US7019998B2 (en) * 2003-09-09 2006-03-28 Silicon Storage Technology, Inc. Unified multilevel cell memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000512056A (ja) * 1996-06-14 2000-09-12 マクロニクス インターナショナル カンパニー リミテッド セル毎に複数ビットを記憶するページモードの浮動ゲート記憶装置
JP2000251484A (ja) * 1999-02-26 2000-09-14 Sony Corp 不揮発性半導体記憶装置
JP2003157681A (ja) * 2001-11-22 2003-05-30 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JP2005285321A (ja) * 2005-06-06 2005-10-13 Renesas Technology Corp 不揮発性半導体記憶装置

Also Published As

Publication number Publication date
TW200822122A (en) 2008-05-16
US7522451B2 (en) 2009-04-21
CN101169973B (zh) 2010-06-02
JP2008108408A (ja) 2008-05-08
CN101169973A (zh) 2008-04-30
TWI313869B (en) 2009-08-21
US20080101144A1 (en) 2008-05-01

Similar Documents

Publication Publication Date Title
USRE46665E1 (en) Programming method for non-volatile memory device
TWI398870B (zh) 程式化一記憶體單元陣列及記憶體裝置之方法
CN102318007B (zh) 用于对一页内和多页间的数据进行芯片上伪随机化的非易失性存储器和方法
US7701775B2 (en) Flash memory device utilizing multi-page program method
JP4977843B2 (ja) 面積が減少したページバッファ回路とその読み出し及びプログラム動作方法
US8107287B2 (en) Method of programming nonvolatile memory device
US8738836B2 (en) Non-volatile semiconductor memory device and write-in method thereof
KR100953063B1 (ko) 불휘발성 메모리 장치의 소거 방법
US7227778B2 (en) Semiconductor device and writing method
JP2001014873A (ja) 不揮発性半導体記憶装置
CN109559776B (zh) 非易失性存储器装置及其读出方法
JP2008052899A (ja) マルチ−ビットフラッシュメモリー装置とそのプログラム方法
JP2010102751A (ja) 不揮発性半導体記憶装置とその書き込み方法
JP4724692B2 (ja) 高速プログラム型のmlcメモリ
JP2007004961A (ja) マルチレベルセルフラッシュメモリのアクセス方法及び装置
JP2009070539A (ja) 不揮発性メモリ装置及びそのマルチレベルセルプログラム方法
US8054685B2 (en) Method of programming nonvolatile memory device
JP5545552B2 (ja) メモリ・デバイスにおけるデータ転送およびプログラミング
JP6115882B1 (ja) 半導体記憶装置
KR100938044B1 (ko) 불휘발성 메모리 장치 및 그 멀티 레벨 셀 프로그램 방법
KR100960447B1 (ko) 불휘발성 메모리 소자의 동작 방법
JP2008165966A (ja) 3個のラッチを利用するメモリセル・プログラミング方法及び半導体メモリ装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101227

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110201

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110411

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

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4724692

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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