JP5216856B2 - プログラムの期間中での干渉の影響の低減 - Google Patents

プログラムの期間中での干渉の影響の低減 Download PDF

Info

Publication number
JP5216856B2
JP5216856B2 JP2010524101A JP2010524101A JP5216856B2 JP 5216856 B2 JP5216856 B2 JP 5216856B2 JP 2010524101 A JP2010524101 A JP 2010524101A JP 2010524101 A JP2010524101 A JP 2010524101A JP 5216856 B2 JP5216856 B2 JP 5216856B2
Authority
JP
Japan
Prior art keywords
group
program
storage elements
volatile storage
programming
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
JP2010524101A
Other languages
English (en)
Other versions
JP2010538409A (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.)
SanDisk Technologies LLC
Original Assignee
SanDisk Technologies LLC
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 SanDisk Technologies LLC filed Critical SanDisk Technologies LLC
Publication of JP2010538409A publication Critical patent/JP2010538409A/ja
Application granted granted Critical
Publication of JP5216856B2 publication Critical patent/JP5216856B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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
    • 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/5621Multilevel programming verification

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)
  • Non-Volatile Memory (AREA)

Description

本発明は、不揮発性記憶装置のための技術に関する。
半導体メモリは、様々な電子デバイスで使われることが一般的になってきている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピュータ、非モバイルコンピュータ、及び他の装置に使用されている。電気的消去・再プログラム可能型読取専用メモリ(EEPROM)とフラッシュメモリは、最も普及している不揮発性半導体メモリである。
EEPROMとフラッシュメモリは、半導体基板内のチャネル領域上に配置され、そのチャネル領域から絶縁されているフローティングゲートを採用している。フローティングゲートとチャネル領域は、ソース領域とドレイン領域の間に配置されている。フローティングゲートの上に、そのフローティングゲートから絶縁されている制御ゲートが設けられている。トランジスタの閾値電圧は、フローティングゲート上に保持されている電荷量によって制御される。 即ち、そのソースとドレインの間の導通を可能にすべくトランジスタをオンするために制御ゲートに印加すべき電圧の最小量は、そのフローティングゲート上の電荷量レベルにより制御される。従って、フローティングゲートに保持されている電荷量を変化させることにより閾値電圧を変化させることで、メモリセル(メモリセルは一つ以上のトランジスタを備えていてもよい)にプログラム/消去を行うことができる。
各メモリセルは(アナログ又はデジタルの)データを記憶することができる。1ビットのデジタルデータを記憶する場合(バイナリメモリセルと呼ばれる)、メモリセルの可能な閾値電圧の範囲は、2つの範囲に分割され、それぞれの範囲が論理データの「1」と「0」に割り当てられる。
NAND型フラッシュメモリの一例では、メモリセルが消去された後では閾値電圧が負値となり、それは論理「1」と定義される。プログラム後の閾値電圧は正値となり、それは論理「0」と定義される。閾値電圧が負値であり、制御ゲートに0ボルトが印加される読み出しが試みられた場合、メモリセルがオンとなり、これは論理1が記憶されていることを示す。閾値電圧が正値であり、制御ゲートに0ボルトが印加される読み出しが試みられた場合、メモリセルはオンせず、これは論理0が記憶されていることを示す。
一つのメモリセルで、複数レベルの情報を記憶することができる(マルチステートメモリセルと呼ばれる)。複数レベルのデータを記憶する場合には、可能な閾値の範囲は、データのレベルの数に分割される。例えば、4つのレベルの情報を記憶する場合、4つの閾値電圧範囲が存在し、それぞれがデータ値「11」、「10」、「01」、及び「00」に割り当てられる。NANDタイプのメモリの一例では、消去動作の後の閾値電圧は負の値となり、論理「11」と定義される。正値の閾値電圧群が「10」、「01」、「00」というデータ状態に対して用いられる。8つのレベルの情報(又は状態)が記憶される場合(即ち、3ビットのデータ)、データ値「000」、「001」、「010」、「011」、「100」、「101」、「110」、及び「111」に割り当てられる8つの閾値電圧範囲がある。メモリセルにプログラムされるデータとセルの閾値電圧レベルの間の具体的な関係は、セルに採用されるデータ符号化方式によって決まる。例えば、両方ともその全体を参照することにより本明細書に組み込まれる米国特許第6,222,762号及び米国特許出願公開公報第2004/0255090号は、マルチステートフラッシュメモリセルのための様々なデータ符号化方式を説明している。一実施形態においては、フローティングゲートの閾値電圧が誤ってその近傍の物理状態にシフトした場合に1つのビットだけが影響を受けるように、グレイコード割当を用いてデータ値が閾値電圧範囲に割り当てられる。いくつかの実施形態では、異なるワードラインに対してデータ符号化技法が変更され得ることがある。データ符号化技法は、時間に依存して変更され得ることがある。また、ランダムなワードラインのデータビットは、データパターン感度を低減し、メモリセルのウェアを均一にするために、反転されることがある。また、様々な符号化技法が使用され得ることがある。
EEPROMやNAND型フラッシュメモリデバイスなどのフラッシュメモリデバイスにプログラムを行う場合、典型的には、ビットラインが接地されるとともに、制御ゲートにプログラム電圧が加えられる。チャネルからの電子がフローティングゲートへ注入される。フローティングゲートに電子が蓄積されると、フローティングゲートが負値に帯電し、メモリセルの閾値電圧が上昇し、メモリセルがプログラムされた状態となる。プログラムに関するさらなる情報は、「Source Side Self Boosting Technique for Non-Volatile Memory」と題した米国特許第6,859,397号、および、「Detecting Over Programmed Memory」と題した米国特許出願公開公報2005/0024939号に開示されている。これらの両方の文献の内容は、その全体を参照することにより本明細書に組み込まれる。多くのデバイスでは、プログラム電圧は、連続するパルスの各々で所定ステップサイズずつパルスの大きさが増加する一連のパルスとして、プログラム処理の間にコントロールゲートに印加される。
多くの不揮発性記憶装置システムは、列と行に配列されたメモリセルのアレイを備えている。(ワードライン、ビットライン、その他の種類のコントロールラインなどの)コントロールラインは、様々な列および行に接続される。一例では、ワードラインがメモリセルの行のアクセスに使用される一方、ビットラインがメモリセルの列のアクセスに使用される。この配列では、プログラム電圧の一連のパルスは、複数の選択メモリセルに接続されている1本の選択ワードラインに印加される。パルスを印加される選択メモリセルの各々は、パルスの印加に応じて閾値電圧が上昇する可能性がある。メモリセルが目標の閾値電圧に到達すると、メモリセルはさらなるプログラムから除外される。メモリセルが除外されると、そのメモリセルに隣接するメモリセルの期待されているプログラム速度に干渉を起こすことが知られている。この影響によって、隣接メモリセルの閾値電圧が所望の目標閾値電圧を超過することがあり、その結果、オーバープログラムとなる。ある場合には、オーバープログラムされたメモリセルは、読み出し時にエラーを起こすことがある。
プログラムの期間中に隣接メモリセル間での干渉の影響を減少させることができる技術について詳述する。
一実施形態は、第1の期間において不揮発性記憶素子の第1のグループにプログラムを行うステップと、第1の期間と異なる第2の期間において不揮発性記憶素子の第2のグループにプログラムを行うステップと、不揮発性記憶素子の第1のグループおよび不揮発性記憶素子の第2のグループに対して一緒に検証を行うステップと、
を備える。
一実施形態は、多数のプログラミングパルスを複数の不揮発性記憶素子に印加するステップを備える。このステップは、第2の不揮発性記憶素子群を意図的にプログラムせずに、第1の不揮発性記憶素子群を第1のプログラミングパルスでプログラムするステップと、第1の不揮発性記憶素子群を意図的にプログラムせずに、第2の不揮発性記憶素子群を第2のプログラミングパルスでプログラムするステップと、を備える。処理はさらに、第1のプログラミングパルスおよび第2のプログラミングパルスを印加した後に、複数の不揮発性記憶素子に対して検証処理を行うステップを備える。検証処理は、第1の不揮発性記憶素子群が第1のプログラミングパルスによって1以上の目標に到達したか否かを検証するステップと、第2の不揮発性記憶素子群が第2のプログラミングパルスによって1以上の目標に到達したか否かを検証するステップとを備える。
一実施形態は、第1のトリガの前に、不揮発性記憶素子の第1のグループおよび不揮発性記憶素子の第2のグループに一緒にプログラムを行うステップおよび一緒に検証を行うステップを備える。第1のトリガの後に、不揮発性記憶素子の第2のグループとは別に不揮発性記憶素子の第1のグループがプログラムされ、不揮発性記憶素子の第2のグループと一緒に不揮発性記憶素子の第1のグループが検証される。
一実施形態は、第1の状態を検出する前に、複数のプログラミングサイクルを実行するステップを備える。複数のプログラミングサイクルの各々は、第1の不揮発性記憶素子群をプログラムするために第1のパルスを使用するステップと、第2の不揮発性記憶素子群をプログラムするために第2のパルスを別途に使用するステップとを備える。1以上のプログラミングサイクルは、第1の不揮発性記憶素子群および第2の不揮発性記憶素子群を一緒に検証するステップを備える。第1の状態の検出後に、1以上のプログラムサイクルのグループが実行される。各々のプログラムサイクルは、第1の不揮発性記憶素子群および第2の不揮発性記憶素子群を一緒にプログラムするために1のパルスを使用するステップを備える。1以上のプログラムサイクルのグループは、第1の不揮発性記憶素子群および第2の不揮発性記憶素子群を一緒に検証するステップを備える。
一実施形態は、(不揮発性記憶素子の第1のグループおよび不揮発性記憶素子の第2のグループを含む)複数の不揮発性記憶素子と、不揮発性記憶素子と通信する1以上の管理回路とを備える。1以上の管理回路は、不揮発性記憶素子の第2のグループへのプログラムとは別に、不揮発性記憶素子の第1のグループにプログラムを行う。1以上の管理回路は、不揮発性記憶素子の第2のグループの検証と一緒に、不揮発性記憶素子の第1のグループの検証を行う。
一実施形態は、複数の不揮発性記憶素子(不揮発性記憶素子の第1のグループおよび不揮発性記憶素子の第2のグループを含む)と、不揮発性記憶素子と通信する1以上の管理回路を備える。トリガの前では、1以上の管理回路は、第1セットの1以上のプログラムサイクルを実行する。トリガの後では、1以上の管理回路は、第2セットの1以上のプログラムサイクルを実行する。第1セットの1以上のプログラムサイクルの各々では、不揮発性記憶素子のグループを一緒にプログラムするために1のパルスが用いられる。第1セットの1以上のプログラムサイクルの各々では、不揮発性記憶素子のグループが一緒に検証される。第2セットの1以上のプログラムサイクルの各々では、第1の不揮発性記憶素子群をプログラムするために第1のパルスが使用され、第2の不揮発性記憶素子群をプログラムするために第2のパルスが別途使用される。第2セットの1以上のプログラムサイクルの各々では、不揮発性記憶素子のグループが一緒に検証される。
一実施形態は、不揮発性記憶素子の第1のグループと、不揮発性記憶素子の第2のグループと、不揮発性記憶素子の第1のグループおよび不揮発性記憶素子の第2のグループと通信する1以上の管理回路と、を備える。所定の状態となる前は、1以上の管理回路は、不揮発性記憶素子の第2のグループとは別に不揮発性記憶素子の第1のグループをプログラムし、不揮発性記憶素子の第2のグループと一緒に不揮発性記憶素子の第1のグループを検証する。所定の状態となった後は、1以上の管理回路は、不揮発性記憶素子の第2のグループと一緒に不揮発性記憶素子の第1のグループをプログラムし、検証する。
NANDストリングの平面図である。 NANDストリングの等価回路図である。 不揮発性メモリシステムのブロック図である。 メモリアレイの一実施例を示すブロック図である。 センスブロックの一実施例を示すブロック図である。 複数の閾値電圧区分の一例および不揮発性メモリの書き込み処理を説明する図である。 様々な閾値電圧区分および不揮発性メモリの書き込み処理を説明する図である。 様々な閾値電圧区分および不揮発性メモリの書き込み処理を説明する図である。 様々な閾値電圧区分および不揮発性メモリの書き込み処理を説明する図である。 様々な閾値電圧区分および不揮発性メモリの書き込み処理を説明する図である。 様々な閾値電圧区分および不揮発性メモリの書き込み処理を説明する図である。 様々な閾値電圧区分および不揮発性メモリの書き込み処理を説明する図である。 様々な閾値電圧区分および不揮発性メモリの書き込み処理を説明する図である。 様々な閾値電圧区分および不揮発性メモリの書き込み処理を説明する図である。 様々な閾値電圧区分および不揮発性メモリの書き込み処理を説明する図である。 不揮発性メモリの書き込み順序の一例を説明するテーブルである。 不揮発性メモリの書き込み処理の一例を説明するフローチャートである。 不揮発性素子の書き込み処理の一例を説明するフローチャートである。 隣接する2つのメモリセルの例の部分図である。 隣接する2つのメモリセルの例の部分図である。 隣接する2つのメモリセルの例の部分図である。 複数のプログラムパルスの図である。 複数のプログラムパルスの図である。 複数のプログラムパルスおよび検証パルスの図である。 複数のプログラムパルスおよび検証パルスの図である。 波形の例を説明する図である。 所定の状態となっているか否かを判断する処理の一実施形態を示すフローチャートである。 所定の状態となっているか否かを判断する回路の一実施形態を示すブロック図である。 所定の状態となっているか否かを判断する処理の一実施形態を示すフローチャートである。 所定の状態となっているか否かを判断する回路の一実施形態を示すブロック図である。 プログラム処理を変更するトリガポイントを判断する処理の一実施形態を示すフローチャートである。 プログラム処理を変更するトリガポイントを判断する処理の一実施形態を示すフローチャートである。 プログラム処理を変更するトリガポイントを判断する処理の一実施形態を示すフローチャートである。 トリガ電圧を動的に調整する処理の一実施形態を示すフローチャートである。 図24の処理を実行するための一部の要素を図示するブロック図である。 トリガ電圧を動的に調整する処理の一実施形態を示すフローチャートである。 図26の処理を実行するための一部の要素を図示するブロック図である。
フラッシュメモリシステムの一例は、NAND構造を用いており、2つの選択ゲートの間に複数のトランジスタの直列接続を含んでいる。直列に接続されたトランジスタと選択ゲートは、NANDストリングと呼ばれる。図1は、1つのNANDストリングを示す平面図である。図2は、その等価回路である。図1と図2に示すNANDストリングは、第1(又はドレイン側)選択ゲート120と第2(又はソース側)選択ゲート122の間に挟まれている、直列に接続されている4つのトランジスタ100、102、104及び106を有する。選択ゲート120は、ビットコンタクト126を介してNANDストリングをビットラインに接続している。選択ゲート122は、NANDストリングをソースライン128に接続している。選択ゲート120は、選択ラインSGDに適切な電圧を加えることによって制御される。選択ゲート122は、選択ラインSGSに適切な電圧を加えることによって制御される。トランジスタ100、102、104、及び106の夫々は、制御ゲートとフローティングゲートを有している。例えば、トランジスタ100は、制御ゲート100CGとフローティングゲート100FGを備えている。トランジスタ102は、制御ゲート102CGとフローティングゲート102FGを備えている。トランジスタ104は、制御ゲート104CGとフローティングゲート104FGを備えている。トランジスタ106は、制御ゲート106CGとフローティングゲート106FGを備えている。制御ゲート100CGはワードラインWL3に接続されており、制御ゲート102CGはワードラインWL2に接続されており、制御ゲート104CGはワードラインWL1に接続されており、制御ゲート106CGはワードラインWL0に接続されている。
図1と図2は、NANDストリング内の4個のメモリセルを示しているが、4個のトランジスタの使用は単に一例として提示されている点に留意されたい。NANDストリングは、4個よりも少ない、或いは、4個よりも多いメモリセルを有していてよい。例えば、NANDストリングによっては8個、16個、32個、64個、128個などの数のメモリセルを有していてよい。本明細書の説明は、いかなる特定個数のメモリセルを有するNANDストリングにも限定されない。
NAND構造を用いたフラッシュメモリシステムの一般的なアーキテクチャは、いくつかのNANDストリングを含んでいる。各NANDストリングは、選択ラインSGSによって制御されるソース選択ゲートによってソースラインに接続されているとともに、選択ラインSGDによって制御されるドレイン選択ゲートによって関連するビットラインに接続されている。各ビットラインとそのビットラインにビットラインコンタクトを介して接続されている夫々のNANDストリングは、メモリセルアレイの列を構成する。ビットラインは、複数のNANDストリングによって共有されている。典型的には、ビットラインは、ワードラインと直交する方向でNANDストリング上を通っており、1以上のセンスアンプと接続されている。
NANDタイプのフラッシュメモリおよびそれらの動作に関連する例は、以下の米国特許/特許出願に記載されており、それらの引用文献は、その全体が参照により本明細書に組み込まれる。米国特許第5,570,315号、米国特許第5,774,397号、米国特許第6,046,935号、米国特許第6,456,528号、及び、米国公開公報第US2003/0002348号。本明細書における説明は、他のタイプの不揮発性記憶素子と同様に、NANDを加えた他のタイプのフラッシュメモリにも利用可能である。
NANDフラッシュメモリに加えて、不揮発性記憶装置の他のタイプもまた用いることができる。例えば、不揮発性装置は、強誘電体層を用いたメモリセルによって製造されてもよい。前述した導電性のフローティングゲート素子の代わりに、誘電体層が用いられる。誘電体記憶素子を用いたメモリ装置が、「NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell」、IEEE Electron Device Letters、21巻、11号、2000年11月、543から545ページに、Eitanらによって開示されている。ONO誘電層は、ソース拡散領域とドレイン拡散領域の間のチャンネルを横切って伸びている。あるデータビットの電荷がドレインに近接した誘電層内に局在し、他のデータビットの電荷がドレインに近接した誘電層内に局在する。例えば、米国特許第5,768,192号および6,011,725号では、2つの酸化シリコン層に挟まれたトラップ用の誘電層を有する不揮発性メモリセルが開示されている。マルチステートのデータ記憶は、誘電層内の空間的に離れた電荷蓄積領域の2値の状態を、別々に読み出すことで行われる。
他のタイプのメモリ素子も使用できる。
図3は、複数のメモリセル(例えば、NANDマルチステートフラッシュメモリなど)のページ(または他のユニット)に平行して読み出しおよびプログラムを行うリード/ライト回路を有する記憶デバイス210を示している。記憶デバイス210は1以上のメモリダイまたはチップ212を備えていてもよい。メモリダイ212は、メモリセルの(2次元又は3次元の)アレイ200、制御回路220、及び、リード/ライト回路230Aと230Bを有する。一実施形態では、様々な周辺回路によるメモリアレイ200へのアクセスはアレイの両側で対称的に実装されており、これにより、各側のアクセスライン及び回路の密度が半分に低減される。リード/ライト回路230A及び230Bは、複数のセンスブロック300を有しており、それらのセンスブロック300によって1ページのメモリセルを並列に読み出し又はプログラムすることができる。メモリアレイ200は、行デコーダ240Aと240Bを介したワードラインと、列デコーダ242Aと242Bを介したビットラインによってアドレス指定される。ワードラインおよびビットラインは、コントロールラインの一例である。典型的な実施形態では、コントローラ244は、1つ以上のメモリダイ212のような同じメモリデバイス210(例えば、取り外し可能なストレージカード又はパッケージ)内に含まれる。命令、及びデータは、ライン232を介してホストとコントローラ244の間で転送され、また、ライン234を介してコントローラと1つ以上のメモリダイ212の間で転送される。
制御回路220は、リード/ライト回路230Aと230Bと協調して、メモリアレイ200に対してメモリ動作を実行する。制御回路220は、ステートマシン222、オンチップアドレスデコーダ224、及び電力制御モジュール226を有している。ステートマシン222は、メモリ動作のチップレベルの制御を提供する。オンチップアドレスデコーダ224は、ホスト又はメモリコントローラによって用いられるアドレスと、デコーダ240A、240B、242A及び242Bによって用いられるハードウェアアドレスの間のアドレスインタフェースを提供する。電力制御モジュール226は、メモリ動作中のワードライン及びビットラインに供給される電力及び電圧を制御する。一実施形態では、電力制御モジュール226は、供給電力より大きな電圧を作り出すことができる一つ以上のチャージポンプを有する。
一実施形態では、制御回路220、電力制御回路226、デコーダ回路224、ステートマシン回路222、デコーダ回路242A、デコーダ回路242B、デコーダ回路240A、デコーダ回路240B、リード/ライト回路230A、リード/ライト回路230B、及び/又はコントローラ244の一つ又は幾つかの組合せは、1つの管理回路、或いは複数の管理回路群と称されることがある。1以上の管理回路は、本明細書で記述する処理を実行する。
図4は、メモリセルアレイ200の例示的な構造を示す。一実施形態においては、メモリセルのアレイは、数多くのブロックに分割される(例えば、ブロック0−1023や、その他の量など)。フラッシュEEPROMシステムに一般的であるように、ブロックは消去の単位である。すなわち、各ブロックは共に消去される最小数のメモリセルを含む。その他の消去の単位を用いた装置も使用可能である。
1のブロックは、ビットライン(例えばビットラインBL0−BL69623)およびワードライン(WL0、WL1、WL2、WL3)を介してアクセスされるNANDストリングのセットを備えている。図4は、直列接続されることでNANDストリングを形成している、4つのメモリセルを示している。各々のNANDストリングに4つのセルが含まれているが、4個よりも少ない、或いは、4個よりも多いメモリセルを有していてよい(例えば、NANDストリングによっては、16個、32個、64個、128個やその他の数のメモリセルを有していてもよい。)各NANDストリングの一端は、(選択ラインSGDに接続されている)ドレイン選択ゲートを介して対応するビットラインに接続されており、他端は、(選択ラインSGSに接続されている)ソース選択ゲートを介してソースラインに接続されている。
各ブロックは、通常、複数のページに分割される。一実施形態においては、ページはプログラムの単位である。その他のプログラムの単位も使用可能である。通常、1つ又は複数ページのデータが1列のメモリセルに記憶される。例えば、データの1以上のページが、共通ワードラインに接続されたメモリセルに記憶されてもよい。1つのページは、1つ又は複数のセクタを記憶できる。1つのセクタは、ユーザデータとオーバヘッドデータ(システムデータとも呼ばれる)を含む。オーバヘッドデータは、通常、セクタのユーザデータから算出される誤り訂正符号(Error Correction Code:ECC)とヘッダ情報を含む。コントローラ(または他の構成要素)の一部が、データがアレイにプログラムされているときにECCを計算し、データがアレイから読み出されているときにECCのチェックも行う。代わりに、ECC及び/又は他のオーバヘッドデータはそれらが関係するユーザデータとは異なるページに記憶され、または異なるブロックに記憶されることがある。ユーザデータのセクタは通常、磁気ディスクドライブ内のセクタサイズに相当する512バイトである。例えば8ページから32、64、128、或いはそれ以上のページまでの多数のページが1ブロックを形成する。異なるサイズのブロックと配置も採用することができる。
図5は、センスモジュール480と呼ばれるコア部と共通部490に分割された個々のセンスブロック300のブロック図である。一実施形態では、各ビットラインに対して個別のセンスモジュール480を用意し、一組の複数センスモジュール480に対して一つの共通部490を用意してもよい。一例として、1個のセンスブロックは、1個の共通部490と8個のセンスモジュール480を有している。グループ内の各センスモジュールは、データバス472を介して協働する共通部と通信する。一例としては、その全体を参照することにより本明細書に組み込まれる米国特許出願公開公報2006/0140007号を参照されたい。
センスモジュール480は、接続されたビットライン内の伝導電流が予め決められたレベルより高いか低いかを判定するセンス回路470を備えている。幾つかの実施形態では、センスモジュール480は、センスアンプと一般に呼ばれる回路を有する。センスモジュール480は、さらに、接続されたビットラインに電圧状態を設定するために用いられるビットラインラッチ482を有している。例えば、ビットラインラッチ482内で予め決められた状態がラッチされることによって、接続されたビットラインを、プログラム禁止を指定する状態(例えば、Vdd)に引き上げる(プル)する。
共通部490は、プロセッサ492、データラッチ群494、及び、データラッチ群494とデータバス420の間を接続するI/Oインタフェース496を備えている。プロセッサ492は計算を実行する。例えば、その機能の1つは、センスされたメモリセル内に記憶されているデータを特定し、特定されたデータをデータラッチ群内に記憶することである。データラッチ群494は、読み出し動作において、プロセッサ492によって特定されたデータビット群を記憶するために用いられる。データラッチ群494は、プログラム動作において、データバス420から取り込んだデータビット群を記憶するためにも用いられる。取り込まれるデータビット群は、メモリ内にプログラムする予定のライトデータ(プログラムデータ)を表す。 I/Oインタフェース496は、データラッチ群494とデータバス420の間のインタフェースを提供する。
読み出し又はセンス中には、システムの動作はステートマシン222の制御下にあり、ステートマシン222は(電力制御モジュール226を用いて)アドレス指定されたセルへの種々の制御ゲート電圧の供給を制御する。メモリに用意された様々なメモリ状態に対応する様々な既定制御ゲート電圧を受けるなかで、センスモジュール480はこれらの電圧の1つに遷移し、バス472を介してセンスモジュール480からプロセッサ492に出力が提供される。その時点で、プロセッサ492は、センスモジュールの遷移イベントと、ステートマシンから入力ライン493を介して加えられた制御ゲート電圧についての情報によって、結果としてのメモリ状態を特定する。それから、プロセッサは、メモリ状態に対するバイナリ符号化を計算し、得られたデータビット群をデータラッチ群494に格納する。コア部の別の実施形態では、ビットラインラッチ482は、センスモジュール480の出力をラッチするラッチ、及び、上記のようなビットラインラッチの二つの役割を持つ。
当然のことながら、いくつかの実装形態では複数のプロセッサ492を有することができる。一実施形態では、各プロセッサ492は出力ライン(図5には示されていない)を有し、各出力ラインは共にワイヤードOR(配線論理和)接続される。いくつかの実施形態では、出力ラインは、ワイヤードORラインに接続される前段階で反転される。この構成は、ワイヤードORの結果を受け取るステートマシンが、プログラムされる全てのビットがいつ所望のレベルに到達したかを判断できるので、プログラム処理の完了時点を判定するプログラム検証処理における素早い判定を可能にする。例えば、各ビットがその所望のレベルに到達すると、そのビット用の論理「0」がワイヤードORラインに送られる(又はデータ「1」が反転される)。全てのビットがデータ「0」を出力すると(又はデータ「1」が反転されると)、ステートマシンはプログラム処理の完了を知る。各プロセッサが8個のセンスモジュールと通信する実施形態では、(いくつかの実施形態において)ステートマシンはワイヤードORラインを8回読み出す必要があってもよいし、あるいは、協働するビットラインの結果を蓄積するための論理をプロセッサ492に追加し、ステートマシンがワイヤードORラインを一度だけ読み出せば良いようにしてもよい。
データラッチスタック494は、センスモジュールに対応するデータラッチのスタックを有する。一実施形態では、センスモジュール480毎に3個(或いは4個或いはその他の数の)データラッチが存在する。一実施形態では、ラッチは夫々1ビットである。
プログラム又は検証処理の間、プログラムされるべきデータはデータバス420から1組のデータラッチ494内に記憶される。検証処理の間、プロセッサ492は、所望のメモリ状態に対する検証メモリ状態を監視する。その2つが一致したとき、プロセッサ492は、プログラム禁止を指定する状態にビットラインを引き上げる(プルする)ようにビットラインラッチ482を設定する。これにより、たとえプログラムパルスがその制御ゲートに影響しても、ビットラインに接続したメモリセルがさらにプログラムされないようにすることができる。他の実施形態では、プロセッサが最初にビットラインラッチ482をロードし、センス回路が検証処理中にそれに禁止値を設定する。
いくつかの実装形態では、(必須ではないが)データラッチ群はシフトレジスタとして実装され、内部に記憶されたパラレルデータをデータバス420用にシリアルデータに変換したり、その逆を行ったりする。好適な一実施形態では、m個のメモリセルのリード/ライトブロックに対応する全てのデータラッチを相互にリンクしてブロックシフトレジスタを構成し、シリアル転送によってデータのブロックを入力または出力できるようにする。特に、リード/ライトモジュールの一群のデータラッチのそれぞれが、データバスへ或いはデータバスからデータを順に転送するようにリード/ライトモジュールのバンクを構成し、一群のデータラッチがあたかもリード/ライトブロック全体のシフトレジスタの一部であるかのようにしてもよい。
読み出し動作やセンスアンプについてのさらなる情報は次の文献に記載されている。(1)米国特許出願公開2004/0057287号、「Non-Volatile Memory And Method With Reduced Source Line Bias Errors」、2004年3月25日公開、(2)米国特許出願公開2004/0109357号、「Non-Volatile Memory And Method with Improved Sensing」、2004年6月10日公開、(3)米国特許出願公開20050169082号、(4)米国特許出願公開2006/0221692号、「Compensating for Coupling During Read Operations of Non-Volatile Memory」、発明者Jian Chen、2005年4月5日出願、及び、(5)米国特許出願第11/321,953号、「Reference Sense Amplifier For Non-Volatile Memory」、発明者Siu Lung Chan及びRaul−Adrian Cernea、2005年12月28日出願。これら5個の特許文献の全ては、その全体を参照することにより本明細書に組み込まれる。
成功した(検証を含む)プログラム処理の最後において、メモリセルの閾値電圧は、必要に応じて、プログラムされたメモリセルの1つ又は複数の閾値電圧の区分内、或いは、消去されたメモリセルの閾値電圧の区分内となる。各メモリセルが3ビットデータを記憶する場合における、メモリセルアレイについての閾値電圧区分(或いはデータ状態)の例を図6に示す。この一方で、他の実施形態では、1メモリセルあたり3ビットよりも多い、或いは3ビットよりも少ないデータを記憶するとしてもよい(例えば、1メモリセルあたり4ビット以上のデータを記憶するなど)。
図6の例では、各々のメモリセルは3ビットのデータを保持する。よって、8つの有効なデータ状態S0−S7が存在する。一実施形態では、データ状態S0は0ボルトより低く、データ状態S1−S7は0ボルトより高い。他の実施形態として、8つのデータ状態の全てが0ボルトより高い場合や、その他のアレンジが実行可能である。一実施形態では、S0の閾値電圧区分がS1−S7の区分よりも広い。
各々のデータ状態は、メモリセルに記憶された3ビットデータの固有の値に対応する。一実施形態では、S0=111,S1=110,S2=101,S3=100,S4=011,S5=010,S6=001,S7=000,である。データ状態S0−S7の他のマッピングも使用することができる。一実施形態では、1つのメモリセルに記憶されている全てのビットのデータは、同一の論理ページに記憶される。他の実施形態では、1つのメモリセルに記憶されているビットのデータの各々は、異なるページに対応する。従って、3ビットのデータを記憶している1つのメモリセルは、第1ページ、第2ページ、第3ページのデータを含んでいる。いくつかの実施形態では、同一のワードラインに接続された全てのメモリセルが、同一の3ページのデータを記憶するとされる。いくつかの実施形態では、1つのワードラインに接続されたメモリセルが異なるセットのページに分類される(例えば、偶数および奇数ビットラインや、他の配列によって)。
いくつかの先行技術の装置では、メモリセルが消去されて状態S0となる。メモリセルは、状態S0から状態S1−S7の何れかへプログラムされてもよい。一実施形態では、フルシーケンスプログラミングとして知られている、消去された状態S0からプログラムされた状態S1−S7の何れかに直接にプログラムする方法を行うことができる。例えば、メモリセル群内の大多数のメモリセルが消去状態S0になるように、プログラム対象のメモリセル群が最初に消去されてもよい。あるメモリセルが状態S0から状態S1へプログラムされる間に、他のメモリセルが状態S0から状態S2へ、状態S0から状態S3へ、状態S0から状態S4へ、状態S0から状態S5へ、状態S0から状態S6へ、状態S0から状態S7へ、プログラムされる。フルシーケンスプログラミングは、図6の7つの曲線状の矢印を用いて図示されている。
図7A−7Iは、何れの特定のメモリセルについても、前のページの隣接メモリセルにプログラムが行われた後で、その特定ページに関連する特定のメモリセルにプログラムを行うことによってフローティングゲート間の結合現象を低減する、不揮発性記憶素子のプログラムの他の処理方法を示している。図7A−Iの処理は、3つのプログラム処理ステップである。第1ステップに先立ち、状態S0の消去閾値区分にするために、メモリセルを消去することができる。
図7A−7Iの処理では、各々のメモリセルが3ビットのデータを記憶しており、各々のビットは異なるページに属すると仮定する。データの第1ビット(一番左のビット)は、第1ページと関連する。真ん中のビットは、第2ページと関連する。一番右のビットは、第3ページと関連する。データとデータ状態との相関は、以下の通りである:S0=111、S1=110、S2=101、S3=100、S4=011、S5=010、S6=001、S7=000。しかしながら他の実施形態では、他のデータコード化配列も使用可能である。
(図7Aに示すように)第1ページにプログラムする際において、ビットをデータ“1”にする場合には、メモリセルは状態S0が維持される(閾値電圧区分502)。ビットをデータ“0”にする場合には、メモリセルにプログラムが行われ、状態S4となる(閾値電圧区分504)。隣接するメモリセルがプログラムされた後、隣接するフローティングゲート間の容量性カップリングにより、図7Bに示すように、状態S4が広くなることがある。状態S0も広くなることがあるが、S0とS1の間には十分な余裕があるため、その影響を無視できる。フローティングゲート間の結合現象についての詳細は、米国特許第5,867,429号および米国特許第6,657,891号に開示されており、両公報は全体を参照することにより本明細書に組み込まれる。
第2ページをプログラムする際において(図7Cを参照)、メモリセルが状態S0であり第2ページのビットをデータ“1”にする場合には、メモリセルは状態S0が維持される。いくつかの実施形態では、第2ページのプログラム処理は閾値電圧区分501を狭めて新たなS0とすることができる。メモリセルが状態S0であり第2ページにプログラムするデータが“0”である場合には、メモリセルは状態S0へ移される(閾値電圧区分506)。状態S2は、Cの検証ポイント(最低電圧)を有する。メモリセルが状態S4でありメモリセルにプログラムするデータが “1”である場合には、メモリセルは状態S4が維持される。しかしながら図7Cに示すように、状態S4についてメモリセルを閾値電圧区分504から閾値電圧区分508へ移動することによって、状態S4は狭められる。閾値電圧区分508は、(閾値電圧区分504のE**と比較して)E*の検証ポイントを有する。メモリセルが状態S4であり第2ページにプログラムするデータが“0”である場合には、メモリセルの閾値電圧は、G*の検証ポイントを有する状態S6(閾値電圧区分510)へ移動される。
隣接するメモリセルがプログラムされた後、隣接するフローティングゲート間の結合により、図7Dの閾値電圧区分506,208,510に示すように、状態S2,S4,S6が広くされる。時には、状態S0も広くなる場合がある。
図7E,7F,7Gおよび7Hは、第3ページのプログラムを示している。プログラムを表すために1つの図を用いてもよいが、見やすくするために、処理を4つの図に示す。第2ページがプログラムされた後では、夫々のメモリセルは状態S0、S2,S4、S6の何れかとなる。図7Eは、第3ページにプログラムが行われる、状態S0のメモリセルを表している。図7Fは、第3ページにプログラムが行われる、状態S2のメモリセルを表している。図7Gは、第3ページにプログラムが行われる、状態S4のメモリセルを表している。図7Hは、第3ページにプログラムが行われる、状態S6のメモリセルを表している。図7Iは、メモリセル群に図7E、7F、7G、7Hの処理が(一斉に、または連続的に)実行された後における、閾値電圧区分を示している。
メモリセルが状態S0であり、第3ページのデータが“1”である場合には、メモリセルは状態S0が維持される。第3ページのデータが“0”である場合には、メモリセルの閾値電圧がBの検証ポイントを有する状態S1へ上昇される(図7E参照)。
メモリセルが状態S2であり、第3ページにプログラムされるデータが“1”である場合には、メモリセルは状態S2が維持される(図7F参照)。しかしながら幾つかのプログラムでは、閾値区分506を狭めて、Cボルトの検証ポイントを有する新たな状態S2とすることができる。第3ページにプログラムされるデータが“0”である場合には、メモリセルはDボルトの検証ポイントを有する状態S3にプログラムされる。
メモリセルが状態S4であり、第3ページにプログラムされるデータが“1”である場合には、メモリセルは状態S4が維持される(図7G参照)。しかしながら幾つかのプログラムでは、閾値区分508を狭めて、Eの検証ポイントを有する新たな状態S4とすることができる。メモリセルが状態S4であり、第3ページにプログラムされるデータが“0”である場合には、メモリセルの閾値電圧がFの検証ポイントを有する状態S5へ上昇される。
メモリセルが状態S6であり、第3ページにプログラムされるデータが“1”である場合には、メモリセルは状態S6が維持される(図7H参照)。しかしながら幾つかのプログラムでは、閾値区分510を狭めて、Gの検証ポイントを有する新たな状態S6とすることができる。第3ページのデータが“0”である場合には、メモリセルの閾値電圧がHの検証ポイントを有する状態S7へプログラムされる。第3ページのプログラムが終了すると、メモリセルは図7Iに示す8つの状態のうち、何れか1つの状態となる。
図8は、セットまたは複数のメモリセルの(複数の)ページへのプログラム順序の一例を示す図である。このテーブルは、図4の4本のワードライン(WL0、WL1、WL2およびWL3)についてのプログラム順序を表している。しかしながら、このテーブルは、4本より多いまたは少ないワードラインについても適用可能である。WL0に接続されたメモリセルの第1ページがプログラムされ、続いてWL1に接続されたメモリセルの第1ページがプログラムされ、続いてWL0に接続されたメモリセルの第2ページがプログラムされ、続いてWL2に接続されたメモリセルの第1ページがプログラムされ、続いてWL1に接続されたメモリセルの第2ページがプログラムされ、などとなる。
図9は、選択されたワードラインに接続されているメモリセルのプログラム処理を説明するフローチャートである。図9の処理の一の実装形態では、メモリセルの劣化を均一に維持するために、メモリセルには事前プログラムが行われる(ステップ550)。一実施形態では、メモリセルは、状態7や、ランダムパターンや、その他のパターンに事前プログラムされる。いくつかの実装形態では、事前プログラムを行う必要がない。
ステップ552では、プログラムに先立って、メモリセルが(ブロック単位又は他の単位で)消去される。一実施形態では、ソースとビットラインをフローティング状態にしておきながら、選択されたブロックのワードラインを接地し、十分な時間の間pウェルを消去電圧(例えば20ボルト)にまで上昇させることによってメモリセルが消去される。容量性カップリングのため、非選択ワードライン、ビットライン、選択ライン、及び、ソースもまた、消去電圧のかなりの割合の電圧まで上昇する。そのため、選択されたメモリセルのトンネル酸化物層に強力な電場が加わり、主としてファウラ−ノルドハイムトンネル効果によってフローティングゲートの電子が基板側に放出されて、選択されたメモリセルのデータが消去される。電子がフローティングゲートからp−ウェル領域に移動するにつれて、選択されたセルの閾値電圧が低下する。消去は、メモリアレイ全体、別々のブロック、又はセルの他の単位で行うことができる。一実施形態では、メモリセルが消去された後、全ての消去済みのメモリセルが状態S0となる(図6参照)。
ステップ554では、消去されたメモリセルの消去閾値電圧の区分を狭めるために、ソフトプログラムが実行される。いくつかのメモリセルは、消去処理の結果として必要以上に低い消去状態にあってよい。ソフトプログラムにより、より深く消去されたメモリセルの閾値電圧ほど、消去検証レベルに近づくように移動させることができる。例えば図6に示すように、ステップ554は、状態S0と関連する閾値電圧区分を狭めるステップを含むことがあり得る。ステップ556では、本明細書で述べたとおり、ブロックのメモリセルにプログラムが行われる。図9の処理は、上述した多様な回路を用いたステートマシンの指示によって実行されうる。他の実施形態では、上述した多様な回路を用いたコントローラの指示によって実行されうる。図9の処理の実行後に、ブロックのメモリセルは読み出し可能となる。
図10は共通ワードラインに接続されているメモリセルにプログラムを実行する際のプロセスの一実施形態を表すフローチャートである。図10のプロセスは、図9のステップ556において1回または複数回実施されうる。例えば、図10の処理は、図6のフルシーケンスプログラミングを実行するために使用することができ、その場合には図10の処理は各々のワードラインについて1回実行されうる。一実施形態では、プログラムプロセスは、ソースラインの最も近くに位置するワードラインから開始して、ビットライン側へ向かって順番に実施される。図10のプロセスは、図7A−Iのプログラム処理に対して、ワードラインのデータのページにプログラムを行うためにも使用しうる。この場合には、各々のワードラインについて図10の処理を3回行うことができる。他の変更形態もまた使用可能である。図10の処理はステートマシン222の指示によって実行される。
通常、プログラム処理において制御ゲートに印加されるプログラム電圧は、連続するパルスとして印加される。プログラムパルスの合間には、検証処理を可能とするための複数の検証パルスが存在する。多くの実装形態では、連続するパルスの各々の大きさが、所定のステップサイズで増加する。図10のステップ608では、プログラム電圧(Vpgm)が初期値(例えば、12ボルトまでの電圧など、その他の適切な値)に初期化されると共に、ステートマシン222によって維持されるプログラムカウンタPCが1に初期化される。ステップ608において、プログラム信号Vpgmのプログラムパルスが、選択ワードライン(プログラム用に選択されたワードライン)に印加される。非選択ワードラインは、従来知られる昇圧方法を実行することで、1以上の昇圧電圧(例えば、8ボルトまでの電圧)を受ける。メモリセルがプログラムされる場合には、対応するビットラインが接地される。一方、メモリセルが現在の閾値電圧を維持する場合には、プログラムを禁止するために、対応するビットラインがVDDに接続される。昇圧方式に関するさらなる情報は、米国特許第6,859,397号、および、米国特許出願第11/555,850号に記載されている。これらの両方の文献の内容は、その全体を参照することにより本明細書に組み込まれる。
ステップ610では、選択ワードラインに接続されている全てのメモリセルが一緒にプログラムされるように、選択ワードラインに接続されている全てのメモリセルにプログラムパルスが一斉に印加される。すなわち、全てのメモリセルは、同一時間(または重複した時間)にプログラムされる。このようにして、選択ワードラインに接続されている全てのメモリセルは、プログラム対象から除外されない限り、一斉に閾値電圧を変更することができる。
ステップ612では、適切な一組の目標レベルを使用して、選択されたメモリセルのデータ状態が検証される。図10のステップ612は、1つ以上の検証処理を有している。一般的に、検証処理および読み出し処理の期間では、関連するメモリセルの閾値電圧がそれらのレベルに到達しているか否かを判断するために、選択されたワードラインが電圧に接続され、その電圧レベルが各々の読み出しおよび検証処理において特定される(例えば、図7IのB,C,D,E,F,GおよびHを参照)。ワードライン電圧を印加した後に、ワードラインに印加された電圧に応じてメモリセルがターンオンしたか否かを判定するために、メモリセルの伝導電流が測定される。所定値よりも大きい伝導電流が測定される場合には、メモリセルがターンオンしており、ワードラインに印加された電圧がメモリセルの閾値電圧よりも大きいと推定される。所定値よりも大きい伝導電流が測定されない場合には、メモリセルがターンオンしておらず、ワードラインに印加された電圧がメモリセルの閾値電圧よりも大きくないと推定される。
読み出しまたは検証処理において、メモリセルの伝導電流を測定するためには多くの方法がある。一例としては、センスアンプの専用キャパシタへの伝導電流の放電速度または充電速度によって、メモリセルの伝導電流を測定してもよい。別の例としては、選択したメモリセルの伝導電流が、メモリセルを備えるNANDストリングの対応するビットラインを放電させる(または放電させない)よう構成してもよい。ビットラインが放電されたか否かを調べるために、一定期間後に、ビットラインの電圧が測定される。ここで述べる技術は、検証および読み出しについての他の周知技術ついても適用しうることに留意されたい。検証および読み出しに関する更なる情報は、その全体を参照することにより本明細書に組み込まれる下記の特許文献に開示されている。(1)米国特許出願公開2004/0057287号、「Non-Volatile Memory And Method With Reduced Source Line Bias Errors」、2004年3月25日公開、(2)米国特許出願公開2004/0109357号、「Non-Volatile Memory And Method with Improved Sensing」、2004年6月10日公開、(3)米国特許出願公開20050169082号、(4)米国特許出願公開2006/0221692号、「Compensating for Coupling During Read Operations of Non-Volatile Memory」、発明者Jian Chen、2005年4月5日出願。
選択されたメモリセルの閾値電圧が適切な目標レベルに達していることが検知された場合には、例えばそのメモリセルのビットライン電圧がその後のプログラムパルスの間にVddまで高められることにより、そのメモリセルは以後のプログラムから除外される。加えて、プログラミング処理の間に、パス電圧(例えば、10ボルトまでの電圧)が非選択ワードラインに印加される。(パス電圧とされている)非選択ワードラインは(Vddとされている)非選択ビットラインに接続され、非選択ビットラインのチャンネルに(例えば、約8ボルトの)電圧を発生させる。これにより、プログラムが防止される。メモリセルをプログラム対象から除外するための他の手法も、本明細書で述べられている技術に用いることが可能である。
図10へ戻り、ステップ614において、全てのメモリセルが目標閾値電圧に到達したか否かが確認される。到達している場合には、全ての選択されたメモリセルがプログラムされていると共に目標状態が検証されているため、プログラム処理が完了し成功している。ステップ616において「合格」ステータスが通知される。ステップ614の幾つかの実装形態では、少なくとも予め決められた数のメモリセルが適切にプログラムされたことが検証されたか否かがチェックされることに留意されたい。この予め決められた数は、全メモリセル数よりも少なくてもよく、従って、全メモリセルが適切な検証レベルに到達する前にプログラム処理が終了し得る。プログラムに成功しなかったメモリセルは、読み出し処理におけるエラー訂正によって訂正され得る。
ステップ614において、全てのメモリセルが目標閾値電圧に到達しているのではないと判断された場合、プログラム処理は継続する。ステップ618では、プログラムカウンタPCがプログラム限度値(PL)に対してチェックされる。プログラム限度値の一例は20である。しかしながら、これ以外の値の使用も可能である。プログラムカウンタPCがプログラム限度値未満でない場合には、ステップ630にて、プログラムに成功していないメモリセルの数が既定数以下かどうかが判定される。プログラムに失敗したメモリセルの数が既定数以下の場合には、ステップ632にて、プログラム処理に合格のフラグが立てられ、合格のステータスが通知される。多くの場合、プログラムに失敗したメモリセルは、読み出し処理においてエラー訂正を使って訂正され得る。しかし、プログラムに失敗したメモリセルの数が既定数よりも多い場合には、ステップ634にて、プログラム処理に失敗したことを示すフラグが立てられ、失敗ステータスが通知される。
ステップ618において、プログラムカウンタPCがプログラム制限値PL未満であると判断された場合には、ステップ620に進む。ステップ620では、プログラムカウンタPCが1増加され、プログラム電圧Vpgmが次の大きさに段階的に増加される。例えば、次のパルスが前のパルスに対して1ステップサイズ分(例えば、0.1〜0.4ボルトのステップサイズ)大きくされる構成としてもよい。ステップ622において、トリガが発生するか否かが判断される。一実施形態では、プログラム電圧Vpgm(例えば、プログラムパルス)がトリガ電圧に到達すると、トリガが発生する。他の実施形態では、(例えば、時間、プログラムされたビット数、パルスの数、電流、等に基づいた)他のトリガを用いることもできる。トリガが発生していない場合には、処理がステップ610へ戻る。そして、(目標とする状態に到達したために除外されたメモリセルを除く)全てのビットラインにプログラムが行われるように、(ステップ620で設定された新たな大きさの)次のプログラムパルスが選択ワードラインに印加される。ステップ610以降においては、上述した通りに処理が続行する。
容量性カップリングを引き起こす除外状態を検知するまたは示すために、トリガがセットされる。一般に、隣接するフローティングゲート間に、容量性カップリングが存在する。隣接するフローティングゲート(第1のフローティングゲートおよび第2のフローティングゲート)の両方がプログラムされる状態では、容量性カップリングは一定および/または予測可能な状態が維持される。第1のフローティングゲートが目標の状態に達したためプログラムから除外されると、昇圧のために第1のフローティングゲートの電位が高くなる。第1のフローティングゲートの電位が高くなることによって、第2のフローティングゲートへの容量性カップリングが増大する。より大きな容量性カップリングが、第2のフローティングゲートの電圧を上昇させることによって、第2のフローティングゲートのプログラム速度を増加させる場合がある。これにより、オーバープログラミングが発生しうる。オーバープログラミングの危険性は、(隣接するメモリセルの両方がまだプログラムされている)遅いプログラムから、(プログラムされているメモリセルに隣接するメモリセルのプログラムが禁止された)速いプログラムへの移行時に大きくなる。
図11Aは、2つの隣接するフローティングゲート806および810を示している。フローティングゲート806および810の各々は、アクティブエリア804および808の各々の上方に位置している。共通ワードラインポリシリコン層802は、両方のフローティングゲートのコントロールゲートとして機能し、また、フローティングゲート間のシールド805を形成する。図11Aは、両方のフローティングゲートがプログラムされている状態を示している。そのため、アクティブエリアは0ボルトにされている。上述したように、一方のフローティングゲートがプログラムから除外されると、そのアクティブエリアは7から10ボルトの値まで昇圧される。それにより、各フローティングゲートの電位が上昇すると共に、隣接するフローティングゲートへの容量性カップリングが増大する。その結果、隣接するフローティングゲートのプログラムが速くなる。速いプログラミングは、オーバープログラミングを発生させることがある。
フローティングゲート806と810の間のシールド805は、容量性カップリングを縮小させる働きをする。しかし、大きな電圧がワードラインに印加されると、ポリシリコンのシールド805が空乏化する。例えば、図11Bは、ワードラインポリシリコン層802に点線812が引かれた、同一の2つのフローティングゲート806と810を示している。点線812の下側の領域は、空乏化されている。点線812の下側の領域が空乏化されているため、上述した容量性カップリングが十分に遮蔽されない。
図11Cは、点線812の下方に空乏化された領域を有する、同一の2つのフローティングゲート806と810を示している。しかしながら、図11Cは、フローティングゲート806がプログラムから除外されている状態を示している。よって、アクティブエリア804が高電圧となることで、フローティングゲート806が高電圧となる。フローティングゲート806が高電圧となりシールド805が空乏化されるため、フローティングゲート806と810との間の容量性カップリングにより、フローティングゲート810がより高電位となり、その結果プログラムが高速化する。
一実施形態では、図11Cに関して説明したように、どの程度のワードライン電圧でワードラインポリシリコン層802が空乏化してカップリングが発生するのかを突き止めるために、デバイス特性(シミュレーションを含む)が使用される。他の実施形態では、実際のシリコンチップをテストすることで、ワードライン電圧を測定することができる。いくつかの実施形態では、シリコンチップの全てを検査することができる。他の実施形態では、部品のサンプルを検査し、測定された電圧を部品のグループ全体に使用することもできる。空乏化が始まる電圧を決定する他の方法を使用することもできる。
上述した、プログラム速度を増加させるために十分な空乏化を発生させるワードライン電圧が、トリガ電圧として、図10のステップ622で使用される。Vpgmのプログラムパルスの大きさが、ワードラインポリシリコン層に十分な空乏を発生させてカップリングを許容するトリガ電圧まで到達すると、トリガ条件が満たされ、処理が図10のステップ624へ進む。ワードラインポリシリコン層が空乏化しカップリングを許容する状態で、一方の隣接メモリセルが除外され、他方の隣接メモリセルがまだプログラム中とされる場合(従って、プログラムの速度が上昇する可能性がある場合)を、ここでは除外状態と呼ぶ。
ステップ622においてトリガ条件が満たされると、ステップ624において、追加的に除外状態が生じる可能性が低いか否かが判断される。上述したように、除外状態は、あるメモリセルがプログラムされ、隣接するメモリセルがプログラムから除外され、ワードライン電圧が十分に高くなることで発生する。除外状態は、プログラムの高速化を招く。オーバープログラミングは、低速なプログラムから高速なプログラムへの移行時に発生しうる。よって一実施形態では、システムは、除外状態の発現によって低速プログラムから高速プログラムへの移行が発生する可能性があるかを確認する。システムは、新しい除外状態または追加的な除外状態の潜在的な数を確認することで、低速から高速プログラムへの移行の可能性を確認する。いくつかの実施形態では、読み出し処理において周知のエラー訂正手法を用いてエラーが訂正されるため、システムは少数のエラーを許容しうる。それゆえ、潜在的な除外状態の数が十分少ない場合には、システムはエラーの可能性を許容でき、プログラムの際にエラーを訂正する必要がない。図10において、現在のプログラム処理において新たに除外状態になる可能性が低い場合には、処理がステップ624からステップ610へ戻る。そしてメモリセルをプログラムするために、次のプログラムパルスが、プログラムから除外されていない全てのビットラインに対して印加される。ステップ624において、新たな除外状態または追加の除外状態の潜在的な数が少なくない場合には、処理がステップ626および628へ進む。ステップ626および628では、奇数ビットラインのメモリセルにプログラミングを行う時間とは異なる時間に、偶数ビットラインのメモリセルに別途プログラミングを行うステップを有している。
メモリセルのブロック(ブロックi)が記載されている図4へ戻る。一実施形態では、ワードラインに沿ったメモリセルは、2つのグループに分割される。第1のグループは、奇数ビットライン(例:BL1、BL3、BL5、・・・)に接続されている全てのメモリセルで形成される。第2のグループは、偶数ビットライン(例:BL0、BL2、BL4、・・・)に接続されている全てのメモリセルで形成される。図4に示されるように、偶数ビットラインと奇数ビットラインは、交互に配置される。よって、偶数ビットラインに接続されたメモリセルのグループは、奇数ビットラインに接続されたメモリセルと交互に配置される。偶数ビットラインのみがプログラムされている場合には、奇数ビットラインに接続されている全てのメモリセルは除外される。これにより、プログラムされている何れのメモリセルにおいても、その両隣のメモリセルが除外されている状態を保証しうる。たとえカップリングを生じても、両隣が除外されていることが保証されているため、カップリングが予測可能であり一定である。その結果、オーバープログラミングの可能性が低くなる。ワードラインに接続された複数のメモリセルが、2以上のグループに分割可能とされ、奇数および偶数グループ以外の種類のグループに分類しうる。
図10のステップ626において、偶数ビットラインに接続されたメモリセルのみにプログラムするために、プログラムパルスが選択ワードラインに印加される。よって、偶数ビットラインは0ボルトとされ、奇数ビットラインはVddが印加される。ステップ626の期間では、偶数ビットラインのみがプログラムされる。ステップ626が実行された後、同一の選択ワードラインにプログラムパルスを印加するステップを含んだステップ628が実行される。ステップ628の期間では、奇数ビットラインに接続されたメモリセルのみがプログラムされる。よって、ステップ628は、奇数ビットラインに0ボルトを印加し、偶数ビットラインにVddを印加するステップを含む。従って、ステップ626と628では、2つの連続するプログラムパルスが、同一のワードラインに(よって、そのワードラインに接続された同一の複数メモリセルに)印加される。しかしながら、偶数メモリセルのみが第1のパルスの間にプログラムされ(ステップ626)、奇数メモリセルのみが第2のパルスの間にプログラムされる(ステップ628)。従って、偶数ビットラインに接続されたメモリセル群(偶数メモリセル)は、奇数ビットラインに接続されたメモリセル群(奇数メモリセル)とは別にプログラムされる。例えば、WL2_iが選択ワードラインとされ(図4参照)、ステップ626においてBL0,BL2,BL4 およびWL2_iに接続されたメモリセルがプログラムされ、ステップ628においてBL1,BL3,BL5およびWL2_iに接続されたメモリセルがプログラムされる。ステップ626で奇数メモリセルにプログラムパルスを印加されていても、それらのメモリセルはステップ626の間はプログラムされることが抑制される。ステップ628で偶数メモリセルにプログラムパルスを印加されていても、それらのメモリセルはステップ628の間はプログラムされることが抑制される。ステップ628の後、処理はステップ612へ戻り、偶数ビットラインおよび奇数ビットラインのメモリセルは全て一緒に検証される。(ただし、いくつかの実施形態では、目標に到達することでメモリセルがすでに除外されていることがある。)ステップ612以降は、上述したように処理が続行される。ステップ626と628との間では、検証処理は行われない。
図12はプログラム電圧Vpgmの波形の一例である。図12の信号は、複数のパルス702,704,706,708,710,712,714,716,718,720,722,724,726,728,730,732,734そして736を有している。プログラムパルス702−720は、トリガに先立って印加される。これらの各パルスの大きさは、トリガ電圧よりも小さくされている。パルス702−720は、図10のステップ610の反復の一部として印加される。パルス720を印加した後、(例えば、Vpgmの大きさがトリガ電圧よりも大きくなるなどして)トリガ電圧に到達し、奇数ビットラインと分離して、偶数ビットラインのプログラムが実行される(ステップ626およびステップ628)。従って、図12には722および724の2つのパルスが示されている。プログラミングパルス722は、偶数ビットラインに接続されたメモリセル群をプログラムするためのパルスである(ステップ626)。プログラミングパルス724は、奇数ビットラインに接続されたメモリセル群をプログラムするためのパルスである(ステップ724)。しかしながら、722および724の両パルスは、同一の選択ワードラインに印加される。図12の例では、奇数および偶数ビットラインを別々にプログラムする処理が継続される(偶数ビットラインへの第1のプログラミングと、その後の奇数ビットラインへのプログラム)。例えば、パルス726および728は、図10のステップ626および628の次の反復である。パルス730および732は、ステップ626および628のその次の反復である。パルス734および736は、図12におけるステップ626および628の最期の反復である。パルス734および736の印加後において、処理が無事に完了するように、全てのメモリセルが適切に検証される(または十分なメモリセルが検証される)。
図13は、Vpgmのプログラミングパルスの他の波形例である。図13の例は、全てのビットラインのプログラム(ステップ610)から、偶数および奇数ビットラインの個別のプログラム(ステップ626および628)へのプログラム処理の遷移と、その後に全てのビットラインのプログラムへ戻る遷移を含んでいる。プログラミングパルス750,752,754,756,758,760,762,764,766及び768がステップ610の反復の間に印加される。プログラミングパルス768の後に、トリガ電圧に到達し、偶数ビットラインに接続されたメモリセルをプログラミングパルス770でプログラムし、奇数ビットラインに接続されたメモリセルをプログラミングパルス772でプログラムするために、ステップ626および628の処理が行われる。図13は、ステップ626および628の3回の反復を示している。ステップ626および628の2回目の反復において、プログラミングパルス774が偶数ビットラインに接続されたメモリセルに使用され、プログラミングパルス776が奇数ビットラインに接続されたメモリセルに使用される。ステップ626および628の3回目の反復において、プログラミングパルス778が偶数ビットラインに接続されたメモリセルに使用され、プログラミングパルス780が奇数ビットラインに接続されたメモリセルに使用される。ステップ628においてプログラミングパルス780が印加された後は、除外状態の発生率が低いか否かが判断される。従って、ステップ624の後は、処理がステップ610まで続行される。そして、プログラミングパルス782が、(目標とする状態に到達したために除外されたメモリセルを除く)全てのビットラインに接続されたメモリセルに印加される。図10の処理の次の反復では、ステップ610において1つのプログラミングパルス784が印加される。プログラミングパルス784の印加後において、十分な数のメモリセルが検証され、プログラム処理が無事に完了したか否かが判断される。
上述したように、複数の検証処理が、プログラミングパルスの合間に実行される。一実施形態では、検証パルスが選択ワードラインに検証処理ごとに印加される。例えば、メモリセルが取りうる可能性のある8つのデータ状態がある場合には、7つの検証処理がある。従って、7つの検証パルスが存在する。図14は、プログラミングパルス706、708および710の例を示している(図12も参照のこと)。検証パルスが、プログラミングパルス706、708および710の合間に印加されている。図14の検証パルスの各々は、上述したように、検証処理に関連する。
図15もまた、プログラミングパルス間に検証パルスを有しているプログラミングパルスを示している。図15は、図12のプログラミングパルス722,724,726,728,730および732を示している。これらの6つのプログラミングパルスは、トリガ電圧に到達した後に印加されるプログラミングパルスに関連している。よって、奇数および偶数のメモリセルが個別にプログラムされる。上述したように、プログラミングパルス722は偶数ビットラインに接続されたメモリセルをプログラムし、プログラミングパルス724は奇数ビットラインに接続されたメモリセルをプログラムする。一実施形態では、プログラミングパルス722と724との間には、検証処理は行われない。プログラミングパルス724の後であって、次の一対のパルス726および728の前に、検証処理を行うための複数の検証パルスが印加される。パルス726と728との間には、検証処理は行われない。プログラミングパルス728の後であって、次の一対のパルス(730、732)の前に、対応する複数の検証処理を行うために、複数の検証パルスが印加される。
図16は、プログラム時における、様々な信号の動きを示した図である。さらに具体的には、図10のステップ610, 626 または 628における1回の反復での処理を示している。図示されたプログラム処理は、ビットラインプリチャージフェーズ、プログラムフェーズ、および放電フェーズにグループ分けすることができる。
ビットラインプリチャージフェーズの期間(1)では、SGSを0ボルトに維持することで、ソース選択トランジスタはターンオフとされる。ビットラインプリチャージフェーズの期間(2)では、プログラムが禁止されたNANDストリング(BL inhibit)のビットライン電圧を、Vddで与えられた所定電圧まで上昇させることが許可される。プログラムが禁止されたNANDストリングのビットライン電圧がVDDまで上昇すると、期間(3)においてドレイン選択トランジスタのゲート電圧SGDがVDDまで低下したときに、NANDストリングがフロート状態となる。プログラムされるNANDストリング(BL pgm)のビットライン電圧は積極的に0ボルトへ引き下げられる。幾つかの別の実施形態では、プログラムされるNANDストリングのビットライン電圧は、一方または両方の隣接メモリセルがプログラム禁止モードか否かに基づいて、バイアスがかけられてもよい。バイアスに関するさらなる情報は、米国特許第7,187,585号に記載されており、この文献の内容は、その全体を参照することにより本明細書に組み込まれる。
プログラムフェーズの期間(4)では、NANDストリングを昇圧できるように、非選択ワードライン(WL_unsel)がVPASSにセットされる。プログラムが禁止されたNANDストリングがフロートしているため、アドレス指定されていないメモリトランジスタのコントロールゲートに印加されている高VPASSは、チャンネルおよび電荷蓄積素子の電圧を上昇させる。よって、プログラムが禁止される。VPASSは、一般的には、Vpgm(例えば、〜12−24ボルト)に対する中間電圧(例えば、〜10ボルト)に設定される。
プログラムフェーズの期間(5)では、プログラミング電圧Vpgmがプログラミングパルスとして、選択ワードライン(WL_sel)に印加される。期間(5)のプログラミングパルスは、図12のパルス702−736の何れか、または図13のパルス750−784の何れかに対応する。(例えば、昇圧されたチャンネルおよび電荷蓄積ユニットを有する)禁止されているメモリセルは、プログラムが行われない。(選択ワードラインに接続された)選択メモリセルが、プログラムされる。放電フェーズの期間(6)では、様々なコントロールラインやビットラインの放電が許可される。
図17は、追加的に除外状態となる可能性が低いか否かを判断する処理(図10のステップ624参照)の一実施形態のフローチャートである。ステップ850において、同一ワードラインに沿って、各メモリセルが隣接するメモリセルと比較される。ステップ852において、システムが除外状態へ移行する可能性の数値Xをカウントする。2つの隣接メモリセルが両方ともまだプログラムされている場合には、隣接メモリセルの他方が除外される前に隣接メモリセルの一方が目標に到達する可能性があるため、潜在的な除外状態が存在する。従って一実施形態では、ステップ852は、まだプログラムが行われている隣接メモリセルのペアの数を数えるステップを含んでいる。潜在的な除外状態の数が閾値よりも大きい場合には(ステップ854)、追加的に除外状態となる可能性が低くない(ステップ858)。潜在的な除外状態の数が閾値よりも大きくない場合には、追加的に除外状態となる可能性が低い(ステップ856)。ステップ854の閾値は、エラー訂正符号によって訂正されたビット数に基づいて設定される。例えば、一実施形態では、7ビットまでの誤ったデータ(データの約0.01パーセント)を訂正できるエラー訂正符号が備えられている。従って、潜在的な除外状態の数が7未満である場合には、追加的に除外状態となる可能性が低い(ステップ856)。なお、他の閾値を使用することもできる。他の実施形態では、ステップ850は、隣接するメモリセルと比較されるメモリセルに含まれる一部のメモリセルのみについて実行されうる。そして、比較結果からメモリセル全体についての推定が行われ、閾値と比較される。
図18は、図17の処理を実行可能なハードウェアの一例を示すブロック図である。全メモリセルのデータラッチ494(図5参照)が、シフトレジスタ880へデータを供給する。一実施形態では、シフトレジスタ880は、実際のデータラッチ494を含んでいてもよい。シフトレジスタ880は、全てのビットラインの全データを保持する。データは1回につき1ビットずつシフトする。よってデータは、まず1ビットレジスタ882に入力され、その後に1ビットレジスタ884に入力される。レジスタ882内のデータと、レジスタ884からのデータは、NORゲート886へ送られる。NORゲート886の出力は、加算器888に送られる。加算器888の出力はステートマシン222に供給される。ステートマシン222は、潜在的な除外状態の数が閾値よりも大きくないか否かを判断する。図18の回路は、隣接するビットラインが0−0を記憶していることの発生数をカウントする。一例では、特定のメモリセルがプログラムされるべきか禁止されるべきかの指示を記憶するためにデータラッチが使用されることで、センス回路によって適切な電圧がビットラインに印加される。一実施形態では、それぞれのデータラッチは、ビットラインが禁止されるときは「1」を記憶し、ビットラインがプログラムされるように設定される場合には「0」を記憶する。反対の極性も使用可能である。従って、図18の回路は、データが0−0である隣り合うビットラインを探し、探し出した回数を加算器888を用いてカウントする。加算器888が0−0をカウントした回数が閾値よりも大きい場合には、ステートマシンは、追加的に除外状態となる可能性が低くないと結論を出す。(そして、図10において、ステップ626において処理を続行する)。
図19は、追加的に除外状態となる可能性が低いか否かを判断する他の実施形態についての記載である。ステップ902において、まだプログラム中のメモリセルの数がカウントされる。別の手段として、除外されたメモリセルの数をカウントしてもよい。ステップ904において、まだプログラム中のメモリセルの数が閾値未満か否かが判断される。プログラム中のメモリセルの数が閾値未満である場合には(ステップ904)、追加的に除外状態となる可能性が低い(ステップ906)。除外されたメモリセルの数が閾値未満でない場合には、追加的に除外状態となる可能性が低くない(ステップ908)。一実施形態では、0.4%だけのメモリセルがまだプログラム中の場合(または99.6%のメモリセルが除外されている場合)に、追加的に除外状態となる可能性が低くなるように、閾値が設定される。なお、他の閾値も使用可能である。
図20は、図19の処理を実行可能なハードウェアの一例を示すブロック図である。図20は、コンパレータ回路920と通信し、ビットラインの各々のグループのために備えられたプロセッサ492(例えば、8本のビットラインのために1つのプロセッサ492が備えられる)を示している。プロセッサの各々は、各ビットラインがプログラムされるか除外されるかを指示する。コンパレータ920は、除外されたビットラインの数をカウントする回路を含んでいる。一実施形態では、上述したラッチ群からデータが供給されることで、カウントが遂行される。コンパレータ920は、閾値(ステップ904参照)を示すパラメータ922にアクセス可能であり、また、その閾値を除外されたビットラインの総数と比較することが可能である。コンパレータ920の出力は、ステートマシン222に送られる。
図10に戻り、奇数および偶数メモリセルの同時プログラミングから、奇数および偶数メモリセルの個別のプログラミングへプログラム処理を変更するトリガが使用されている(ステップ622)。一実施形態では、適切なトリガ電圧を決定するために、デバイス特性(シミュレーションを含む)を使用するステップを備えている。幾つかの実施形態では、トリガ電圧は各々の集積回路で個別に調整されてもよい。すなわち、集積回路の製造に引き続いて、各集積回路がテストされるとしてもよい。当該テストに基づき、トリガ電圧が設定または調整されうる。
図21、22および23は、トリガ値の調整または設定を行う3つの実施形態を示すフローチャートである。図21−23の処理は1つのブロックで実行しうる。1つのブロックからのデータが、メモリデバイスの全てのブロックに使用されることが可能である。ある代替的手法では、多数のブロックがテストされ、その結果が全てのブロックに適用されるとすることもできる。他の代替的手法では、図21−23の処理が全てのブロックで行われ、それぞれのブロックが独自のトリガ値を有することもできる。一実施形態では、1つのブロックにおいて1つのワードラインのみがテストされるとすることができる。他の実施形態では、1本よりも多いワードラインがテストされ、その結果が平均されるかまたは一体とされてもよい。他の実装形態では、(ワードライン、ワードラインのグループ、ページ、セクタ、などの)他のユニットがテストのために選択されるとすることもできる。
図21のステップ1002では、テスト用の特定の1ブロック(または複数ブロック)が消去される。次に、1本の選択ワードライン上の偶数セルがプログラムされる。一実施形態では、1本のワードラインのみがプログラムされる。その1本のワードラインに基づき、ブロック全体、チップ全体またはメモリシステム全体のための新たなトリガ値が決定される。他の実施形態では、多数のワードラインがプログラムされ、そのデータが平均化されるか、それぞれのワードラインが独自のトリガ値を有するとすることができる。ステップ1004では、選択ワードラインに接続されたメモリセルがプログラムされる。ステップ1004のプログラム処理は、奇数ビットラインおよび偶数ビットラインに接続されたメモリセルの全てについて、プログラム、および、大きさが増加していくプログラミングパルス群を、それらのプログラミングパルスがVpgm_testの大きさに到達するまで印加することを可能にするステップを含んでいる。一実施形態では、デバイス特性から決定されるトリガ電圧を2ボルト下回るように、Vpgm_testが初期設定される。1004のプログラム処理は、図10のステップ620の後を除いた処理に類似しており、処理は常にステップ610へ戻る(ステップ622−628はない)。ステップ1004のプログラム処理の後、ステップ1006において、偶数ビットラインに接続されたメモリセルの閾値電圧区分の最大値および最小値が測定される。ステップ1008では、ブロックが消去される。
ステップ1010では、偶数ビットラインに接続されたメモリセルが再度プログラムされる。しかしながらステップ1010では、奇数ビットラインに接続されたメモリセルは、全てのプログラミングパルスによるプログラムが禁止される。ステップ1010は、ステップ1004のように、プログラミングパルスの大きさがVpgm_testと同じ大きさになるまで、大きさを増加させながら連続してプログラミングパルスを印加するステップを含んでいる。ステップ1012では、偶数ビットラインに接続されたメモリセルの閾値電圧区分が測定される。ステップ1014では、ステップ1012および1006で測定された閾値電圧区分の最大値および最小値が比較される。一実施形態では、2つの閾値電圧区分の下限が比較される。他の実施形態では、それぞれの閾値電圧区分の上限が比較される。閾値電圧区分の下限(または上限)間の差分値が閾値よりも大きくない場合には、Vpgm_testが所定量(例えば、0.5ボルトやその他の値)ずつ増加され、処理がステップ1002へ戻る。2つの閾値電圧区分の最下点間の差分値が閾値よりも大きい場合には、ステップ1020において、(デバイス特性によって決定される値から求められる)トリガ電圧は、Vpgm_testの現在の値になるように変更される。幾つかの実施形態では、サンプルのサイズが実際のワーストケースを捉えられていない点を考慮するために、マージンを取るためのオフセットをさらに追加することで、Vpgm_testがさらに変更されるとすることもできる。一実施形態では、ステップ1016の閾値は0.5ボルトに等しくされ、ステップ1004および1010でプログラミングに使用されるプログラムパルスのステップサイズは0.4ボルトとされる。
図22は、トリガ電圧の決定または調整のための処理の他の実施形態である。ステップ1050では、検討中のブロックが消去される。ステップ1052において、プログラム処理の反復処理の各々においてプログラム対象に選択された奇数ビットラインに接続されたメモリセルと共に、偶数ビットラインに接続されたメモリセルが、閾値電圧が目標値のVxボルトに到達するまでプログラムされる。Vxは実験により設定しうる。Vxの一例として、3.5ボルトが挙げられる。ステップ1054において、ステップ2052の間に偶数ビットラインに接続されたメモリセルに適切にプログラムするために必要なプログラミングパルスの数が記録される。ステップ1056では、検討中のブロックが消去される。ステップ1058では、偶数ビットラインに接続されたメモリセルが、それらの閾値電圧がVxボルトに到達するまで、再度プログラムされる。ステップ1058では、奇数ビットラインに接続されたメモリセルが各サイクルにおいて常に禁止される。ステップ1060では、ステップ1058においてメモリセルをプログラムするために必要なプログラムパルスの数が記録される。ステップ1062では、各々のテスト(ステップ1054および1060)におけるパルスの数が比較される。ステップ1060で測定されたパルス数が、ステップ1054で測定されたパルス数よりも少なくなることが予測されている。パルス数における当該差分量は、上述した除外状態に関連する干渉効果の大きさを意味している。差分量が閾値よりも大きい場合には、トリガ電圧は、ステップ1058のプログラミング処理で用いられた最後のパルスの大きさに設定される。差分量が閾値よりも大きくない場合には、電圧VXが(例えば0.5ボルト分)増加され、テストを繰り返すために処理がステップ1050へ戻る。一例として、ステップ1064の閾値は、1つのパルスと同等である。なお、他の閾値を使用することもできる。
図23は、トリガ電圧を決定または調整するための他の実施形態である。ステップ1102において、選択された1ブロックまたは複数ブロックが消去される。ステップ1104において、偶数ビットラインに接続されたメモリセルが、それらの閾値電圧が電圧Vyに等しくなるまでプログラムされる。ステップ1104のプログラミング処理の間、奇数ビットラインに接続されたメモリセルがプログラミングのために常に選択される。ステップ1106において、偶数ビットラインに接続された、オーバープログラムされたメモリセルの数が測定される。例えば、理想的な閾値電圧区分がシミュレーションに基づいて推定され、その理想的な閾値電圧区分に対する上位基準値を決定することができる。メモリセルの閾値電圧が理想的な区分の上限値を上回る場合には、メモリセルがオーバープログラムされている。例えば図7Iを参照すると、状態S6は、下側境界Gおよび上側境界OPを備える。メモリセルがOPよりも大きな閾値電圧を有する場合には、メモリセルはオーバープログラムされている。他の実施形態では、オーバープログラミングのための比較レベルを異ならせることができる。
図23に戻り、ステップ1108において、選択ワードラインにもう一つのプログラミングパルスが印加される。プログラミングパルスがステップ1108で印加される一方、奇数ビットラインに接続されている全てのメモリセルのプログラミングが禁止される。ステップ1104においてVyの閾値電圧に到達したメモリセルは、ステップ1108の期間において除外されたままとされる。ステップ1108のプログラミングパルスは、Vyの閾値電圧にまだ到達していないメモリセルのみをプログラムする。ステップ1110において、オーバープログラムされたメモリセルの数が再度測定される。ステップ1112において、ステップ1110で測定されたオーバープログラムされたセル数が、ステップ1106で測定されたオーバープログラムされたセル数と比較される。オーバープログラムされたセル数の差分量が閾値よりも大きい場合には、トリガ電圧の大きさが、ステップ1108で印加されたパルスの大きさに設定される。ステップ1114の閾値の一例として、5つのメモリセルが挙げられる。差分量が閾値(ステップ1114)よりも大きくない場合には、ステップ1116においてVyの電圧レベルが(例えば5ボルトなどに)増加され、処理がステップ1102へ戻って繰り返される。
幾つかの実施形態では、不揮発性記憶装置システムは、トリガ電圧に対して動的な調整を行うとすることができる。図24は、プログラム/消去サイクルに基づいてトリガ電圧を動的に変更する実施形態を示すフローチャートである。プログラム/消去サイクルは、消去処理およびプログラム処理を行うステップを含んでいる。不揮発性記憶装置システムは多数のプログラム/消去サイクルを実行するため、電荷がフローティングゲートとチャンネルとの間の誘電領域にトラップされることがある。この状態は、図11A−Cにおいて、上述した空乏領域を減少させることがある。よって、デバイスで何度もサイクルが行われると、奇数メモリセルと偶数メモリセルとを別々のプログラムするステップをプログラミング処理において遅く発生させるために、トリガ電圧を上昇させることが可能となる。図24のステップ1240では、メモリデバイスは、プログラム/消去サイクルをX回実行する。一例では、X回のプログラムサイクルは、10000回のプログラム/イレースサイクルであってもよい。なお、Xには他の値を使用しうる。X回のプログラム/イレースサイクルを実行した後、ステップ1242において、トリガ電圧が(例えば0.5ボルト分)上昇される。ステップ1242においてトリガ電圧が上昇された後、ステップ1244においてメモリシステムは、プログラム/消去サイクルをY回実行する。一例では、Y回のプログラム/消去サイクルは、5000回のプログラム/イレースサイクルであってもよい。ステップ1246において、トリガ電圧が(例えば0.2ボルト単位で)再度上昇される。ステップ1246におけるトリガ電圧の上昇後に、メモリシステムは、プログラム/消去サイクルの実行を続行する(ステップ1248)。図24は、トリガ電圧が2回上昇されたメモリデバイスを示している。しかしながら、他の実施形態では、トリガ電圧は1回のみ上昇されてもよいし、2回よりも多い回数上昇されてもよい。XとYの異なる値は、デバイス特性または実験的手段によって決定することができる。
図25は、図24の処理を実行するために使用される要素の一例を示すブロック図である。図25は、トリガパラメータを記憶しているレジスタ1282およびサイクルパラメータを記憶しているレジスタ1284と通信する、ステートマシン222を示している。補償回路1286もまた、レジスタ1282およびレジスタ1284と通信を行う。トリガパラメータは、トリガ電圧(または他のトリガ)を指示するものである。トリガパラメータは、電圧の大きさや、パルス数や、その他の設定を特定しうるものである。サイクルパラメータは、実行されたプログラム/消去サイクルの数を指示することができる。サイクルパラメータの値に基づいて、適切な場合には、補償回路がトリガパラメータを更新する。例えば、図24のステップ1242および1246の一部として、補償回路1286がトリガパラメータを更新することができる。ステートマシン222は、図10のステップ622の期間において、トリガパラメータを使用することもできる。
図26は、温度に基づいてトリガ電圧を動的に調整する実施形態を示すフローチャートである。ステップ1302において、メモリシステムは温度を測定する。一実施形態では、メモリシステムは温度センサを含むことができる。測定された温度に基づいて、ステップ1304において、トリガ電圧が調整される。空乏領域は低温では悪化することが予測されるため、プログラム処理においてトリガがより早く発生しうる。低温の時にはトリガ電圧を低下させることで、これに対応しうる。ステップ1302で測定された温度がプリセット値よりも低い場合には、トリガ電圧を低下させうる。ステップ1302で測定された温度がプリセット値よりも高い場合には、トリガ電圧を上昇させうる。他の実施形態では、ステートマシン222が、温度範囲とトリガ電圧とを関連付けるテーブルを記憶するとしてもよい。ステップ1302において、ステートマシン222は温度を読み出す。ステップ1304において、ステートマシン222は、温度をテーブルの手掛かりに使用して、テーブルからトリガ値を検索する。テーブルから見つかったトリガ電圧は、プログラミング処理で使用するために、パラメータ内に記憶される。他の実施形態では、ステップ1304において、補償回路は測定された温度を読み出し、トリガ電圧を調整することもできる。ステップ1306では、システムは、ステップ1304で設定されたトリガ電圧を用いてプログラミングを実行する。一定量のプログラミングが行われた後、処理はステップ1302へ戻り、温度が再度測定され、ステップ1304においてトリガ値が任意に調整されうる。一実施形態では、ステップ1302−1306のループは、全てのプログラミング処理について実行することができる。代替的な実施形態では、処理がNサイクルごとまたはN回の期間ごとに実行されてもよい。
図27は、図26の処理を実行しうる要素の一例を記載したブロック図である。図27は、トリガパラメータを記憶しているレジスタ1350と通信するステートマシン222を示している。トリガパラメータは、トリガ電圧(または他のトリガ)を指示するものである。トリガパラメータは、電圧の大きさや、パルス数や、その他の設定を特定しうるものである。補償回路1352は、レジスタ1350および温度センサ1354と通信する。温度センサは、温度の指標となる信号(電圧または電流)を出力する。温度センサ1354の出力に基づき、補償回路1352はトリガパラメータを更新する。例えば、補償回路1352は、図26のステップ1304の一部として、トリガパラメータを更新するとしてもよい。トリガパラメータの更新は、継続的か、一定期間ごとか、要求に応じて実行されるとしてもよい。
上記本発明の詳細な説明は、説明のための例示にすぎない。上記本発明の詳細な説明は、詳細に開示した範囲に限定するものではない。本明細書が開示する技術は、様々に変形、変更し得る。上記説明した実施形態は、本発明の原理とその具体的な適用例をよく説明するために選ばれたものであり、当業者は、具体的な事例に則して本発明を様々に変更し得る。本発明の技術的範囲は、添付された特許請求の範囲によって定まるものである。

Claims (12)

  1. 複数の不揮発性記憶素子を備える不揮発性記憶装置のプログラム方法であって、
    第1の期間において不揮発性記憶素子の第1のグループにプログラムを行うステップと、
    第1の期間と異なる第2の期間において不揮発性記憶素子の第2のグループにプログラムを行うステップと、
    不揮発性記憶素子の第1のグループおよび不揮発性記憶素子の第2のグループに対して一緒に検証を行うステップと、
    を備え、
    不揮発性記憶素子の第1のグループは第1のワードラインに接続され、
    不揮発性記憶素子の第2のグループは前記第1のワードラインに接続され、
    不揮発性記憶素子の第1のグループおよび不揮発性記憶素子の第2のグループに含まれる不揮発性記憶素子の各々は、交互に配列される形態で異なるビットラインに接続されることを特徴とする方法。
  2. 前記プログラム方法は、プログラムに用いられる電圧の大きさが所定電圧まで到達することに応じて、第1のトリガを発生するステップをさらに備え、
    第1の期間において不揮発性記憶素子の第1のグループにプログラムを行うステップおよび第2の期間において不揮発性記憶素子の第2のグループにプログラムを行うステップは、第1のトリガに応じて第1のトリガの後に実行され、
    前記プログラム方法は、第1のトリガに先立って1以上のプログラムサイクルを実行するステップをさらに備え、
    1以上のプログラムサイクルの各々は、不揮発性記憶素子の第1のグループおよび不揮発性記憶素子の第2のグループに一緒にプログラムを行うステップを有していることを特徴とする請求項1の方法。
  3. 前記プログラム方法は、不揮発性記憶素子の第1のグループおよび不揮発性記憶素子の第2のグループのいくつの不揮発性記憶素子がまだプログラム中であるか、および、いくつの不揮発性記憶素子がプログラム対象として選択された隣接するメモリセルを有するかを判断するステップをさらに備え、
    前記プログラム方法は、不揮発性記憶素子の第1のグループおよび不揮発性記憶素子の第2のグループのいくつの不揮発性記憶素子がまだプログラム中であるか、および、いくつの不揮発性記憶素子がプログラム対象として選択された隣接するメモリセルを有するかに基づいて第2のトリガを検出するステップをさらに備え、
    第1の期間において不揮発性記憶素子の第1のグループにプログラムを行うステップおよび第2の期間において不揮発性記憶素子の第2のグループにプログラムを行うステップは、前記第2のトリガに先立って行われ、
    前記プログラム方法は、前記第2のトリガに引き続いて1以上の追加のサイクルを実行し、
    1以上の追加のサイクルの各々は、不揮発性記憶素子の第1のグループおよび不揮発性記憶素子の第2のグループに一緒にプログラムを行うステップを有していることを特徴とする請求項1または2の方法。
  4. 前記プログラム方法がさらに備えている、不揮発性記憶素子の第1のグループにプログラムを行うステップは、
    不揮発性記憶素子の第1のグループおよび不揮発性記憶素子の第2のグループに第1のプログラムパルスを印加するステップと、
    第1のプログラムパルスによって不揮発性記憶素子の第2のグループにプログラムが行われることを禁止するステップと、
    第1のプログラムパルスによって不揮発性記憶素子の第1のグループにプログラムが行われることを許可するステップと、を有しており
    前記プログラム方法がさらに備えている、不揮発性記憶素子の第2のグループにプログラムを行うステップは、
    不揮発性記憶素子の第1のグループおよび不揮発性記憶素子の第2のグループに第2のプログラムパルスを印加するステップと、
    第2のプログラムパルスによって不揮発性記憶素子の第1のグループにプログラムが行われることを禁止するステップと、
    第2のプログラムパルスによって不揮発性記憶素子の第2のグループにプログラムが行われることを許可するステップと、
    を有していることを特徴とする請求項1ないしの何れか1項の方法。
  5. 不揮発性記憶素子の第1のグループおよび不揮発性記憶素子の第2のグループの動作中に第1のトリガを動的に調整するステップをさらに備えることを特徴とする請求項2ないしの何れか1項の方法。
  6. 不揮発性記憶素子の第1のグループおよび不揮発性記憶素子の第2のグループを含む複数の不揮発性記憶素子と、
    不揮発性記憶素子と通信する1以上の管理回路と、
    1本のワードラインと、
    複数のビットラインと、を備え、
    不揮発性記憶素子の第1のグループがワードラインに接続されると共に、不揮発性記憶素子の第2のグループも前記ワードラインに接続され、
    不揮発性記憶素子の第1のグループおよび不揮発性記憶素子の第2のグループに含まれる不揮発性記憶素子の各々は、交互に配列される形態で異なるビットラインに接続され、
    1以上の管理回路は、不揮発性記憶素子の第2のグループへのプログラムとは別に不揮発性記憶素子の第1のグループにプログラムを行い、
    1以上の管理回路は、不揮発性記憶素子の第2のグループの検証と一緒に不揮発性記憶素子の第1のグループの検証を行うことを特徴とする不揮発性記憶装置。
  7. 1以上の管理回路は、プログラムに用いられる電圧の大きさが所定電圧まで到達することに応じて、第1のトリガを発生し、
    1以上の管理回路は、第1のトリガに応じて第1のトリガの後に、不揮発性記憶素子の第2のグループへのプログラムとは別に、不揮発性記憶素子の第1のグループにプログラムを行い、
    1以上の管理回路は、第1のトリガの前に、不揮発性記憶素子の第2のグループと一緒に、不揮発性記憶素子の第1のグループにプログラムを行うことを特徴とする請求項の不揮発性記憶装置。
  8. 1以上の管理回路は、第1のグループの不揮発性記憶素子と第2のグループの不揮発性記憶素子によって形成される、互いに隣接する不揮発性記憶素子のペアであって、まだプログラム中である前記互いに隣接する不揮発性記憶素子のペアの数を検出し、
    1以上の管理回路は、まだプログラム中である前記互いに隣接する不揮発性記憶素子のペアの数が所定のしきい値よりも小さい場合に、第2のトリガを発生し、
    1以上の管理回路は、前記第2のトリガの前に、不揮発性記憶素子の第2のグループへのプログラムとは別に、不揮発性記憶素子の第1のグループにプログラムを行い、
    1以上の管理回路は、前記第2のトリガに応じて前記第2のトリガの後に、不揮発性記憶素子の第2のグループと一緒に、不揮発性記憶素子の第1のグループにプログラムを行うことを特徴とする請求項またはの不揮発性記憶装置。
  9. 1のトリガは、不揮発性記憶素子の第1のグループおよび不揮発性記憶素子の第2のグループに同時に印加されるプログラムパルスの電圧レベルを有していることを特徴とする請求項ないしの何れか1項の不揮発性記憶装置。
  10. 1以上の管理回路は、
    不揮発性記憶素子の第2のグループにプログラムが行われることが禁止されている期間に、不揮発性記憶素子の第1のグループおよび不揮発性記憶素子の第2のグループに第1のプログラムパルスを印加し、
    不揮発性記憶素子の第1のグループにプログラムが行われることが禁止されている期間に、不揮発性記憶素子の第1のグループおよび不揮発性記憶素子の第2のグループに第2のプログラムパルスを印加することによって、
    不揮発性記憶素子の第2のグループのプログラムとは別に、不揮発性記憶素子の第1のグループにプログラムを行うことを特徴とする請求項ないしの何れか1項の不揮発性記憶装置。
  11. 1以上の管理回路は、第1のトリガを動的に調整することを特徴とする請求項の不揮発性記憶装置。
  12. 不揮発性記憶素子の第1のグループおよび不揮発性記憶素子の第2のグループは、フラッシュメモリデバイスであることを特徴とする請求項ないし11の何れか1項の不揮発性記憶装置。
JP2010524101A 2007-09-04 2008-08-28 プログラムの期間中での干渉の影響の低減 Expired - Fee Related JP5216856B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/849,992 US7869273B2 (en) 2007-09-04 2007-09-04 Reducing the impact of interference during programming
US11/849,992 2007-09-04
PCT/US2008/074621 WO2009032747A1 (en) 2007-09-04 2008-08-28 Reducing the impact of interference during programming

Publications (2)

Publication Number Publication Date
JP2010538409A JP2010538409A (ja) 2010-12-09
JP5216856B2 true JP5216856B2 (ja) 2013-06-19

Family

ID=40407216

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010524101A Expired - Fee Related JP5216856B2 (ja) 2007-09-04 2008-08-28 プログラムの期間中での干渉の影響の低減

Country Status (7)

Country Link
US (5) US7869273B2 (ja)
EP (1) EP2181446B1 (ja)
JP (1) JP5216856B2 (ja)
KR (1) KR101502104B1 (ja)
CN (1) CN101849263B (ja)
TW (1) TWI391944B (ja)
WO (1) WO2009032747A1 (ja)

Families Citing this family (234)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103258572B (zh) 2006-05-12 2016-12-07 苹果公司 存储设备中的失真估计和消除
US8156403B2 (en) 2006-05-12 2012-04-10 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
WO2008068747A2 (en) 2006-12-03 2008-06-12 Anobit Technologies Ltd. Automatic defect management in memory devices
US8151166B2 (en) * 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US8429493B2 (en) 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US7869273B2 (en) 2007-09-04 2011-01-11 Sandisk Corporation Reducing the impact of interference during programming
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8270246B2 (en) 2007-11-13 2012-09-18 Apple Inc. Optimized selection of memory chips in multi-chips memory devices
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
KR101448851B1 (ko) * 2008-02-26 2014-10-13 삼성전자주식회사 비휘발성 메모리 장치에서의 프로그래밍 방법
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
KR101069004B1 (ko) * 2008-08-01 2011-09-29 주식회사 하이닉스반도체 플래시 메모리 소자의 프로그램 방법
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8713330B1 (en) 2008-10-30 2014-04-29 Apple Inc. Data scrambling in memory devices
US8130556B2 (en) 2008-10-30 2012-03-06 Sandisk Technologies Inc. Pair bit line programming to improve boost voltage clamping
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
KR101001416B1 (ko) * 2009-02-10 2010-12-14 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 및 독출 방법
US8446773B2 (en) * 2009-02-25 2013-05-21 Samsung Electronics Co., Ltd. Memory system and programming method thereof
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US9281073B2 (en) 2009-03-11 2016-03-08 Micron Technology, Inc. Methods of operating a memory device having a buried boosting plate
US8098529B2 (en) * 2009-03-11 2012-01-17 Micron Technology, Inc. Memory device having buried boosting plate and methods of operating the same
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US7978511B2 (en) * 2009-05-28 2011-07-12 Micron Technology, Inc. Data line management in a memory device
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8134871B2 (en) * 2009-08-05 2012-03-13 Sandisk Technologies Inc. Programming memory with reduced pass voltage disturb and floating gate-to-control gate leakage
US8081514B2 (en) * 2009-08-25 2011-12-20 Sandisk Technologies Inc. Partial speed and full speed programming for non-volatile memory using floating bit lines
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8218381B2 (en) 2009-11-24 2012-07-10 Sandisk Technologies Inc. Programming memory with sensing-based bit line compensation to reduce channel-to-floating gate coupling
US7986573B2 (en) * 2009-11-24 2011-07-26 Sandisk Technologies Inc. Programming memory with direct bit line driving to reduce channel-to-floating gate coupling
US8089815B2 (en) * 2009-11-24 2012-01-03 Sandisk Technologies Inc. Programming memory with bit line floating to reduce channel-to-floating gate coupling
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8102712B2 (en) * 2009-12-22 2012-01-24 Intel Corporation NAND programming technique
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
JP2011181131A (ja) * 2010-02-26 2011-09-15 Toshiba Corp 半導体記憶装置
US8218366B2 (en) 2010-04-18 2012-07-10 Sandisk Technologies Inc. Programming non-volatile storage including reducing impact from other memory cells
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8416624B2 (en) 2010-05-21 2013-04-09 SanDisk Technologies, Inc. Erase and programming techniques to reduce the widening of state distributions in non-volatile memories
KR20110131648A (ko) * 2010-05-31 2011-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 메모리 카드 및 그것의 프로그램 방법
JP5467938B2 (ja) * 2010-06-02 2014-04-09 ウィンボンド エレクトロニクス コーポレーション 半導体メモリ
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8310870B2 (en) 2010-08-03 2012-11-13 Sandisk Technologies Inc. Natural threshold voltage distribution compaction in non-volatile memory
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8369149B2 (en) 2010-09-30 2013-02-05 Sandisk Technologies Inc. Multi-step channel boosting to reduce channel to floating gate coupling in memory
US8395936B2 (en) 2011-05-09 2013-03-12 Sandisk Technologies Inc. Using channel-to-channel coupling to compensate floating gate-to-floating gate coupling in programming of non-volatile memory
KR101792870B1 (ko) 2011-06-21 2017-11-02 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 읽기 방법
US8861276B2 (en) * 2011-06-21 2014-10-14 Samsung Electronics Co., Ltd. Nonvolatile memory device, memory system comprising same, and method of operating same
KR101818439B1 (ko) * 2011-09-22 2018-01-16 에스케이하이닉스 주식회사 메모리 및 메모리의 프로그램 방법
KR101817743B1 (ko) 2011-09-30 2018-01-22 에스케이하이닉스 주식회사 비휘발성 메모리 장치
KR20130042780A (ko) * 2011-10-19 2013-04-29 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 동작 방법
US8811075B2 (en) 2012-01-06 2014-08-19 Sandisk Technologies Inc. Charge cycling by equalizing and regulating the source, well, and bit line levels during write operations for NAND flash memory: verify to program transition
KR101938659B1 (ko) 2012-02-29 2019-01-15 삼성전자주식회사 불 휘발성 메모리 장치 및 그것을 포함한 메모리 시스템
US8773902B2 (en) 2012-05-09 2014-07-08 Sandisk Technologies Inc. Channel boosting using secondary neighbor channel coupling in non-volatile memory
JP2014053060A (ja) * 2012-09-07 2014-03-20 Toshiba Corp 半導体記憶装置及びその制御方法
CN103778965B (zh) * 2012-10-18 2016-08-03 宜扬科技股份有限公司 非挥发性存储装置中的毁损位线地址的取得方法
WO2014113004A1 (en) * 2013-01-17 2014-07-24 Empire Technology Development Llc Mitigating inter-cell interference
US9158667B2 (en) 2013-03-04 2015-10-13 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
CN104103310B (zh) * 2013-04-09 2017-10-03 晶豪科技股份有限公司 非易失性半导体存储器元件及其可编程方法
US8964496B2 (en) 2013-07-26 2015-02-24 Micron Technology, Inc. Apparatuses and methods for performing compare operations using sensing circuitry
US8971124B1 (en) 2013-08-08 2015-03-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9153305B2 (en) 2013-08-30 2015-10-06 Micron Technology, Inc. Independently addressable memory array address spaces
US9019785B2 (en) 2013-09-19 2015-04-28 Micron Technology, Inc. Data shifting via a number of isolation devices
US9449675B2 (en) 2013-10-31 2016-09-20 Micron Technology, Inc. Apparatuses and methods for identifying an extremum value stored in an array of memory cells
US9430191B2 (en) 2013-11-08 2016-08-30 Micron Technology, Inc. Division operations for memory
US9934856B2 (en) 2014-03-31 2018-04-03 Micron Technology, Inc. Apparatuses and methods for comparing data patterns in memory
US9922718B2 (en) * 2014-05-22 2018-03-20 Seagate Technology Llc Flash command that reports a count of cell program failures
US9449674B2 (en) 2014-06-05 2016-09-20 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9910787B2 (en) 2014-06-05 2018-03-06 Micron Technology, Inc. Virtual address table
US9704540B2 (en) 2014-06-05 2017-07-11 Micron Technology, Inc. Apparatuses and methods for parity determination using sensing circuitry
US9455020B2 (en) 2014-06-05 2016-09-27 Micron Technology, Inc. Apparatuses and methods for performing an exclusive or operation using sensing circuitry
US9711206B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US10074407B2 (en) 2014-06-05 2018-09-11 Micron Technology, Inc. Apparatuses and methods for performing invert operations using sensing circuitry
US9711207B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9830999B2 (en) 2014-06-05 2017-11-28 Micron Technology, Inc. Comparison operations in memory
US9496023B2 (en) 2014-06-05 2016-11-15 Micron Technology, Inc. Comparison operations on logical representations of values in memory
US9779019B2 (en) 2014-06-05 2017-10-03 Micron Technology, Inc. Data storage layout
US9786335B2 (en) 2014-06-05 2017-10-10 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9589602B2 (en) 2014-09-03 2017-03-07 Micron Technology, Inc. Comparison operations in memory
US9904515B2 (en) 2014-09-03 2018-02-27 Micron Technology, Inc. Multiplication operations in memory
US9898252B2 (en) 2014-09-03 2018-02-20 Micron Technology, Inc. Multiplication operations in memory
US9847110B2 (en) 2014-09-03 2017-12-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector
US9740607B2 (en) 2014-09-03 2017-08-22 Micron Technology, Inc. Swap operations in memory
US9747961B2 (en) 2014-09-03 2017-08-29 Micron Technology, Inc. Division operations in memory
US10068652B2 (en) 2014-09-03 2018-09-04 Micron Technology, Inc. Apparatuses and methods for determining population count
US9836218B2 (en) 2014-10-03 2017-12-05 Micron Technology, Inc. Computing reduction and prefix sum operations in memory
US9940026B2 (en) 2014-10-03 2018-04-10 Micron Technology, Inc. Multidimensional contiguous memory allocation
US10163467B2 (en) 2014-10-16 2018-12-25 Micron Technology, Inc. Multiple endianness compatibility
US10147480B2 (en) 2014-10-24 2018-12-04 Micron Technology, Inc. Sort operation in memory
US9779784B2 (en) 2014-10-29 2017-10-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9747960B2 (en) 2014-12-01 2017-08-29 Micron Technology, Inc. Apparatuses and methods for converting a mask to an index
US10073635B2 (en) 2014-12-01 2018-09-11 Micron Technology, Inc. Multiple endianness compatibility
US10061590B2 (en) 2015-01-07 2018-08-28 Micron Technology, Inc. Generating and executing a control flow
US10032493B2 (en) 2015-01-07 2018-07-24 Micron Technology, Inc. Longest element length determination in memory
US9583163B2 (en) 2015-02-03 2017-02-28 Micron Technology, Inc. Loop structure for operations in memory
CN107408404B (zh) 2015-02-06 2021-02-12 美光科技公司 用于存储器装置的设备及方法以作为程序指令的存储
CN107408405B (zh) 2015-02-06 2021-03-05 美光科技公司 用于并行写入到多个存储器装置位置的设备及方法
WO2016126472A1 (en) 2015-02-06 2016-08-11 Micron Technology, Inc. Apparatuses and methods for scatter and gather
KR20160108770A (ko) 2015-03-06 2016-09-20 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US10522212B2 (en) 2015-03-10 2019-12-31 Micron Technology, Inc. Apparatuses and methods for shift decisions
US9741399B2 (en) 2015-03-11 2017-08-22 Micron Technology, Inc. Data shift by elements of a vector in memory
US9898253B2 (en) 2015-03-11 2018-02-20 Micron Technology, Inc. Division operations on variable length elements in memory
US10365851B2 (en) 2015-03-12 2019-07-30 Micron Technology, Inc. Apparatuses and methods for data movement
US10146537B2 (en) 2015-03-13 2018-12-04 Micron Technology, Inc. Vector population count determination in memory
KR102291518B1 (ko) 2015-03-20 2021-08-20 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치를 포함하는 스토리지 장치
US10049054B2 (en) 2015-04-01 2018-08-14 Micron Technology, Inc. Virtual register file
US10140104B2 (en) 2015-04-14 2018-11-27 Micron Technology, Inc. Target architecture determination
US9959923B2 (en) 2015-04-16 2018-05-01 Micron Technology, Inc. Apparatuses and methods to reverse data stored in memory
US10073786B2 (en) 2015-05-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for compute enabled cache
US9704541B2 (en) 2015-06-12 2017-07-11 Micron Technology, Inc. Simulating access lines
US9921777B2 (en) 2015-06-22 2018-03-20 Micron Technology, Inc. Apparatuses and methods for data transfer from sensing circuitry to a controller
US9996479B2 (en) 2015-08-17 2018-06-12 Micron Technology, Inc. Encryption of executables in computational memory
US9711211B2 (en) 2015-10-29 2017-07-18 Sandisk Technologies Llc Dynamic threshold voltage compaction for non-volatile memory
TWI596477B (zh) * 2015-12-18 2017-08-21 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
US9905276B2 (en) 2015-12-21 2018-02-27 Micron Technology, Inc. Control of sensing components in association with performing operations
US9952925B2 (en) 2016-01-06 2018-04-24 Micron Technology, Inc. Error code calculation on sensing circuitry
US10048888B2 (en) 2016-02-10 2018-08-14 Micron Technology, Inc. Apparatuses and methods for partitioned parallel data movement
US9892767B2 (en) 2016-02-12 2018-02-13 Micron Technology, Inc. Data gathering in memory
US9971541B2 (en) 2016-02-17 2018-05-15 Micron Technology, Inc. Apparatuses and methods for data movement
US9899070B2 (en) 2016-02-19 2018-02-20 Micron Technology, Inc. Modified decode for corner turn
US10956439B2 (en) 2016-02-19 2021-03-23 Micron Technology, Inc. Data transfer with a bit vector operation device
US9697876B1 (en) 2016-03-01 2017-07-04 Micron Technology, Inc. Vertical bit vector shift in memory
US10262721B2 (en) 2016-03-10 2019-04-16 Micron Technology, Inc. Apparatuses and methods for cache invalidate
US9997232B2 (en) 2016-03-10 2018-06-12 Micron Technology, Inc. Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations
JP6433933B2 (ja) * 2016-03-14 2018-12-05 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
US10379772B2 (en) 2016-03-16 2019-08-13 Micron Technology, Inc. Apparatuses and methods for operations using compressed and decompressed data
US9910637B2 (en) 2016-03-17 2018-03-06 Micron Technology, Inc. Signed division in memory
US10388393B2 (en) 2016-03-22 2019-08-20 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US11074988B2 (en) 2016-03-22 2021-07-27 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US10120740B2 (en) 2016-03-22 2018-11-06 Micron Technology, Inc. Apparatus and methods for debugging on a memory device
US10977033B2 (en) 2016-03-25 2021-04-13 Micron Technology, Inc. Mask patterns generated in memory from seed vectors
US10474581B2 (en) 2016-03-25 2019-11-12 Micron Technology, Inc. Apparatuses and methods for cache operations
US10074416B2 (en) 2016-03-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for data movement
US10430244B2 (en) 2016-03-28 2019-10-01 Micron Technology, Inc. Apparatuses and methods to determine timing of operations
US10453502B2 (en) 2016-04-04 2019-10-22 Micron Technology, Inc. Memory bank power coordination including concurrently performing a memory operation in a selected number of memory regions
US10607665B2 (en) 2016-04-07 2020-03-31 Micron Technology, Inc. Span mask generation
US9818459B2 (en) 2016-04-19 2017-11-14 Micron Technology, Inc. Invert operations using sensing circuitry
US10153008B2 (en) 2016-04-20 2018-12-11 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
US9659605B1 (en) 2016-04-20 2017-05-23 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
US10042608B2 (en) 2016-05-11 2018-08-07 Micron Technology, Inc. Signed division in memory
US9659610B1 (en) 2016-05-18 2017-05-23 Micron Technology, Inc. Apparatuses and methods for shifting data
US10049707B2 (en) 2016-06-03 2018-08-14 Micron Technology, Inc. Shifting data
US10387046B2 (en) 2016-06-22 2019-08-20 Micron Technology, Inc. Bank to bank data transfer
US10037785B2 (en) 2016-07-08 2018-07-31 Micron Technology, Inc. Scan chain operation in sensing circuitry
US10388360B2 (en) 2016-07-19 2019-08-20 Micron Technology, Inc. Utilization of data stored in an edge section of an array
US10387299B2 (en) 2016-07-20 2019-08-20 Micron Technology, Inc. Apparatuses and methods for transferring data
US10733089B2 (en) 2016-07-20 2020-08-04 Micron Technology, Inc. Apparatuses and methods for write address tracking
US9767864B1 (en) 2016-07-21 2017-09-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in a sensing circuitry element
US9972367B2 (en) 2016-07-21 2018-05-15 Micron Technology, Inc. Shifting data in sensing circuitry
US10303632B2 (en) 2016-07-26 2019-05-28 Micron Technology, Inc. Accessing status information
US10468087B2 (en) 2016-07-28 2019-11-05 Micron Technology, Inc. Apparatuses and methods for operations in a self-refresh state
US9990181B2 (en) 2016-08-03 2018-06-05 Micron Technology, Inc. Apparatuses and methods for random number generation
US11029951B2 (en) 2016-08-15 2021-06-08 Micron Technology, Inc. Smallest or largest value element determination
US10606587B2 (en) 2016-08-24 2020-03-31 Micron Technology, Inc. Apparatus and methods related to microcode instructions indicating instruction types
US10466928B2 (en) 2016-09-15 2019-11-05 Micron Technology, Inc. Updating a register in memory
US10387058B2 (en) 2016-09-29 2019-08-20 Micron Technology, Inc. Apparatuses and methods to change data category values
US10014034B2 (en) 2016-10-06 2018-07-03 Micron Technology, Inc. Shifting data in sensing circuitry
US10529409B2 (en) 2016-10-13 2020-01-07 Micron Technology, Inc. Apparatuses and methods to perform logical operations using sensing circuitry
US9805772B1 (en) 2016-10-20 2017-10-31 Micron Technology, Inc. Apparatuses and methods to selectively perform logical operations
US10373666B2 (en) 2016-11-08 2019-08-06 Micron Technology, Inc. Apparatuses and methods for compute components formed over an array of memory cells
US10423353B2 (en) 2016-11-11 2019-09-24 Micron Technology, Inc. Apparatuses and methods for memory alignment
US9761300B1 (en) 2016-11-22 2017-09-12 Micron Technology, Inc. Data shift apparatuses and methods
US10402340B2 (en) 2017-02-21 2019-09-03 Micron Technology, Inc. Memory array page table walk
US10403352B2 (en) 2017-02-22 2019-09-03 Micron Technology, Inc. Apparatuses and methods for compute in data path
US10268389B2 (en) 2017-02-22 2019-04-23 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10838899B2 (en) 2017-03-21 2020-11-17 Micron Technology, Inc. Apparatuses and methods for in-memory data switching networks
US11222260B2 (en) 2017-03-22 2022-01-11 Micron Technology, Inc. Apparatuses and methods for operating neural networks
US10185674B2 (en) 2017-03-22 2019-01-22 Micron Technology, Inc. Apparatus and methods for in data path compute operations
US10049721B1 (en) 2017-03-27 2018-08-14 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10147467B2 (en) 2017-04-17 2018-12-04 Micron Technology, Inc. Element value comparison in memory
US10043570B1 (en) 2017-04-17 2018-08-07 Micron Technology, Inc. Signed element compare in memory
US9997212B1 (en) 2017-04-24 2018-06-12 Micron Technology, Inc. Accessing data in memory
US10942843B2 (en) 2017-04-25 2021-03-09 Micron Technology, Inc. Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes
US10236038B2 (en) 2017-05-15 2019-03-19 Micron Technology, Inc. Bank to bank data transfer
US10068664B1 (en) 2017-05-19 2018-09-04 Micron Technology, Inc. Column repair in memory
US10013197B1 (en) 2017-06-01 2018-07-03 Micron Technology, Inc. Shift skip
US10553301B2 (en) 2017-06-03 2020-02-04 Sandisk Technologies Llc Dynamic read table block filter
US10262701B2 (en) 2017-06-07 2019-04-16 Micron Technology, Inc. Data transfer between subarrays in memory
US10152271B1 (en) 2017-06-07 2018-12-11 Micron Technology, Inc. Data replication
US10318168B2 (en) 2017-06-19 2019-06-11 Micron Technology, Inc. Apparatuses and methods for simultaneous in data path compute operations
US10162005B1 (en) 2017-08-09 2018-12-25 Micron Technology, Inc. Scan chain operations
US10534553B2 (en) 2017-08-30 2020-01-14 Micron Technology, Inc. Memory array accessibility
US10416927B2 (en) 2017-08-31 2019-09-17 Micron Technology, Inc. Processing in memory
US10741239B2 (en) 2017-08-31 2020-08-11 Micron Technology, Inc. Processing in memory device including a row address strobe manager
US10346092B2 (en) 2017-08-31 2019-07-09 Micron Technology, Inc. Apparatuses and methods for in-memory operations using timing circuitry
US10409739B2 (en) 2017-10-24 2019-09-10 Micron Technology, Inc. Command selection policy
US10522210B2 (en) 2017-12-14 2019-12-31 Micron Technology, Inc. Apparatuses and methods for subarray addressing
US10332586B1 (en) 2017-12-19 2019-06-25 Micron Technology, Inc. Apparatuses and methods for subrow addressing
US10649656B2 (en) * 2017-12-28 2020-05-12 Micron Technology, Inc. Techniques to update a trim parameter in non-volatile memory
US10614875B2 (en) 2018-01-30 2020-04-07 Micron Technology, Inc. Logical operations using memory cells
US11194477B2 (en) 2018-01-31 2021-12-07 Micron Technology, Inc. Determination of a match between data values stored by three or more arrays
US10437557B2 (en) 2018-01-31 2019-10-08 Micron Technology, Inc. Determination of a match between data values stored by several arrays
US10867645B2 (en) * 2018-04-05 2020-12-15 Samsung Electronics Co., Ltd. Memory device including plurality of latches and system on chip including the same
US10725696B2 (en) 2018-04-12 2020-07-28 Micron Technology, Inc. Command selection policy with read priority
US10410732B1 (en) 2018-05-21 2019-09-10 Western Digital Technologies, Inc. Failure prediction by cell probing
US10440341B1 (en) 2018-06-07 2019-10-08 Micron Technology, Inc. Image processor formed in an array of memory cells
US10541031B2 (en) 2018-06-15 2020-01-21 Sandisk Technologies Llc Single pulse SLC programming scheme
US10825513B2 (en) 2018-06-26 2020-11-03 Sandisk Technologies Llc Parasitic noise control during sense operations
US10769071B2 (en) 2018-10-10 2020-09-08 Micron Technology, Inc. Coherent memory access
US11175915B2 (en) 2018-10-10 2021-11-16 Micron Technology, Inc. Vector registers implemented in memory
US10483978B1 (en) 2018-10-16 2019-11-19 Micron Technology, Inc. Memory device processing
US11184446B2 (en) 2018-12-05 2021-11-23 Micron Technology, Inc. Methods and apparatus for incentivizing participation in fog networks
US10636501B1 (en) * 2019-03-18 2020-04-28 Sandisk Technologies Llc Memory device with reduced neighbor word line interference using adjustable voltage on source-side unselected word line
US12118056B2 (en) 2019-05-03 2024-10-15 Micron Technology, Inc. Methods and apparatus for performing matrix transformations within a memory array
US10867655B1 (en) 2019-07-08 2020-12-15 Micron Technology, Inc. Methods and apparatus for dynamically adjusting performance of partitioned memory
US11360768B2 (en) 2019-08-14 2022-06-14 Micron Technolgy, Inc. Bit string operations in memory
US11449577B2 (en) 2019-11-20 2022-09-20 Micron Technology, Inc. Methods and apparatus for performing video processing matrix operations within a memory array
US11853385B2 (en) 2019-12-05 2023-12-26 Micron Technology, Inc. Methods and apparatus for performing diversity matrix operations within a memory array
US11227641B1 (en) 2020-07-21 2022-01-18 Micron Technology, Inc. Arithmetic operations in memory
KR20220033651A (ko) 2020-09-09 2022-03-17 삼성전자주식회사 비휘발성 메모리 장치, 그것의 프로그램 방법 및 그것을 포함하는 저장 장치
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0675502B1 (en) * 1989-04-13 2005-05-25 SanDisk Corporation Multiple sector erase flash EEPROM system
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
KR100206709B1 (ko) * 1996-09-21 1999-07-01 윤종용 멀티비트 불휘발성 반도체 메모리의 셀 어레이의 구조 및 그의 구동방법
JP2002279788A (ja) * 2001-03-16 2002-09-27 Toshiba Corp 不揮発性半導体メモリ
US6967872B2 (en) * 2001-12-18 2005-11-22 Sandisk Corporation Method and system for programming and inhibiting multi-level, non-volatile memory cells
US6894930B2 (en) * 2002-06-19 2005-05-17 Sandisk Corporation Deep wordline trench to shield cross coupling between adjacent cells for scaled NAND
JP3935139B2 (ja) * 2002-11-29 2007-06-20 株式会社東芝 半導体記憶装置
US7073103B2 (en) 2002-12-05 2006-07-04 Sandisk Corporation Smart verify for multi-state memories
US6882567B1 (en) 2002-12-06 2005-04-19 Multi Level Memory Technology Parallel programming of multiple-bit-per-cell memory cells on a continuous word line
US6859397B2 (en) 2003-03-05 2005-02-22 Sandisk Corporation Source side self boosting technique for non-volatile memory
US7237074B2 (en) 2003-06-13 2007-06-26 Sandisk Corporation Tracking cells for a memory system
US6917542B2 (en) 2003-07-29 2005-07-12 Sandisk Corporation Detecting over programmed memory
KR100562504B1 (ko) * 2003-08-29 2006-03-21 삼성전자주식회사 신호의 위상차를 줄이는 반도체 메모리 장치
US6956770B2 (en) 2003-09-17 2005-10-18 Sandisk Corporation Non-volatile memory and method with bit line compensation dependent on neighboring operating modes
US7064980B2 (en) 2003-09-17 2006-06-20 Sandisk Corporation Non-volatile memory and method with bit line coupled compensation
US6937520B2 (en) 2004-01-21 2005-08-30 Tsuyoshi Ono Nonvolatile semiconductor memory device
US6888758B1 (en) 2004-01-21 2005-05-03 Sandisk Corporation Programming non-volatile memory
US7716413B2 (en) 2004-02-15 2010-05-11 Sandisk Il Ltd. Method of making a multi-bit-cell flash memory
JP4405292B2 (ja) 2004-03-22 2010-01-27 パナソニック株式会社 不揮発性半導体記憶装置及びその書き込み方法
KR100585628B1 (ko) * 2005-01-24 2006-06-07 삼성전자주식회사 불휘발성 반도체 메모리 장치의 프로그램 구동방법
US7212436B2 (en) * 2005-02-28 2007-05-01 Micron Technology, Inc. Multiple level programming in a non-volatile memory device
ITVA20050024A1 (it) 2005-04-13 2006-10-14 St Microelectronics Srl Metodo e circuito di programmazione simultanea di celle di memoria
KR100621634B1 (ko) 2005-05-06 2006-09-07 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
JP4282636B2 (ja) 2005-06-22 2009-06-24 株式会社東芝 不揮発性半導体記憶装置とそのデータ書き込み方法
US7443732B2 (en) * 2005-09-20 2008-10-28 Spansion Llc High performance flash memory device capable of high density data storage
US7630249B2 (en) 2007-06-21 2009-12-08 Sandisk Corporation Intelligent control of program pulse duration
US7580290B2 (en) 2007-06-21 2009-08-25 Sandisk Corporation Non-volatile storage system with intelligent control of program pulse duration
US7869273B2 (en) 2007-09-04 2011-01-11 Sandisk Corporation Reducing the impact of interference during programming
KR101378602B1 (ko) * 2008-05-13 2014-03-25 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법

Also Published As

Publication number Publication date
TWI391944B (zh) 2013-04-01
US20090059660A1 (en) 2009-03-05
CN101849263B (zh) 2013-05-08
US20110310671A1 (en) 2011-12-22
US8184479B2 (en) 2012-05-22
WO2009032747A1 (en) 2009-03-12
USRE43870E1 (en) 2012-12-25
KR101502104B1 (ko) 2015-03-12
KR20100085022A (ko) 2010-07-28
EP2181446A1 (en) 2010-05-05
US8094492B2 (en) 2012-01-10
EP2181446B1 (en) 2013-06-12
US20110075477A1 (en) 2011-03-31
CN101849263A (zh) 2010-09-29
US7869273B2 (en) 2011-01-11
TW200917272A (en) 2009-04-16
EP2181446A4 (en) 2010-09-22
USRE45813E1 (en) 2015-11-24
JP2010538409A (ja) 2010-12-09

Similar Documents

Publication Publication Date Title
JP5216856B2 (ja) プログラムの期間中での干渉の影響の低減
KR101736414B1 (ko) 다른 메모리 셀들로부터의 영향을 감소시키는 것을 포함하는 비휘발성 저장 소자의 프로그래밍
JP5460721B2 (ja) 高分解能可変初期プログラミングパルスを用いた不揮発性メモリのプログラミング
KR101688603B1 (ko) 비휘발성 저장 소자에 대한 프로그래밍 완료의 검출
JP5250117B2 (ja) メモリのための適応消去及びソフトプログラミング
EP2286411B1 (en) Erase-verification process for non-volatile storage
KR101805229B1 (ko) 동기화된 커플링을 이용한 비휘발성 저장소자의 프로그래밍
JP5650226B2 (ja) 不揮発性記憶装置における危険状態データの識別
JP5481477B2 (ja) 不揮発性記憶装置のオーバープログラムの訂正
TWI480878B (zh) 使用字元線耦合之記憶體之多次程式化
WO2014137651A1 (en) Non-volatile storage with process that reduces read disturb on end wordlines
JP2013514601A (ja) 高速ビット検出及び検証スキップを有する不揮発性記憶のプログラミング
KR101428767B1 (ko) 비휘발성 저장소자의 판독 동작 동안에 파워 소모의 감소
JP2009514138A (ja) スマート検証を利用してマルチステート不揮発性メモリをプログラミングする方法
JP2010530596A (ja) 書き込みパルス持続時間のインテリジェント制御
WO2013138199A1 (en) Non-volatile storage with read process that reduces disturb

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110112

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130304

R150 Certificate of patent or registration of utility model

Ref document number: 5216856

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees