Source: https://patents.google.com/patent/JP4646534B2/en
Timestamp: 2019-07-19 14:43:34
Document Index: 400034833

Matched Legal Cases: ['Application No. 10', 'Application No. 10', 'Application No. 10', 'Application No. 10', 'application No. 09', 'Application No. 10']

JP4646534B2 - Programming based on the behavior of the non-volatile memory - Google Patents
Programming based on the behavior of the non-volatile memory Download PDF
JP4646534B2
JP4646534B2 JP2004076471A JP2004076471A JP4646534B2 JP 4646534 B2 JP4646534 B2 JP 4646534B2 JP 2004076471 A JP2004076471 A JP 2004076471A JP 2004076471 A JP2004076471 A JP 2004076471A JP 4646534 B2 JP4646534 B2 JP 4646534B2
JP2004076471A
JP2005129194A (en
シー． グッターマン，ダニエル
ダブリュー ルッツェ，ジェフリー
2003-10-20 Priority to US10/689,333 priority Critical patent/US7177199B2/en
2004-03-17 Application filed by サンディスク コーポレイションＳａｎＤｉｓｋ Ｃｏｒｐｏｒａｔｉｏｎ, 株式会社東芝 filed Critical サンディスク コーポレイションＳａｎＤｉｓｋ Ｃｏｒｐｏｒａｔｉｏｎ
2005-05-19 Publication of JP2005129194A publication Critical patent/JP2005129194A/en
2011-03-09 Publication of JP4646534B2 publication Critical patent/JP4646534B2/en
本発明は、一般に、メモリデバイスのプログラミング技術に関する。 The present invention relates generally to the programming art memory device.
半導体メモリデバイスが、種々の電子デバイスで使用されるポピュラーな記憶装置となっている。 Semiconductor memory devices have become a popular storage device used in various electronic devices. 例えば、携帯電話、デジタルカメラ、個人用情報機器、携帯用計算機、非携帯用計算機およびその他のデバイスで不揮発性半導体メモリが利用されている。 For example, cellular phones, digital cameras, personal information devices, portable computers, non-portable computer and other devices in the non-volatile semiconductor memory is used. 電気的に消去可能でプログラム可能なリードオンリーメモリ（ＥＥＰＲＯＭ）とフラッシュメモリとが最もポピュラーな不揮発性半導体メモリである。 An electrically erasable programmable read-only memory (EEPROM) and flash memory are the most popular non-volatile semiconductor memory.
典型的なＥＥＰＲＯＭとフラッシュメモリは、半導体基板のチャネル領域の上方に設けられ、この領域から絶縁されるフローティングゲートを備えたメモリセルを利用する。 Typical EEPROM and flash memory is provided above the channel region of the semiconductor substrate, utilizing memory cells having a floating gate which is insulated from this region. このチャネル領域は、ソース領域とドレイン領域間のＰウェル内に配置される。 The channel region is disposed in the P-well between the source region and the drain region. コントロールゲートがフローティングゲート上に設けられ、フローティングゲートから絶縁される。 Control gate is provided on the floating gate and insulated from the floating gate. メモリのしきい値電圧は、フローティングゲート上に保持されている電荷量により制御される。 The threshold voltage of the memory is controlled by the amount of charge that is retained on the floating gate. すなわち、メモリセルにスイッチが入る前にコントロールゲートに印加する必要がある最小量の電圧がフローティングゲートの電荷レベルにより確定され、フローティングゲートのソースとドレイン間の導通が可能となる。 That is, the minimum amount of voltage that must be applied to the control gate before the switch enters a memory cell is determined by the charge level of the floating gate, it is possible to conduct between the source and the drain of the floating gate.
ＥＥＰＲＯＭやフラッシュメモリデバイスのなかには、２つの範囲の電荷の格納に使用するフローティングゲートを備えるものもあるため、２状態間のメモリセルのプログラム／消去を行うことが可能となる。 Some EEPROM and flash memory devices, because some of which comprise a floating gate that is used to store two ranges of charges, it is possible to perform program / erase of the memory cell between the two states. ＥＥＰＲＯＭやフラッシュメモリデバイスのプログラミング時に、プログラム電圧がコントロールゲートに印加され、ビットラインが接地される。 When programming an EEPROM or flash memory device, a program voltage is applied to the control gate and the bit line is grounded. チャネルから出る電子がフローティングゲート内へ注入される。 Electrons emitted from the channel are injected into the floating gate. 電子がフローティングゲートに累積すると、フローティングゲートは負に帯電し、メモリセルのしきい値電圧が上昇する。 When electrons accumulate in the floating gate, the floating gate becomes negatively charged and the threshold voltage of the memory cell is raised.
一般に、コントロールゲートに印加されるプログラム電圧は、一連のパルスとして印加される。 Generally, the program voltage applied to the control gate is applied as a series of pulses. パルスの振幅は、連続するパルス毎に（例えば、０．２ｖなどの）所定のステップサイズだけ増分される。 The pulse amplitude for each successive pulse (e.g., such as 0.2 v) is incremented by a predetermined step size. パルス間の時間内に検証動作が実行される。 Verify operation within the time between pulses is performed. すなわち、同時にプログラムされる１グループのセルの個々のセルのプログラミングレベルが各プログラミングパルス間で読み出されて、各セルをプログラムする検証レベル以上か否かの判定が行われる。 That is, each cell programming level 1 group of cells is read between each programming pulse, whether verify level or to program each cell determination is made to be programmed at the same time. プログラミングを検証する１つの手段としてある特定の比較ポイントにおける導通を検査する方法がある。 There is a method of inspecting a conductive at a specific compare point that is as a means of verifying the programming. 十分にプログラムされたことが検証されたセルは、例えば、０からＶｄｄ（２．５ボルトなど）へビットライン電圧を上げることによりロックされ、当該セルに対するプログラミング処理が停止される。 To have been sufficiently programmed are verified cells, for example, locked by raising the Vdd (2.5 volts, etc.) to the bit line voltage from 0, the programming process for that cell is stopped. 場合によっては、パルス数（２０パルスなど）が制限され、所定のメモリセルが最期のパルスにより完全にプログラムされていない場合、エラーの発生が想定される。 In some cases, the number of pulses (such as 20 pulses) are limited, if the given memory cell is not completely programmed by the last moment of the pulse, the occurrence of an error is assumed. 実施構成によっては、プログラミングに先行して（ブロック単位であるいは別の単位で）メモリセルの消去が行われる。 In some implementations, prior to programming (block units or other units) erasure of the memory cell. プログラミングに関するさらに多くの情報については、２００３年３月５日出願の“自己昇圧（セルフブースト）方法”という米国特許出願第１０／３７９，６０８号（特許文献１）および２００３年７月２９日出願の“プログラムされたメモリに対する検出”という米国特許出願第１０／６２９，０６８号（特許文献２）に記載されている。 Further For more information, March 5, 2003 "Self Boosting (self-boosting) Method" filed U.S. Patent Application Serial No. 10 / 379,608 referred to (Patent Document 1) and July 29, 2003 filed on programming It is described in U.S. Patent application Serial No. 10 / 629,068 as "programmed detection for memory" (Patent Document 2). 上記出願の双方は、その全体が本願明細書で参照により援用されている。 Both of the above applications, the entirety of which is incorporated by reference herein.
図１は、フラッシュメモリセルのコントロールゲートに印加されるプログラム電圧信号Ｖｐｇｍを示す。 Figure 1 shows a program voltage signal Vpgm applied to the control gate of the flash memory cell. プログラム電圧信号Ｖｐｇｍには時間と共に振幅が大きくなる一連のパルスが含まれる。 The program voltage signal Vpgm includes a series of pulses whose amplitude increases with time. プログラムパルスの開始時に、プログラム対象のすべてのセルの（例えば、ドレインと接続している）ビットラインが接地され、それによって、ゲートからチャネルへＶｐｇｍ−０Ｖの電圧差が形成される。 At the beginning of the program pulse, of all cells to be programmed (e.g., connected to the drain) bit line is grounded, whereby the voltage difference between Vpgm-0V from the gate to the channel is formed. 一旦、セルが目標とする電圧に達する（プログラム検証をパスする）と、それぞれのビットライン電圧がＶｄｄまで上昇し、その結果、メモリセルはプログラム禁止モード（当該セルへのプログラム停止）になる。 Once reaching the voltage where the cell is a target (which pass program verify), the respective bit line voltage is raised to Vdd, which results in the memory cell is program inhibit mode (program stops for the cell). この高速でプログラムされたセルは低速でプログラムされたセルよりも早めに上記状態に達することは明らかである。 Programmed cells in this high speed it is clear that reaching the state earlier than cells programmed at low speed. 例えば、図１に示すように、高速セルのビットライン電圧は低速セルのビットライン電圧よりも先にＶｄｄに上昇する。 For example, as shown in FIG. 1, the bit line voltage fast cell rises to Vdd before the bit line voltage of the slow cells.
マルチビットすなわち多状態フラッシュメモリセルは、デバイス内の複数の、別個のしきい値電圧の範囲の特定により実現される。 Multibit i.e. multi-state flash memory cells, a plurality of the devices are realized by a specific range of distinct threshold voltages. 個々の別個のしきい値電圧の範囲はデータビットのセットの所定値に対応する。 Range of individual discrete threshold voltage corresponds to a predetermined value of the set of data bits. メモリセルの中へプログラムされるデータと上記セルのしきい値電圧レベル間の固有の関係は、セルが採用するデータ符号化方式により決められる。 Specific relationship between the threshold voltage level of the data and the cell to be programmed into the memory cell is determined by the data encoding scheme cell adopts. 例えば、米国特許第６，２２２，７６２号（特許文献３）および２００３年６月１３日出願の“メモリシステム用追跡セル”という米国特許出願第１０／４６１，２４４号（特許文献４）などに多状態フラッシュメモリセルに関連する種々のデータ符号化方式についての記載がある。 For example, like in U.S. Pat. No. 6,222,762 (Patent Document 3), and June 13, 2003 U.S. Patent Application Serial No. 10 / 461,244 as "memory system tracking cell" filed (Patent Document 4) it is described for the various data encoding scheme associated with the multi-state flash memory cells. 上記出願の双方は、その全体が本願明細書で参照により援用されている。 Both of the above applications, the entirety of which is incorporated by reference herein.
多状態セルに対して適切なデータの格納を行うために、多状態メモリセルのしきい値電圧レベルの複数の範囲を十分なマージンを設けて互いに分離し、曖昧性のない方法でメモリセルのレベルのプログラムや消去を行うことができるようにすることが望ましい。 In order to perform the storage of the appropriate data to the multi-state cell, the multiple ranges of threshold voltage levels of the multi-state memory cell be separated from each other by providing a sufficient margin, the memory cell in unambiguous way it is desirable to be able to perform the level of program or erase. さらに、タイトなしきい値電圧の分布が推奨される。 In addition, tighter distribution of threshold voltage is recommended. タイトなしきい値電圧分布を達成するために、短いプログラムステップが一般に用いられてきたが、これにより、セルのしきい値電圧のプログラミングは低速になる。 To achieve a tight threshold voltage distribution, but shorter program steps have been commonly used, thereby, programming the threshold voltage of the cell becomes slow.
１組のメモリセルの自然なしきい値電圧分布とは、１以上の同一パルスの受信時に得られるしきい値電圧の分布である。 A set of a natural threshold voltage distribution of the memory cell is the distribution of the threshold voltage obtained at the time of reception of one or more of the same pulse. 図２に自然なしきい値電圧分布Ｗ（自然なＶ TH ）が描かれている。 Natural threshold voltage distribution W in FIG. 2 (natural V TH) is depicted. この自然なしきい値電圧分布は、多数のメモリセルの自然な物理的および電気的変動を反映するものである。 The natural threshold voltage distribution is to reflect the natural physical and electrical variations of a number of memory cells. この変動に影響を与える多くの要因が存在し、そのような要因として、能動層（セル幅）サイズ、チャネル長、トンネル酸化膜厚、トンネル酸化膜の局所的薄化、フローティングゲートの形状、ポリシリコン間ＯＮＯ厚並びにソースドレインオーバーラップ領域などが挙げられる。 There are many factors affecting the variation, as such factors, the active layer (cell width) sizes, the channel length, the tunnel oxide thickness, local thinning of the tunnel oxide film, a floating gate shape, poly silicon between ONO thickness and source drain overlap region thereof. 物理的にさらに小さく、かつ、さらに多数のこのようなセルを全く同一のものにすることは１つのチャレンジである。 Physically even smaller and greater number of adopting such a cell quite identical is one challenge. デバイスがさらに小型になり、多状態セルで使用されるにつれて、自然なしきい値分布が広がり、よりタイトなしきい値分布に対する要望が大きくなる。 Devices become more compact, as used in a multi-state cell, spread natural threshold distribution, need for tighter threshold distribution increases. 自然なしきい値電圧分布が広がるので、さらに多くのプログラムステップを必要とし、必要なタイトなしきい値電圧分布の取得が求められる。 Since spreading natural threshold voltage distribution, further requires more program steps, the acquisition tight threshold voltage distribution required is determined. より多くのプログラムステップを用いるので、プログラミングを行うためにさらに多く時間が必要となる。 Since using more program steps, further much time is required for programming. 消費者の視点から見ると、これはこの記憶デバイスが用いられているデジタルカメラや他のデバイスの作動がさらに低速になることを意味する。 Viewed from a consumer point of view, this means that the operation of the digital camera and other devices that are used the storage device is further slower. したがって、プログラミングスピードの上昇を求める要望が存在する。 Therefore, the need exists to seek an increase in programming speed.
米国特許出願第１０／３７９，６０８号 U.S. Patent Application No. 10 / 379,608 米国特許出願第１０／６２９，０６８号 U.S. Patent Application No. 10 / 629,068 米国特許第６，２２２，７６２号 US Pat. No. 6,222,762 米国特許出願第１０／４６１，２４４号 U.S. Patent Application No. 10 / 461,244 米国特許第５，５７０，３１５号 US Patent No. 5,570,315 米国特許第５，７７４，３９７号 US Pat. No. 5,774,397 米国特許第６，０４６，９３５号 US Patent No. 6,046,935 米国特許第５，３８６，４２２号 US Pat. No. 5,386,422 米国特許第６，４５６，５２８号 US Pat. No. 6,456,528 米国特許公開第２００３／０００２３４８号 US Patent Publication No. 2003/0002348 米国特許第５，０９５，３４４号 US Pat. No. 5,095,344 米国特許第５，１７２，３３８号 US Patent No. 5,172,338 米国特許第５，８９０，１９２号 US Pat. No. 5,890,192 米国特許第６，１５１，２４８号 US Pat. No. 6,151,248 米国特許出願第１０／２５４，４８３号 U.S. Patent Application No. 10 / 254,483
本発明は、略述すれば、メモリデバイスのプログラミング技術に関係する発明である。 The present invention Briefly, an invention relating to programming art memory device. 当該メモリセルの振舞いに基づいてプログラミング処理の適合化を行うことにより、メモリデバイスのプログラミング処理の改善が図られる。 By performing the adaptation of the programming process based on behavior of the memory cells, improving the programming process of the memory device can be achieved.
本発明の一実施形態では、不揮発性記憶素子の振舞いに基づいて、１組の不揮発性記憶素子を類別して、３またはそれ以上のグループに変え、個々のグループについて異なるプログラミング条件を用いて不揮発性記憶素子のプログラミングを行うステップが含まれる。 In one embodiment of the present invention, based on the behavior of non-volatile storage elements, it categorizes a set of non-volatile storage elements, instead of the three or more groups, using different programming conditions for each group nonvolatile It includes the step of performing a programming sexual storage elements.
本発明の別の実施形態には、少なくとも１つの不揮発性記憶素子が目標しきい値に達するまで、最初のプログラミングを不揮発性記憶素子に適用するステップが含まれる。 To another embodiment of the present invention, until at least one non-volatile storage element reaches a target threshold, it comprises the step of applying the first programming the nonvolatile memory element. 続いて、目標しきい値に達していない不揮発性記憶素子の少なくともサブセットの振舞いに基づいてプログラミングの調整が行われる。 Subsequently, the adjustment of the programming is performed on the basis of at least a subset of the behavior of the nonvolatile memory element does not reach the target threshold.
１つの例示の実施構成には、１組の不揮発性記憶素子と、不揮発性記憶素子と通信する１組の制御ラインと、これらの制御ラインと通信する制御回路とが含まれる。 In one exemplary configuration, it includes a set of non-volatile storage elements, a set of control lines in communication with the nonvolatile storage element, a control circuit in communication with these control lines. 上記制御回路は上述のステップを実行させる。 The control circuit to perform the above steps.
１つの変形例では、振舞いに基づく不揮発性記憶素子を類別するステップには、上記１組の不揮発性記憶素子に対して１以上の非ゼロ電源電圧を印加するステップが含まれる。 In one variation, the step of categorizing the nonvolatile memory elements based on behavior includes the step of applying one or more non-zero source voltage to said set of nonvolatile storage elements. 非ゼロ電源電圧を印加しながら、上記１組の不揮発性記憶素子のしきい値電圧は、不揮発性記憶素子のゲートを制御する１以上の正の電圧を印加し、不揮発性記憶素子のスイッチが入っているか否かを判定するステップによって特徴づけられる。 While applying a non-zero supply voltage, the threshold voltage of said set of nonvolatile storage elements, one or more positive voltage for controlling the gate of the nonvolatile memory element is applied, the switch of the nonvolatile memory element characterized by determining whether or not entered. 不揮発性記憶素子のスイッチが入っているか否かを判定するステップによって、不揮発性記憶素子が負電圧比較ポイントよりも大きなしきい値電圧を持っているか否かの表示が行われる。 By determining whether or not is switched on nonvolatile memory element, a nonvolatile memory element is an indication of whether it has a large threshold voltage is performed than the negative voltage comparison point.
別の変形例では、振舞いに基づく不揮発性記憶素子を類別するステップには、不揮発性記憶素子用ビットラインを帯電するステップと、コントロールゲート信号を印加するステップと、ビットラインの放電を可能にするステップとが含まれる。 In another variation, the step of categorizing the nonvolatile memory elements based on behavior, to allow the steps of charging the bit lines for non-volatile storage elements, applying a control gate signal, the discharge of the bit line It is included and step. 不揮発性記憶素子の後続するプログラミングには、ビットラインの放電方法に基づいてビットライン電圧のサブセットを調整するステップが含まれる。 The subsequent programming of the nonvolatile memory element includes the step of adjusting a subset of bit line voltages based on the discharge method of the bit line.
以下の説明により本発明の上記目的並びにその他の目的と利点とがさらに明瞭に現れ、この説明により図面と関連して本発明の好ましい実施形態が記載される。 It appeared following the above objects and other objects and advantages of the present invention is further the description clearer, preferred embodiments of the present invention in conjunction with the drawings This description is described.
本発明の実現に適したフラッシュメモリシステムの１つの例では、ＮＡＮＤ構造が利用され、この構造には２つのセレクトゲート間に複数のトランジスタを直列に配設するステップが含まれる。 In one example of a flash memory system suitable for implementing the present invention, NAND structure is utilized, this structure includes the step of disposing a plurality of transistors in series between two select gates. これら直列のトランジスタとセレクトゲートとはＮＡＮＤ列と呼ばれる。 And these series of transistors and the select gates are referred to as a NAND string. 図３は、１つのＮＡＮＤ列を示す平面図である。 Figure 3 is a plan view showing one NAND string. 図４は、ＮＡＮＤ列の等価回路である。 Figure 4 is an equivalent circuit of the NAND string. 図３と図４に描かれたＮＡＮＤ列には、直列に４個のトランジスタ１００，１０２，１０４，１０６が含まれ、これらのトランジスタは、第１のセレクトゲート１２０と第２のセレクトゲート１２２との間に挟まれている。 The NAND string depicted in Figures 3 and 4, includes four transistors 100, 102, 104 and 106 in series, these transistors, a first select gate 120 and a second select gate 122 It is sandwiched between. セレクトゲート１２０は、ＮＡＮＤ列をビットライン１２６と接続する。 Select gate 120 connects the NAND string to a bit line 126. セレクトゲート１２２は、ＮＡＮＤ列をソースライン１２８と接続する。 Select gate 122 connects the NAND string and the source line 128. セレクトゲート１２０は、ゲート１２０ＣＧを制御する適当な電圧の印加により制御される。 Select gate 120 is controlled by the application of appropriate voltages to control gate 120 CG. セレクトゲート１２２は、ゲート１２２ＣＧを制御する適当な電圧の印加により制御される。 Select gate 122 is controlled by the application of appropriate voltages to control gate 122CG. トランジスタ１００，１０２，１０４，１０６の各トランジスタには、コントロールゲートとフローティングゲートとが設けられる。 Each transistor of the transistors 100, 102, 104 and 106 are provided with a control gate and a floating gate. トランジスタ１００は、コントロールゲート１００ＣＧとフローティングゲート１００ＦＧとを備えている。 Transistor 100, and a control gate 100CG and floating gate 100FG. トランジスタ１０２は、コントロールゲート１０２ＣＧとフローティングゲート１０２ＦＧとを備えている。 Transistor 102, and a control gate 102CG and floating gate 102FG. トランジスタ１０４は、コントロールゲート１０４ＣＧとフローティングゲート１０４ＦＧとを備えている。 Transistor 104, and a control gate 104CG and floating gate 104FG. トランジスタ１０６は、コントロールゲート１０６ＣＧとフローティングゲート１０６ＦＧとを備えている。 Transistor 106, and a control gate 106CG and floating gate 106FG. コントロールゲート１００ＣＧは、ワード線ＷＬ３と接続され、コントロールゲート１０２ＣＧは、ワード線ＷＬ２と接続され、コントロールゲート１０４ＣＧは、ワード線ＷＬ１と接続され、コントロールゲート１０６ＣＧは、ワード線ＷＬ０と接続される。 Control gate 100CG is connected to word line WL3, control gate 102CG is connected to word line WL2, control gate 104CG is connected to word line WL1, control gate 106CG is connected to word line WL0.
図５は、上述のＮＡＮＤ列の断面図を示す。 Figure 5 shows a cross-sectional view of the aforementioned NAND string. 図５に示されているように、ＮＡＮＤ列のトランジスタ（セルまたはメモリセルとも呼ばれる）は、Ｐウェル領域１４０に形成される。 As shown in Figure 5, the transistors of the NAND string (also called cells or memory cells) are formed in the P-well region 140. 個々のトランジスタは、コントロールゲート（１００ＣＧ，１０２ＣＧ，１０４ＣＧ，１０６ＣＧ）と、フローティングゲート（１００ＦＧ，１０２ＦＧ，１０４ＦＧ，１０６ＦＧ）とから構成されるスタックゲート構造を備える。 Individual transistors comprises a control gate (100CG, 102CG, 104CG, 106CG) and a floating gate (100FG, 102FG, 104FG, 106FG) a stacked gate structure formed from a. フローティングゲートは、酸化膜上のＰウェルの表面に形成される。 Floating gate is formed on the surface of the P-well on the oxide film. コントロールゲートは、フローティングゲートの上方にあり、コントロールゲートとフローティングゲートとを分離するポリシリコン間誘電体層が設けられている。 Control gate is above the floating gate, an inter-polysilicon dielectric layer is provided for separating the control gate and the floating gate. 図５が、トランジスタ１２０と１２２用としてコントロールゲートとフローティングゲートとを描いているように見えることに留意されたい。 5 It should be noted that appears to depict a control gate and a floating gate for the transistor 120 and 122. しかし、コントロールゲートとフローティングゲートは、トランジスタ１２０と１２２用として一体に接続されている。 However, the control gate and the floating gate are connected together as a transistor 120 and 122. メモリセル（１００，１０２，１０４，１０６）のコントロールゲートによりワード線が形成される。 Word lines are formed by the control gate of the memory cell (100, 102, 104, 106). Ｎ＋拡散層１３０，１３２，１３４，１３６，１３８は隣接セル間で共有され、この共有によりセルは互いに直列に接続されてＮＡＮＤ列が形成される。 N + diffusion layers 130,132,134,136,138 are shared between neighboring cells, cell NAND string is formed by connecting in series with each other by the sharing. これらＮ＋拡散層は、個々のセルのソースとドレインを形成する。 These N + diffused layers form the source and drain of the individual cells. 例えば、Ｎ＋拡散層１３０は、トランジスタ１２２のドレインおよびトランジスタ１０６のソースとして機能し、Ｎ＋拡散層１３２は、トランジスタ１０６のドレインおよびトランジスタ１０４のソースとして機能し、Ｎ＋拡散領域１３４は、トランジスタ１０４のドレインおよびトランジスタ１０２のソースとして機能し、Ｎ＋拡散領域１３６は、トランジスタ１０２のドレインおよびトランジスタ１００のソースとして機能し、Ｎ＋拡散層１３８はトランジスタ１００のドレインおよびトランジスタ１２０のソースとして機能する。 For example, N + diffused layer 130 serves as the source of the drain and the transistor 106 of the transistor 122, N + diffused layer 132 serves as the source of the drain and the transistor 104 of the transistor 106, N + diffused region 134, the drain of the transistor 104 and functions as a source of the transistor 102, N + diffused region 136 serves as the source of the drain and the transistor 100 of the transistor 102, N + diffused layer 138 serves as the source of the drain and the transistor 120 of the transistor 100. Ｎ＋拡散層１２６はＮＡＮＤ列用のビットラインと接続し、一方、Ｎ＋拡散層１２８は複数のＮＡＮＤ列用の共通ソースラインと接続する。 N + diffused layer 126 connects to the bit line for the NAND string, while, N + diffusion layer 128 is connected to the common source line for multiple NAND strings.
図３〜図５は、ＮＡＮＤ列における４個のメモリセルを示す図ではあるが、４個のトランジスタの使用は一例として示すものにすぎないことに留意されたい。 3 to 5, although in the figure shows four memory cells in the NAND string, the use of four transistors is noted that merely as an example. ＮＡＮＤ列は、４個未満のメモリセルまたは４個以上のメモリセルを備えるものであってもよい。 NAND column may be provided with less than four memory cells or more than four memory cells. 例えば、ＮＡＮＤ列のなかには、８個のメモリセル、１６個のメモリセル、３２個のメモリセルを備えるものもある。 For example, some NAND strings are 8 memory cells, 16 memory cells, even those equipped with 32 memory cells. 本願の解説は、ＮＡＮＤ列内の何らかの特定個数のメモリセルに限定されるものではない。 Description of the present application is not intended to be limited to memory cells of any particular number in the NAND string.
個々のメモリセルは、アナログ形式あるいはデジタル形式で表されるデータを格納することができる。 Individual memory cell can store data represented in analog form or digital form. １ビットのデジタルデータを格納する場合、メモリセルのしきい値電圧の可能な範囲は、論理データ“１”と“０”に割り当てられる２つの範囲に分けられる。 When storing one bit of digital data, the possible range of the threshold voltage of the memory cell is divided into two ranges which are assigned logical data "1" and "0". ＮＡＮＤ形フラッシュメモリの１つの例では、メモリセルの消去後、しきい値電圧は負であり、論理“１”と定義される。 In one example of a NAND type flash memory, after the erasing of the memory cell, the threshold voltage is negative and defined as logic "1". プログラム処理後のしきい値電圧は正になり、論理“０”と定義される。 Threshold voltage after programming process is positive and defined as logic "0". しきい値電圧が負になり、読出しが試みられると、メモリセルにスイッチが入り、論理１が格納されたことが示される。 Threshold voltage is negative and a read is attempted, the switch enters the memory cell, which indicates that logic 1 is stored. しきい値電圧が正になり、読出しが試みられると、メモリセルのスイッチが入らず、これによって論理０が格納されたことが示される。 Threshold voltage is positive and a read is attempted, the memory cell switch is not enter, thereby indicating that the logic 0 is stored. メモリセルは複数レベルの情報の格納も可能であるため、例えば、マルチビットのデジタルデータの格納が行われる。 Since the memory cell is also possible store multiple levels of information, for example, store multiple bits of digital data. 複数レベルのデータを格納する場合、可能なしきい値電圧の範囲は、記憶レベルの数に分けられる。 When storing multiple levels of data, the range of possible threshold voltages is divided into the number of storage levels. 例えば、４つのレベルの情報を格納する場合、データ値“１１”，“１０”，“０１”，“００”に割り当てられる４個のしきい値電圧の範囲が生じることになる。 For example, when storing four levels of information, data value "11", "10", "01", "00" so that the range of four threshold voltages assigned occurs. ＮＡＮＤ形メモリの１つの例では、消去操作後のしきい値電圧は負となり、“１１”と定義される。 In one example of a NAND type memory, the threshold voltage after an erase operation is negative and defined as "11". “１０”，“０１”，“００”の状態に対しては正のしきい値電圧が用いられる。 "10", "01", a positive threshold voltages are used for the states of "00".
ＮＡＮＤ形フラッシュメモリとそれらの処理に関連する例については、以下の米国特許／特許出願に記載があり、これらのすべてはその全体が本願明細書で参照により援用されている。 For example related to NAND type flash memories and their treatment, the following has described in U.S. Patent / Patent Application, all of which in their entireties are hereby incorporated by reference herein. これらの米国特許／特許出願とは、米国特許第５，５７０，３１５号（特許文献５）、米国特許第５，７７４，３９７号（特許文献６）、米国特許第６，０４６，９３５号（特許文献７）、米国特許第５，３８６，４２２号（特許文献８）、米国特許第６，４５６，５２８号（特許文献９）および米国特許出願第０９／８９３，２７７号（公開第２００３／０００２３４８号）（特許文献１０）である。 And these U.S. patents / patent applications, U.S. Pat. No. 5,570,315 (Patent Document 5), U.S. Pat. No. 5,774,397 (Patent Document 6), US Patent 6,046,935 ( Patent Document 7), U.S. Pat. No. 5,386,422 (Patent Document 8), U.S. Pat. No. 6,456,528 (Patent Document 9) and US Patent application No. 09 / 893,277 (Publication No. 2003 / No. 0002348) is (Patent Document 10). 本発明の場合、別のタイプのフラッシュメモリデバイスの使用も可能である。 For the present invention, the use of other types of flash memory devices is also possible. 例えば、以下の特許にはＮＯＲ形フラッシュメモリについての記載があり、これらのすべてはその全体が本願明細書で参照により援用されている。 For example, the following patents have described for NOR-type flash memory, the whole, all of these that are incorporated by reference herein. これらの特許とは、米国特許第５，０９５，３４４号（特許文献１１）、米国特許第５，１７２，３３８号（特許文献１２）、米国特許第５，８９０，１９２号（特許文献１３）、米国特許第６，１５１，２４８号（特許文献１４）である。 And these patents, U.S. Patent No. 5,095,344 (Patent Document 11), U.S. Pat. No. 5,172,338 (Patent Document 12), U.S. Pat. No. 5,890,192 (Patent Document 13) is US Patent No. 6,151,248 (Patent Document 14). フラッシュメモリのタイプの別の例が、米国特許第６，１５１，２４８号に見られ、この特許は、その全体が本願明細書で参照により援用されている。 Another example of a flash memory type is found in U.S. Pat. No. 6,151,248, this patent in its entirety is incorporated by reference herein.
図６は、本発明の実現に使用可能なフラッシュメモリシステムの１つの実施形態のブロック図である。 Figure 6 is a block diagram of one embodiment of the available flash memory system to realize the present invention. メモリセルアレイ３０２は、コラム制御回路３０４、ロウ制御回路３０６、ｃソース制御回路３１０およびＰウェル制御回路３０８により制御される。 Memory cell array 302 is controlled by column control circuit 304, row control circuit 306, c-source control circuit 310 and P-well control circuit 308. コラム制御回路３０４は、メモリセルアレイ３０２のビットラインと接続され、メモリセルに格納されたデータの読出しと、プログラム処理中のメモリセルの状態の確定と、プログラミングの促進やプログラミングの禁止のためのビットラインの電位レベルの制御とを行う。 Column control circuit 304 is connected to the bit lines of the memory cell array 302, bit for the reading of data stored in the memory cell, and determination of the states of the memory cells in the program processing, programming promotion and programming prohibition performing a control of the potential level of the line. ロウ制御回路３０６は、ワード線と接続され、ワード線のうちの１本の線の選択と、読出し電圧の印加と、プログラム電圧の印加と、消去電圧の印加とを行う。 Row control circuit 306 is connected to the word line, performing a selection of one line of the word lines, and applying a read voltage, and the application of the program voltage and the application of the erase voltage. ｃソース制御回路３１０は、メモリセルと接続された共通ソースライン（図７に“Ｃソース”とラベルが付けられている）の制御を行う。 c-source control circuit 310 controls the common source line connected to the memory cell (labeled as "C source" in FIG. 7 is attached). Ｐウェル制御回路３０８は、Ｐウェル電圧の制御を行う。 P-well control circuit 308 controls the P-well voltage.
メモリセルに格納されたデータは、コラム制御回路３０４により読み出され、データ入出力用バッファ３１２を介して外部Ｉ／Ｏラインへ出力される。 The data stored in the memory cells are read out by the column control circuit 304, is output via the data output buffer 312 to the external I / O lines. メモリセルに格納されたプログラムデータは、外部Ｉ／Ｏラインを介してデータ入出力用バッファ３１２へ入力され、コラム制御回路３０４へ転送される。 Program data stored in the memory cells are input via the external I / O lines to the data output buffer 312 is transferred to the column control circuit 304. 外部Ｉ／Ｏラインは、コントローラ３１８と接続される。 External I / O lines are connected to the controller 318.
フラッシュメモリデバイスを制御するコマンドデータがコントローラ３１８へ入力される。 Command data for controlling the flash memory device is input to the controller 318. このコマンドデータは、どのような処理が求められているかに関する情報をフラッシュメモリに与える。 This command data can provide information about what processing is required for the flash memory. 入力コマンドは状態マシン３１６へ転送され、この状態マシン３１６によって、コラム制御回路３０４、ロウ制御回路３０６、ｃソース制御回路３１０、Ｐウェル制御回路３０８およびデータ入出力用バッファ３１２は制御される。 Input command is transferred to state machine 316, by the state machine 316, the column control circuit 304, row control circuit 306, c-source control circuit 310, P-well control circuit 308 and data input-output buffer 312 is controlled. 状態マシン３１６は、ＲＥＡＤＹ／ＢＵＳＹ（レディ／ビジー）やＰＡＳＳ／ＦＡＩＬ（パス／フェイル）のようなフラッシュメモリの状態データの出力を行うことができる。 State machine 316 can perform the output of status data of the flash memory such as READY / BUSY (ready / busy) or PASS / FAIL (pass / fail).
コントローラ３１８は、パーソナルコンピュータ、デジタルカメラ、個人用情報機器などのホストシステムと接続されるか、あるいは接続が可能である。 The controller 318 may be a personal computer, or a digital camera is connected to a host system such as a personal information device, or can be connected. コントローラ３１８は、ホストからコマンドを受信するためにホストと通信を行い、ホストからデータを受け取り、ホストへデータを出力し、ホストへ状態情報を出力する。 The controller 318 communicates with the host in order to receive commands from the host, receive data from the host, and outputs the data to the host, and outputs the status information to the host. コントローラ３１８は、ホストからのコマンドを変換して、解釈可能な信号であって、状態マシン３１６と通信を行うコマンド回路３１４が実行できるコマンド信号に変える。 Controller 318 converts commands from the host, a interpretable signal, changing the command signal commands circuit 314 to communicate with the state machine 316 can perform. コントローラ３１８は、一般に、ユーザデータのメモリアレイへの書き込み、あるいは、メモリアレイからの読出しを行うためのバッファメモリを備える。 The controller 318 generally comprises, writing to the memory array of the user data, or a buffer memory for reading from the memory array.
１つの例示のメモリシステムは、コントローラ３１８を備えた１つの集積回路と、メモリアレイと、関連する制御回路と、入出力回路および状態マシン回路とをそれぞれが備えた１以上の集積回路チップとを具備する。 One exemplary memory system comprises one integrated circuit that includes controller 318, a memory array and associated control circuitry, and one or more integrated circuit chips that output circuit and state machine circuits and the with each comprising. システムのメモリアレイと制御回路とを１以上の集積回路チップ上に一体に統合化する傾向が見られる。 A memory array and a control circuit of the system on one or more integrated circuit chips tend to integrate together seen. ホストシステムの一部としてメモリシステムを組み込むようにしてもよいし、ホストシステムの中へ取り外し可能に挿入されるメモリカード（または別のパッケージ）にメモリシステムを設けるようにしてもよい。 It may be incorporated into the memory system as part of the host system, may be provided a memory system in a memory card that is inserted removably into the host system (or another package). このような取り外し可能なカードの中に、（例えば、コントローラを含む）メモリシステム全体を設けてもよいし、あるいは、（ホストの中にコントローラを組み込んで）メモリアレイと関連する周辺回路のみを設けるようにしてもよい。 Among such removable cards (e.g., including the controller) may be provided to the entire memory system, or provide only the peripheral circuitry associated with the memory array (incorporated by the controller into the host) it may be so. このようにして、ホスト内にコントローラを組み込むことができるし、あるいは、取り外し可能なメモリシステム内にコントローラを設けることもできる。 Thus, to be able to incorporate the controller in the host, or may be provided the controller into a removable memory system.
図７を参照すると、メモリセルアレイ３０２の例示構造が記載されている。 Referring to FIG. 7, illustrates the structure of the memory cell array 302 is described. １つの例として、１，０２４個のブロックに分割されるＮＡＮＤフラッシュＥＥＰＲＯＭについて説明する。 As one example, a NAND flash EEPROM is described that is partitioned into 1,024 blocks. 個々のブロックに格納されたデータは、同時に消去される。 Data stored in each block is simultaneously erased. 一実施形態では、ブロックは同時に消去されるセルの最小単位である。 In one embodiment, the block is the minimum unit of cells that are simultaneously erased. この例では、個々のブロックの中に、８，５１２個のコラムが存在し、このコラムは偶数番号のコラムと奇数番号のコラムとに分けられる。 In this example, in each block, there are 8,512 pieces of columns, the column is divided into a column of the column and an odd number of an even number. ビットラインも偶数番号のビットライン（ＢＬｅ）と奇数番号のビットライン（ＢＬｏ）とに分けられる。 Bit lines are also divided into even-numbered bit lines (BLe) and the bit lines of odd numbers (BLo). 図７は、ＮＡＮＤ列を形成する直列接続の４個のメモリセルを示す図である。 Figure 7 is a diagram showing four memory cells connected in series to form a NAND string. 個々のＮＡＮＤ列の中に４個のセルを含むように示されているが、４個以上または４個未満のメモリセルを用いてもよい。 Although shown to include four cells in each NAND string, it may be used more than four or less than four memory cells. ＮＡＮＤ列の一方の端子は、第１の選択トランジスタＳＧＤを介して、対応するビットラインと接続され、他方の端子は第２の選択トランジスタＳＧＳを介してｃソースと接続される。 One terminal of the NAND string via a first select transistor SGD, is connected to the corresponding bit line, the other terminal is connected to c-source via a second select transistor SGS.
読出し動作とプログラミング動作中に、４，２５６個のメモリセルが同時に選択される。 During read and programming operations, 4,256 memory cells are simultaneously selected. 選択されたメモリセルは、同じワード線および同種類のビットライン（例えば、偶数番号のビットラインや奇数番号のビットラインなど）を有する。 Selected memory cells have the same word line and the same kind of bit line (e.g., bit lines of the bit line and odd-numbered even-numbered). したがって、５３２バイトのデータの同時読出しまたは同時プログラミングを行うことが可能である。 Therefore, it is possible to carry out simultaneous reading or simultaneous programming of 532 bytes of data. 同時読出しまたは同時プログラムミングが行われるこれら５３２バイトのデータにより１論理ページが形成される。 1 logical page is formed by these 532 bytes of data simultaneously read or concurrent program timing is performed. したがって、１つのブロックは、少なくとも８論理ページ（奇数番号のページと偶数番号のページをそれぞれが持つ４本のワード線）を格納することができる。 Therefore, one block can store at least eight logical pages (four word lines, each of the odd-numbered pages of the page and the even numbers have). 個々のメモリセルが、（例えば、マルチレベルセルなどの）２ビットデータを格納する場合、１ブロックには１６論理ページが格納される。 Individual memory cells, (e.g., multi-like level cell) when storing 2-bit data, the one block 16 logical pages is stored. 本発明の場合、別のサイズのブロックとページも使用可能である。 For the present invention, different size blocks and pages can also be used. さらに、図６と図７のアーキテクチャ以外のアーキテクチャを用いて、本発明を実現することも可能である。 Furthermore, using the architecture other than the architecture of Figure 6 and Figure 7, it is also possible to implement the present invention.
消去電圧（２０ボルトなど）までＰウェルを上げ、選択されたブロックのワード線の接地によりメモリセルの消去が行われる。 Raising the P-well to an erase voltage (20 volts, etc.), erasure of the memory cell is performed by grounding the word lines of a selected block. ソースラインとビットラインはフロートしている。 Source lines and bit lines are floating. メモリアレイ全体、個別のブロックあるいは別の単位のセルに対して消去を実行することができる。 The entire memory array, it is possible to perform erasing the cell of separate blocks, or another unit. 電子がフローティングゲートからＰウェル領域へ転送され、しきい値電圧は負になる。 Electrons are transferred from the floating gate to the P-well region, the threshold voltage becomes negative.
読出し動作と検証動作時に、トランジスタをパスゲートとして動作させるために、選択ゲート（ＳＧＤとＳＧＳ）と非選択ワード線（例えば、ＷＬ０、ＷＬ１、ＷＬ３など）とが読出し用パス電圧（例えば、４．５ボルトなど）まで上げられる。 During the read operation and verify operation, to operate the select gates (SGD and SGS) and the unselected word lines (e.g., WL0, WL1, WL3, etc.) and the pass voltage reading (e.g., 4.5 It is raised to bolt, etc.). 選択されたワード線（例えば、ＷＬ２など）は電圧と接続され、この電圧レベルは個々の読出し動作と検証動作に対して特定されて、関係するメモリセルのしきい値電圧がこのようなレベルに達したか否かの判定が意図される。 The selected word line (e.g., WL2, etc.) is connected to voltage, this voltage level is specified for each read operation and verify operation, the threshold voltage of the memory cell concerned with such level reached was determined whether or not it is intended. 例えば、２レベルのメモリセルの読出し動作時に、選択されたワード線ＷＬ２の接地により、しきい値電圧が０Ｖより高いか否かを検出するようにしてもよい。 For example, during a read operation of the two-level memory cell, the ground of the selected word line WL2, may be detected whether the threshold voltage is higher than 0V. ２レベルのメモリセルの検証動作時に、例えば、選択されたワード線ＷＬ２は２．４Ｖと接続され、その結果、しきい値電圧が少なくとも２．４Ｖに達したか否かの検証が行われる。 During the verify operation of the 2-level memory cell, for example, the selected word line WL2 is connected to 2.4V, as a result, the verification of whether the threshold voltage has reached at least 2.4V is performed. ソースとＰウェルは０ボルトにセットされる。 The source and the P-well is set to 0 volts. 選択されたビットライン（ＢＬｅ）は、例えば、０．７Ｖなどの或るレベルまでプリチャージされる。 The selected bit lines (BLe), for example, are precharged to a certain level, such as 0.7 V. しきい値電圧がワード線での読出しレベルや検証レベルよりも高くなった場合、関係するビットライン（ＢＬｅ）の電位レベルにより、非導電性メモリセルに起因する高いレベルが維持される。 If the threshold voltage is higher than the read level and verify levels of the word line, the potential level of the bit line involved (BLe), high levels due to the non-conductive memory cell is maintained. 一方、しきい値電圧が読出しレベルや検証レベルよりも低くなった場合、関係するビットライン（ＢＬｅ）の電位レベルは、導電性メモリセル（Ｍ）に起因して、例えば、０．５Ｖ未満などの低いレベルまで低下する。 On the other hand, if the threshold voltage is lower than the read level and verify level, the potential level of the bit line involved (BLe), due to the conductive memory cell (M), for example, less than 0.5V, etc. It drops to a low level. これによって、ビットラインと接続されたセンス増幅器によりメモリセルの状態が検出される。 Thus, the state of the memory cell is detected by a sense amplifier connected to the bit line.
上述した消去、読出し動作および検証動作は、当業で周知の技法に基づいて行われる。 Clear described above, a read operation and verify operation is performed on the basis of known techniques in the art. したがって、その詳細の多くは当業者により変更が可能である。 Thus, many of the details of which can be varied by those skilled in the art.
図８は、図６のコラム制御回路３０４の一部を示す概略ブロック図である。 Figure 8 is a schematic block diagram of a portion of column control circuit 304 of FIG. 6. コラム制御回路３０４では、データ記憶回路４４０が２ビットライン毎に設けられ、偶数番号のビットラインＢＬｅと奇数番号のビットラインＢＬｏとが設けられる。 In column control circuit 304, a data storage circuit 440 is provided for every two bit lines, it is provided with bit lines BLo bit lines BLe and odd-numbered even-numbered. コラム制御回路３０４には、データ記憶回路４４０用のセンス増幅器も設けられ、メモリセルへのデータの書込みおよびメモリセルからのデータの読出しが意図される。 The column control circuit 304, a sense amplifier for data storage circuit 440 also provided, read the data from the write and memory cell data to the memory cell is intended.
図８を参照すると、ｎチャネルＭＯＳ形トランジスタ４４２は、データ記憶回路４４０と偶数番号のビットラインＢＬｅ間でのコラム選択用として接続される。 Referring to FIG. 8, n-channel MOS transistors 442 is connected as a column selection between the bit lines BLe of the data storage circuit 440 and even numbered. 別のｎチャネルＭＯＳ形トランジスタ４４４は、データ記憶回路４４０と奇数番号のビットラインＢＬｏ間でのコラム選択用として接続される。 Another n-channel MOS transistors 444 is connected as a column selection between the bit lines BLo of the data storage circuit 440 and odd numbers.
偶数番号のビットラインＢＬｅまたは奇数番号のビットラインＢＬｏのいずれかを選択して、データの書込み動作またはデータの読出し動作を制御する。 Select one of the bit lines BLo to the bit line BLe or odd-numbered even-numbered, for controlling the write operation or a data read operation of the data. さらに詳細には、信号偶数番号ＢＬが論理レベル１にセットされ、かつ、信号奇数番号ＢＬが論理レベル０にセットされている場合、ＭＯＳ形トランジスタ４４２は導電性を生じ、偶数番号のビットラインＢＬｅが選択され、次いで、この偶数番号のビットラインＢＬｅはデータ記憶回路４４０と接続される。 More specifically, the signal even numbered BL is set to a logic level 1, and, if the signal odd number BL is set to a logic level 0, MOS transistors 442 which conductive, even numbered bit line BLe It is selected and then, the bit lines BLe of the even number is connected to the data storage circuit 440. 一方、信号偶数番号ＢＬが論理レベル０にセットされ、かつ、奇数番号ＢＬが論理レベル１にセットされている場合、トランジスタ４４４は導電性を生じ、奇数番号のビットラインＢＬｏが選択され、次いで、この奇数番号のビットラインＢＬｏはデータ記憶回路４４０と接続される。 On the other hand, the signal even numbered BL is set to a logic level 0, and if the odd-numbered BL is set to a logic level 1, transistor 444 causes a conductive, the bit line BLo odd number is selected, then, bit line BLo of odd number is connected to the data storage circuit 440. 信号偶数番号ＢＬが、偶数番号のビットラインを介して接続されたコラム選択用のｎチャネルＭＯＳ形トランジスタのすべてに印加されるのに対して、信号奇数番号ＢＬは、奇数番号のビットラインと接続されるコラム選択用のすべてのｎチャネルＭＯＳ形トランジスタに印加されることに留意されたい。 Connection signal even numbered BL is for being applied to all of the n-channel MOS transistors for column selection connected through the bit lines of even numbers, the signal odd-numbered BL is the bit line of the odd-numbered Note that to be applied to all the n-channel MOS transistors for column selection is.
個々のデータ記憶回路４４０は、３個の２進データ格納部ＤＳ１，ＤＳ２，ＤＳ３を備えている。 Individual data storage circuit 440 includes three binary data storage unit DS1, DS2, DS3. 格納部ＤＳ１は、内部のデータ入力／出力ラインによってデータ入出力３１２と接続され、書き込むべき外部からの入力データまたは外部へ出力すべき読出しデータを格納する。 Storage unit DS1 is connected to the data output 312 by the internal data input / output lines, and stores the read data to be output to the input data or external from the outside to be written. データ格納部ＤＳ２は、書込み動作後にメモリセルのしきい値を確認する書込み検証動作の検出結果を格納する。 Data storage unit DS2 stores the detection result of the write verify operation for confirming the threshold value of the memory cell after a write operation. データ格納部ＤＳ３は、メモリセルのデータの書込み時点および／またはメモリセルのデータの読出し時点にメモリセルのデータを一時的に格納する。 Data storage unit DS3 temporarily stores the data of the memory cell to the read time of the data write time and / or memory cells of the memory cell data. 別の実施形態では、データ格納部は別の機能を持つこともできる。 In another embodiment, the data storage unit can also have other functions. 種々の実施形態では、ＤＳ１，ＤＳ２，ＤＳ３は、記憶装置の一部や、１以上のレジスタや、情報の格納が可能な別の任意のデバイスとすることができる。 In various embodiments, DS1, DS2, DS3, a part or the storage device can be one or more registers or any device stores different possible information. 一実施形態では、ＤＳ１，ＤＳ２，ＤＳ３はそれぞれ１ビットである。 In one embodiment, DS1, DS2, DS3 are each one bit. 別の実施形態では、ＤＳ１，ＤＳ２，ＤＳ３の１以上は多数のビットを格納することができる。 In another embodiment, DS1, DS2, DS3 1 or more can be stored a large number of bits.
図８が偶数番号／奇数番号のビットライン構成を示すことに留意されたい。 Like Figure 8 is noted to show a bit line arrangement of the even number / odd number. しかし、本発明は、個々のビットラインがそれ自身のセンス増幅器および／またはデータ記憶装置を備える構成などの多くの異なるビットライン構成の場合にも利用可能である。 However, the present invention can also be utilized in the case of many different bit line configurations, such as configurations in which the individual bit line comprises its own sense amplifier and / or data storage device. 本発明の実現に適したいくつかの構成では、すべてのビットラインは、奇数と偶数のパスではなく１つのパスでプログラムされる。 In some configurations suitable for implementing the present invention, all bit lines are programmed in one pass instead of odd and even passes. 例えば、２００２年９月２４日出願の“非常にコンパクトな不揮発性メモリおよびその方法”という米国特許出願第１０／２５４，４８３号（特許文献１５）を参照されたい。 See, for example, 2002 September 24 filed "very compact non-volatile memory and method" U.S. Patent Application No. 10 / 254,483 that (Patent Document 15). この特許は、その全体が本願明細書で参照により援用されている。 This patent, in its entirety is incorporated by reference herein.
図９は、２ビットデータ（例えば、４個のデータ状態など）を格納するメモリセルのしきい値電圧分布を示す図である。 9, 2-bit data (e.g., four data states) is a diagram showing a threshold voltage distribution of memory cells for storing. 一実施形態では、分布４６０は、消去状態に在るセル（例えば“１１”が格納されている）のしきい値電圧の分布を表し、上記しきい値電圧は負のしきい値電圧レベルを示す。 In one embodiment, distribution 460 represents a distribution of threshold voltages of cells that are in the erased state (e.g., "11" is stored), the threshold voltage of the negative threshold voltage level show. 分布４６２は、“１０”を格納するセルのしきい値電圧の分布を表す。 Distribution 462 represents a distribution of threshold voltages of cells storing "10". 分布４６４は、“００”を格納するメモリセルのしきい値電圧の分布を表す。 Distribution 464 represents a distribution of threshold voltages of memory cells storing "00". 分布４６６は、“０１”を格納するセルのしきい値電圧の分布を表す。 Distribution 466 represents a distribution of threshold voltages of cells storing "01". 別の実施形態では、これら分布の各々は、上述した以外の異なるデータ状態に対応することができる。 In another embodiment, each of these distributions can correspond to different data states than described above. さらに、本発明は３以上のビットを格納するメモリセルについても機能することができる。 Furthermore, the present invention can also function for a memory cell storing three or more bits.
１つの実施構成では、消去状態（分布４６０）のメモリセルは、プログラム状態（分布４６２，４６４または４６６）のうちのいずれかの状態に合わせてプログラムすることが可能である。 In one implementation, a memory cell in the erased state (distribution 460) can be programmed to suit any state of the program state (distribution 462, 464 or 466). 別の実施形態では、消去状態のメモリセルは、２ステップ方法論に基づいてプログラムされる。 In another embodiment, the erased memory cell is programmed on the basis of the two-step methodology. この２ステップ方法論では、データ状態で格納された各ビットは異なる論理ページに対応する。 In this two-step methodology, each bit stored in a data state correspond to different logical pages. すなわち、メモリセルに格納された個々のビットは、下位の論理ページと上位の論理ページに関係する異なる論理ページアドレスを持つ。 That is, each bit stored in the memory cell has a different logical page address is related to a logical page of the lower logical page and an upper. 例えば、状態“１０では、“１”は下位の論理ページ用として格納され、“０”は上位の論理ページ用として格納される。第１のプログラミングステップで、セルのしきい値電圧レベルは、プログラム対象のビットに基づいて下位の論理ページの中へセットされる。当該ビットが論理“１”であれば、しきい値電圧は、以前に消去された結果、適正な状態にあるので変更されない。これに対して、ビットを論理“０”へプログラムしなければならない場合、しきい値電圧分布４６２内に入るようにセルのしきい値レベルが上げられる。第２のプログラミングステップで、プログラムされたビットに基づいて上位の論理ページの中へセルのしきい値電圧レベルはセットされる。上位の論理ページビットが論理“１”にセットされている場合、セ For example, "the 10," state 1 "is stored for the lower logical page," 0 "in the. First programming steps that are stored for the upper logical page, the threshold voltage level of the cell, if a logical "1". the bit that is set into the lower logical page based on the bit to be programmed, the threshold voltage is not changed since a result of having been earlier erased, it is in a suitable state . on the contrary, if you need to program bit to logic "0", the threshold level of the cell is increased to enter the threshold voltage distribution within 462. in the second programming step, is programmed threshold voltage level of the cell into the upper logical page on the basis of the bit is set. If the logical page bit higher is set to a logic "1", Se は、しきい値電圧分布４６０または４６２（双方とも上位ページビット“１”を担持する）に対応する状態のうちの一方の状態にあるため、さらなるプログラミングは行われない。上位の論理ページビットを論理“０”にする必要があり、かつ、第１のステップの結果、セルがしきい値４６０に対応する消去状態のままである場合、プログラミング処理の第２のステップには、しきい値分布４６６の範囲内に入るようにしきい値電圧を上げるステップが含まれる。上位の論理ページビットを論理“０”にする必要があり、かつ、セルがすでにプログラムされて、第１のプログラミングステップの結果、しきい値分布４６２に対応する状態になっている場合、プログラミング処理の第２のステップには、しきい値電圧分布４６４の範囲内に入 Because in the one state of the state corresponding to threshold voltage distributions 460 or 462 (carrying the upper page bit to "1" both), further programming is not performed. The logical page bit higher must be a logic "0", and the result of the first step, when the cell remains in the erased state corresponding to threshold 460, the second step of the programming process, the threshold distribution 466 includes the step of raising the threshold voltage to be within a range of. it is necessary to the logical page order bits to logic "0", and, in the cell is already programmed, the result of the first programming step , if it is the state corresponding to threshold distribution 462, the second step of the programming process, enter the range of the threshold voltage distribution 464 ようにしきい値電圧を上げるステップが含まれる。２ステップ処理は、多状態メモリのプログラミング方法論の一例にすぎない。１ステップ処理や３以上のステップ処理を含む多くの他の方法論を利用することが可能である。図８は、４状態（２ビット）を示す図であるが、本発明は、８状態、１６状態、３２状態およびその他の状態を含む構造を含む別の多状態構造についても用いることが可能である。 .2 step process that includes the step of raising the threshold voltage in this way, can utilize other methodologies often containing .1 Step processing or three or more-step process that only one example of a programming methodology multi-state memory can be. Figure 8 is a diagram showing the four states (2 bits), the present invention is also used for another multi-state structures including a structure comprising eight states, sixteen states, 32 states, and other conditions It is possible.
図１０は、１以上のメモリセルの振舞いに基づいてプログラミング処理を適合させるための進行状態を示す一実施形態を記述するフローチャートである。 Figure 10 is a flowchart describing one embodiment of a progress for adapting the programming process based on behavior of one or more memory cells. 一実施形態では、プログラミング処理の適合に用いられる振舞いは、例えば、メモリセルをプログラムできる速度や、メモリセルのプログラミングの難易度などのプログラム可能性 (programmability)、あるいは、プログラム可能性の別の態様に関係する。 In one embodiment, the behavior to be used in adaptation of the programming process, for example, and a rate to program the memory cell, programmability, such as difficulty of programming the memory cell (programmability), or another aspect of the programmability related to. さらに、振舞いに係る別の態様の利用も可能である。 Furthermore, use of another embodiment according to the behavior are possible.
ステップ５００で、最初のプログラミングが実行される。 In step 500, initial programming is performed. 例えば、上述したようにプログラミングパルスを用いる場合、１つのプログラミングパルスあるいは少数のプログラミングパルスがワード線（例えば、コントロールゲートなど）に印加される。 For example, when using a programming pulse as described above, one programming pulse or a small number of programming pulses is applied to the word line (e.g., control gate, etc.). ステップ５０２で、プログラムされる様々なメモリセルの振舞いが検出される。 In step 502, the behavior of the various memory cells to be programmed is detected. 多くの異なるタイプの振舞いに関するデータについて問い合せを行うことができる。 It is possible to perform a query for data about the number of different types of behavior. ステップ５０４で、プログラミング処理は、検出されたメモリセルの振舞いに基づいて調整される。 In step 504, the programming process is adjusted based on the behavior of the detected memory cell. ステップ５０６で、ステップ５０４と関連して説明した調整を用いてメモリ処理は終了する。 In step 506, the memory process ends with the adjustment described in connection with step 504.
本発明は、種々のタイプの振舞いに関するデータを用いてプログラミングの調整を行うことが可能である。 The present invention can be adjusted programming using data relating to various types of behavior. 利用可能な振舞いに関するデータの一例として、メモリセルがそのしきい値電圧（プログラミングのスピード）を調整することができるスピードがある。 As an example of the data related to available behaviors, the memory cell is the speed that can adjust its threshold voltage (programming speed). 別の実施形態では、別の振舞いに関するデータの使用が可能である。 In another embodiment, it is possible to use data relating to another behavior. どのセルプログラムが高速で、どのセルプログラムが低速かが分かっていれば、プログラミング処理中、異なるビットライン電圧を高速セルと低速セルに印加することができる。 Any cell program is fast, if any cell program Knowing the slow or during the programming process, it is possible to apply a different bit line voltages to the fast cells and slow cells. したがって、一実施形態では、高速および低速のプログラミングセルを用いて、ある程度同様のスピードでのプログラミングが可能となる。 Thus, in one embodiment, by using the fast and slow programming cells, it is possible to programming in somewhat similar speed. これによって自然なしきい値電圧分布を約１／２だけ効果的にカットすることができる。 This makes it possible to effectively cut the natural threshold voltage distribution by about 1/2. 例えば、低速と高速のレベルなどの２より多いグループにメモリセルを分ける場合、しきい値電圧分布をさらに狭くすることが可能である。 For example, when dividing the memory cell to a group of more than 2, such as slow and fast levels, it is possible to further narrow the threshold voltage distribution.
１つの例示の実施構成が図１１とに関連して描かれている。 Implementation of one exemplary are depicted in connection with the FIG. 11. 最初に、１組の１以上のプログラミングパルス５５０がワード線に印加される。 First, a set of one or more programming pulses 550 is applied to the word line. 図１０は、２つの初期パルスを示すものであるが、１つのパルスまたは３以上のパルスの使用も可能である。 Figure 10 is shows the two initial pulses, use of a single pulse or more than two pulses are also possible. この初期パルスの後、メモリセルスピード検出処理が、以下に説明するように、時点５５２で実行される。 After this initial pulse, the memory cell speed detection process, as described below, is executed at the time 552. どのメモリセルが高速で、どのメモリセルが低速かの判定がシステムにより行われる。 Any memory cell at high speed, which memory cell is the one of the determination slow is performed by the system. 低速のメモリセルの場合、ビットライン電圧は０ボルトに保持される。 For slower memory cell, the bit line voltage is held at zero volts. 高速プログラミングが行われるメモリセルの場合、ビットライン電圧はＶｂｎとラベルをつけた中間レベルまで上げられる。 For memory cells that fast programming is performed, the bit line voltage is raised to an intermediate level with a Vbn and labels. Ｖｂｎの一例は、１．２ボルトである。 An example of Vbn is 1.2 volts. Ｖｄｄ（プログラミング禁止電圧）の一例は、２．６ボルトである。 An example of a Vdd (program inhibit voltage) is 2.6 volts. プログラミング処理中にビットライン電圧を上げることは、プログラミング処理をスローダウンさせるという効果が生じる。 Raising the bit line voltage during the programming process, the effect of slowing down the programming process occurs. すなわち、コントロールゲートとドレイン間の電圧差が小さくなることに起因して、プログラミング処理がスローダウンする。 That is, due to the voltage difference between the control gate and the drain becomes small, the programming process is slowed down.
条件に応じてビットラインを調整した後、０．２ｖ分だけＶｐｇｍをステップアップする代わりに、直後に続くプログラミングパルス用としてより高いステップが用いられる。 After adjusting the bit line in accordance with the conditions, instead of stepping up the Vpgm only 0.2v min, higher step is used as the programming pulse following immediately. より高いステップの電圧の一例として、１．４ボルトがある。 An example of a higher step voltage, is 1.4 volts. 別の実施形態では、ステップアップ電圧は、２つに分けられた自然なしきい値分布の幅に等しくされる。 In another embodiment, the step-up voltage is equal to the width of the natural threshold distribution which is divided into two. 図１１は、パルス５５４を示す。 Figure 11 shows a pulse 554. 第１のパルス５５４は、例えば１．４ボルトなどのさらに大きなステップアップ電圧分だけパルス５５０内の最期のパルスから上げられる。 The first pulse 554 is raised from the last moment of the pulse, for example, 1.4 volts greater step-up voltage of only the pulse 550, such as. 後続するパルスは、０．２ｖだけあるいは別の好適な量だけステップアップされる。 Subsequent pulses are only step-up only, or another suitable amount 0.2 v. パルス５５０と５５４間の時点５５２後、後続するプログラミングパルス５５４中、高速セル用ビットラインが０ボルトからＶｂｎへ上げられることに留意されたい。 After point 552 between the pulses 550 554, in programming pulse 554 subsequent Note that the bit lines for fast cell is raised from 0 volts to Vbn. Ｖｂｎがビットラインに印加されるため、プログラミング中のチャネル電圧がほぼＶｂｎとなり、そのため、このチャネル電圧はプログラム処理をスローダウンさせて、Ｖｐｇｍの大きなジャンプが補償され、それによって、０ボルトがビットラインに印加され、Ｖｐｇｍステップが０．２ｖとなる標準的方法の場合とほぼ同じ時点に高速グループのメモリセルのプログラミングの終了が可能となる。 Because Vbn is applied to the bit line, approximately Vbn next channel voltage during programming, therefore, the channel voltage is the program processing is slowed down, a large jump Vpgm is compensated, thereby 0 volts bitline to be applied, Vpgm step becomes possible completion of the programming of the memory cell of approximately fast group in the same time as in the standard method to be 0.2 v. これに対して、Ｖｐｇｍのジャンプに起因して、低速メモリセルは標準的方法よりも高速にプログラムを行い、高速グループとほぼ同時点に終了することになる。 In contrast, due to the jump of Vpgm, the slow memory cell performs a program faster than the standard method, would end at about the same time as high-speed group. したがって、図１１は、プログラム処理を終了し、ビットライン電圧をＶｄｄまで上げることにより描かれているのと比較的同じ時点にプログラム処理を禁止するように為す高速セルと低速セルの両方とを示すものである。 Accordingly, FIG. 11 terminates the program process indicates a both fast cells and slow cells which form a bit line voltage for program inhibition process relatively the same time as depicted by raising to Vdd it is intended. さらに大きなプログラムパルスの使用に起因して、より低速のメモリセルのプログラミングにより少数のパルスが必要となる。 Furthermore due to the use of a larger program pulses, a few pulses are required by the programming slower memory cell. プログラミングパルスを使用するため、より高速な全体のプログラムスピードが達成される。 To use the programming pulse, faster overall program speed is achieved.
図１１を図１０と相関づけてみると、ステップ５００の最初のプログラミングが、図１１のパルス５５０により描かれている。 Looking correlated with 10 to 11, the first programming step 500 is depicted by pulses 550 in Figure 11. ステップ５０２の振舞いの検出は、図１１の時間５５２中に実行される。 Detection behavior in step 502 is performed during the time 552 in FIG. 11. プログラミングの調整が、０ボルトからＶｂｎへの高速セルのビットライン電圧を上げることにより図１１に描かれている。 Programming adjustment is depicted in FIG. 11 by raising the bit line voltage fast cell from 0 volts to Vbn. ステップ５０６のプログラミングの終了は、図１１のパルス５５４により描かれている。 End of programming step 506 is depicted by pulses 554 in Figure 11.
図１１Ａは、プログラミング処理の第２の例を示す図である。 Figure 11A is a diagram showing a second example of a programming process. この第２の例において、初期プログラムパルス５６０は図１１の場合よりも高い振幅電圧を持つ。 In the second example, the initial program pulse 560 has a higher amplitude voltage than in the case of FIG 11. 別の実施形態では、さらに大きなまたは小さな初期パルスを用いることができる。 In another embodiment, it is possible to use a larger or smaller initial pulse. 重要な点は、低速セルと高速セルとの区別や別の振舞いの区別を行うことができる十分なプログラミングを行うことである。 The important point is to provide adequate programming can be performed to distinguish distinction or another behavior of the slow cells and fast cells.
図１２〜図２４は、振舞いを検出し、その検出された振舞いに基づいてプログラミングの調整が行われる種々の実施形態のさらなる詳細を示す図である。 12 to 24 detects the behavior diagrams illustrating further details of the various embodiments adjustment of the programming is performed based on the detected behavior. 例えば、図１２と図１３とは、メモリセルが高速グループ内に在るか、低速グループ内に在るかの検出を行う実施形態のさらなる詳細を示す図である。 For example, FIG. 12 and and 13, or the memory cell is within a high speed group, a diagram illustrating further details of the embodiment performs one of the detection lies inside the low-speed group. 図１２は、消去後の電圧分布６００と、第１の組の１以上のプログラミングパルス後の電圧分布６０２とを描く図である。 Figure 12 is a voltage distribution 600 after erase is a diagram depicting the voltage distribution 602 after one or more programming pulses of the first set. この分布は半分に分けることが可能である。 This distribution can be divided in half. 例えば、電圧Ｖ＿ｃｋによりこの分布は半分に分けられる。 For example, the distribution by the voltage V_ck is divided in half. いくつかの実施形態において、この分割ポイントは必ずしも正確に１／２のポイントである必要はない。 In some embodiments, the split point is not necessarily exactly 1/2 points. 分布６０２の範囲内に在り、Ｖ＿ｃｋ未満のしきい値電圧を持つメモリセルは低速メモリセルと見なされる。 It lies in the range of distribution 602, a memory cell having a threshold voltage less than V_ck are considered low-speed memory cells. 分布６０２の範囲内に在り、Ｖ＿ｃｋ以上のしきい値電圧を持つメモリセルは高速メモリセルと見なされる。 It lies in the range of distribution 602, a memory cell having the above threshold voltage V_ck are considered fast memory cells. 高速メモリセルであると判定されたメモリセルは、上述したようにそのビットライン電圧が上げられる。 Memory cell is determined to be a fast memory cell is raised is the bit line voltage as described above.
Ｖ＿ｃｋは、装置特性、シミュレーションあるいは実験により確定することが可能である。 V_ck may be determined by the device characteristics, simulation or experimentation. Ｖ＿ｃｋを確定する別の手段を利用することも可能である。 It is also possible to use other means to determine the V_ck. 装置特性を用いて使用パルス５５０の数を決定して、より高速のプログラミングセルがＶ＿ｃｋよりも大きなしきい値電圧を持つように、また、より低速のプログラミングセルがＶ＿ｃｋよりも低いしきい値電圧を持つように図ることも可能である。 By determining the number of use pulse 550 using the device characteristics, so as to have a larger threshold voltage than faster programming cells Vck, also lower threshold voltage than the slower programming cells Vck it is also possible to achieve to have. 一実施形態では、Ｖ＿ｃｋを横切ることにより最も高速のプログラミングセルの検出が可能であり、良好な振舞いを示す分布を仮定して、より高速のプログラミングセルがＶ＿ｃｋよりも大きなしきい値電圧を持つようにするために、また、より低速のプログラミングセルがＶ＿ｃｋ未満のしきい値電圧を持つようにするために、いくつの追加パルスを必要とするかについての予測を行うことが可能である。 In one embodiment, it is possible to most fast programming cell detection by traversing the Vck, assuming a distribution indicating a good behavior, so that the faster programming cells have a larger threshold voltage than Vck for to, also, it is possible to perform a more in order to slow programming cells to have a threshold voltage below Vck, predictions about what requires a number of additional pulses. 当業者には周知の他の手段を用いて、印加対象のパルス５５０の数を決定することも可能である。 To those skilled in the art using other means well known, it is possible to determine the number of application target pulse 550.
図１３は、メモリセルが高速か低速かを検出し、適宜ビットラインの調整を行うプロセスを示す一実施形態を記述するフローチャートである。 13, the memory cell is detected whether fast or slow, a flowchart describing one embodiment of a process for adjusting the appropriate bit line. ステップ６３０で、コントロールゲートにおいてＶ＿ｃｋを印加することによりメモリセルが読み出される。 In step 630, the memory cell is read by applying V_ck in the control gate. メモリセルにスイッチが入っていれば（ステップ６３２）、メモリセルのしきい値電圧はＶ＿ｃｋ未満となり、メモリセルは低速セルとなる。 If the switch is entered into the memory cell (step 632), the threshold voltage of the memory cell is less than Vck, the memory cell becomes slow cells. その場合、ステップ６３４で、振舞いに起因してビットライン電圧の調整が行われることはない。 In that case, in step 634, does not the adjustment of the bit line voltage is performed due to the behavior. ステップ６３０でメモリセルにスイッチが入っていなかった場合、当該セルのしきい値電圧はＶ＿ｃｋ以上になり、当該メモリセルは高速セルとなる。 If you did not contain the switch to the memory cell in step 630, the threshold voltage of the cell becomes more Vck, the memory cell is fast cell. 高速メモリセルの場合、ステップ６３６でＶｂｎになるようにビットラインの調整が行われる。 For fast memory cells, the adjustment of the bit lines is performed so as to Vbn in step 636.
図１２と図１３の実施形態により、メモリセルが高速セルか低速セルかの判別が行われ、それによってメモリセルが２つのグループのうちの一方に類別されることに留意されたい。 The embodiment of FIGS. 12 and 13, the memory cell is performed to discriminate whether fast cells or slow cells, whereby it is noted that the memory cells are classified into one of two groups. 当該グループのうちの一方は高速メモリセルであり、他方のグループは低速メモリセルである。 One of the group is fast memory cells, the other group is a low-speed memory cells. 別の実施形態では、３以上のグループにメモリセルを類別することができる。 In another embodiment, it is possible to classify the memory cell into three or more groups. 例えば、図１４は、消去後のメモリセルのしきい値電圧分布６００を描く図である。 For example, FIG. 14 is a diagram depicting a threshold voltage distribution 600 of the memory cells after erasure. また、図１４は、１以上の初期プログラムパルス発生後の自然なしきい値分布６７０を示す図でもある。 Further, FIG. 14 is also a diagram that shows one or more natural threshold distribution 670 after the initial program pulse generation. しきい値分布６７０は、ｉ個のグループに分けられる。 The threshold voltage distribution 670 is divided into i pieces of the group. 例えば、第１のグループにはＶ＿ｃｋ＿０未満のしきい値電圧を持つメモリセルが含まれ、第２のグループにはＶ＿ｃｋ＿０より大きくかつＶ＿ｃｋ＿１未満のしきい値電圧を持つメモリセルが含まれる。 For example, the first group includes a memory cell having a threshold voltage below V_ck_0, the second group including the memory cell having a threshold voltage of greater and less than V_ck_1 than V_ck_0. 図１５は、振舞いを検出するプロセスについて記述するフローチャートであり、このプロセスには、ある特定のメモリセルがどのグループに属するかを特徴づけるステップと、上記特定グループに応じてビットラインの調整を行うステップとが含まれる。 Figure 15 is a flow chart describing the process of detecting a behavior, this process, carried out the steps of characterizing belongs to a certain which group a particular memory cell, the adjustment of the bit line in accordance with the particular group It is included and step. ステップ６８０で、上記メモリセルは、個々のチェックポイント（例えば、Ｖ＿ｃｋ＿０，Ｖ＿ｃｋ＿１，…Ｖ＿ｃｋ＿ｉなど）で読み出される。 In step 680, the memory cells, each checkpoint (e.g., V_ck_0, V_ck_1, ... etc. V_ck_i) are read out. セルにスイッチが入った時点、および、セルにスイッチが入らなかった時点に基づいて、ある特定のメモリセルがどのグループに属するかに関する決定がステップ６８２で行われる。 When the switch enters the cell, and, based on the time the switch was not enter the cell, a determination belongs to which a particular memory cell group is performed in step 682. 電圧検知検証方式の代わりに、上記プロセスは電流検知方式や、別のメモリセルの状態の読出し／検証手段を用いることも可能であることに留意されたい。 Instead of the voltage detection verification scheme, the process should be noted that, current detection method, it is also possible to use the read / verification means of the state of another memory cell. ステップ６８４で、上記メモリセルが類別されてどのグループに入るかに基づいて上記特定のメモリセルのビットラインが調整される。 In step 684, the bit line of the specific memory cell is adjusted based on whether enter which group the memory cell is classified. すなわち、一実施形態では、個々のグループは異なるビットライン電圧の調整に対応することになる。 That is, in one embodiment, would correspond to the adjustment of the different bit line voltages each group. 例えば、第１のグループが第１のビットライン電圧を持ち、第２のグループが第２のビットライン電圧を持つことになる、など。 For example, the first group has a first bit line voltage, the second group will have a second bit line voltage, and the like. メモリセルがどのグループに属するかが決定された後、当該メモリセルはそのビットライン電圧が当該グループ用のビットライン電圧に等しくなるように為される。 After either the memory cell belongs to which group is determined, the memory cell is made to the bit line voltage is equal to the bit line voltage for the group. 一実施形態では、最下位のグループ（Ｖ＿ｃｋ＿０未満のしきい値電圧）がビットライン電圧０を持つことになり、第２のグループ（Ｖ＿ｃｋ＿０よりも大きく、かつ、Ｖ＿ｃｋ＿１未満のしきい値電圧）がＷ／ｉのビットライン電圧を持ち、第３のグループが２Ｗ／ｉのビットライン電圧を持ち、第４のグループが３Ｗ／ｉのビットライン電圧を持つことになるなど。 In one embodiment, the lowest group (threshold voltages below V_ck_0) is to have a bit line voltage 0, the second group (greater than V_ck_0, and the threshold voltage of less than V_ck_1) is has a bit line voltage of the W / i, etc. third group have a bit line voltage of 2W / i, the fourth group will have a bit line voltage of 3W / i. Ｗは自然なしきい値電圧分布の幅である。 W is the width of the natural threshold voltage distribution.
分布が細分化されればされるほど、グループ数はより多くなり、最終しきい値電圧分布はよりタイトになる。 More distribution is when it is subdivided, the number of groups becomes more, the final threshold voltage distribution becomes tighter. これに対して、より多くのグループ数を使用すればするほど、読出し動作にさらに長い時間が必要となる。 In contrast, the more you use larger number of groups will require longer time for the read operation. さらに、システムは関連するスピード情報とグループ情報との格納にさらに多くのバッファを必要とすることになる。 Furthermore, the system will require more buffer to store the associated speed and group information.
いくつかの実施形態では、第１の１以上の初期パルスの発生後、自然なしきい値電圧分布の多くが０ボルト未満になることもあり得ることである。 In some embodiments, after the occurrence of the first one or more of the initial pulse is that many natural threshold voltage distribution may be also be less than 0 volts. すなわち、メモリセルの多くが０ボルト未満のしきい値電圧を持つことになる。 That is, the number of memory cells having a threshold voltage less than zero volts. このような状況では、チェックポイントが０ボルト未満になる場合があるため、どのしきい値電圧が低速で、どのしきい値電圧が高速であるかの判別を行うことが困難となる場合がある。 In this situation, there are cases where a checkpoint is less than 0 volts, in which the threshold voltage is slow, which threshold voltage may become difficult to discriminate whether a high-speed . すなわち、Ｖ＿ｃｋが０未満の場合、メモリセルのコントロールゲートへ負電圧を印加して、どのメモリセルがＶ＿ｃｋ未満か、Ｖ＿ｃｋ以上かの判別を行うことが困難となる場合がある。 That is, if Vck is less than 0, by applying a negative voltage to the control gate of the memory cell, which memory cell is less than or Vck, it may become difficult to discriminate whether or Vck. 例えば、図１６は、消去操作後のしきい値電圧分布６００と、最初のプログラミング後のしきい値電圧分布７００とを示す図である。 For example, Figure 16 is a graph showing the threshold voltage distribution 600 after an erase operation, the threshold voltage distribution 700 after the first programming. 分布７００の多くが０未満であり、Ｖ＿ｃｋが０未満であることに留意されたい。 Many distribution 700 is less than 0, it is noted that V_ck is less than 0.
振舞いの検出とプログラミングの調整とを行うことを意図する別の実施形態では、本体効果を利用する０未満のしきい値電圧と関連する問題が解決される。 In another embodiment intended to carry out the adjustment of the detection and programming behavior, problems associated with the threshold voltage lower than 0 utilizing body effect is resolved. トランジスタのソースとトランジスタの本体（基板）との間にバイアスが生じるため、本体効果には正方向のしきい値電圧のシフトが含まれる。 The bias between the transistor source and transistor body (the substrate) is produced, the body effects include a shift in the positive direction of the threshold voltage. したがって、ソースへの電圧の印加により、しきい値電圧を上げることが可能となる。 Therefore, by applying a voltage to the source, it is possible to raise the threshold voltage. ソースへの電圧が高ければ高いほど、しきい値電圧の見かけのシフトはより大きくなる。 The higher the voltage to the source, the apparent shift of the threshold voltage becomes larger. したがって、ソースへの電圧の印加により負のしきい値電圧の検出を行い、０以上のレベルまで有効しきい値電圧を効果的に上げ、次いで、ワード線に正の電圧の印加を行うことが可能となる。 Therefore, detection is performed negative threshold voltage by applying a voltage to the source, effectively increasing the effective threshold voltage to 0 or higher, then it is possible to apply a positive voltage to the word line It can become. 例えば、図１７には、ＮＡＮＤ列が、１６本のワード線（ＷＬ０…ＷＬ１５）の各々と接続された１６個のメモリセルを持つことが示されている。 For example, in FIG. 17, NAND string have been shown to have 16 memory cells connected to each of the 16 word lines (WL0 ... WL15). プログラムされたワード線ＷＬｎは０．５ボルトの電圧を受け取ることになるが、これに対してその他のワード線は５ボルトを受け取ることになる。 Programmed word line WLn is will receive a voltage of 0.5 volts, the other word lines contrast will receive 5 volts. 通常０ボルトであるソースラインはＶｄｄ（例えば、２．６ボルトなど）に等しい電圧を受け取る。 Usually the source line is 0 volt Vdd (e.g., 2.6 volts, etc.) receive a voltage equal to. 別のソースライン電圧の使用も可能である。 The use of another source line voltage is also possible. 着想としては、ソースラインでの電圧の印加によりメモリセルの見かけのしきい値電圧が上げられ、０．５ボルトでの検査を行って、メモリセルがＶ＿ｃｋ未満か以上か（低速か高速かなど）の判別を行うようにするというものである。 The idea, by applying a voltage at the source line is raised is apparent threshold voltage of the memory cell, a check is made at 0.5 volts, the memory cell is greater than or equal to or less than Vck (slow or fast or the like ) is that to perform the determination of. すなわち、図１６のＶ＿ｃｋのしきい値電圧を持つメモリセルは、ソースで印加された電圧の結果、その有効しきい値電圧を０．５ボルトまで上げられることになる。 That is, a memory cell having a threshold voltage of V_ck in FIG. 16, the result of the voltage applied at the source, would be raised to its effective threshold voltage to 0.5 volts. ０．５ボルト以上のレベルまで上げられたメモリセルは高速セルとみなされ、０．５ボルト未満のその他のメモリセルは低速とみなされる。 Memory cells that are raised to 0.5 volts or higher is considered a high-speed cell, other memory cells of less than 0.5 volts are considered slow.
図１８は、振舞いを決定するための本体効果を利用するプロセスの一実施形態を記述するフローチャートを描く図である。 Figure 18 is a diagram depicting a flow chart describing one embodiment of a process for utilizing the body effect to determine behavior. ステップ７４０で、電圧がソースに印加され、例えば、Ｖｄｄが上述したように印加される。 In step 740, a voltage is applied to the source, eg, Vdd is applied as described above. いくつかの実施形態では、メモリセルのすべては、同一または同様の電源電圧を受け取ることも可能である。 In some embodiments, all of the memory cells, it is also possible to receive the same or similar power supply voltage. 別の実施形態では、電源電圧が変動する場合もある。 In another embodiment, there is a case where the power supply voltage fluctuates. ステップ７４２で、ワード線における検査電圧の印加により関心対象の特定セルが読み出される。 In step 742, a specific cell of interest is read by applying a test voltage at the word line. 図１７は、印加された０．５ボルトを示す。 Figure 17 shows the applied 0.5 volts. セルにスイッチが入っていれば、メモリセルは低速セルとみなされ、ステップ７４６でビットラインの調整は行われない。 If you have activated the cell, the memory cell is considered slow cells, adjustment of the bit line is not carried out at step 746. セルにスイッチが入っていなければ（ステップ７４４）、メモリセルは高速セルとみなされ、ステップ７４８でビットラインはＶｂｎに調整される。 If not within the switch is in the cell (step 744), the memory cell is considered a high-speed cell, the bit lines in step 748 is adjusted to Vbn. 図１４と図１５とに関連して記載した技術を用いて、図１８のプロセスを適合して複数のグループにメモリセルの類別を行うことが可能であることに留意されたい。 Using the techniques described in connection with FIGS. 14 and 15, it is noted that by adapting the process of FIG. 18 it is possible to perform classification of memory cells into a plurality of groups. プログラムされたメモリセルを読み出すための０．５ボルトのワード線電圧が装置特性に基づいて選ばれ、上記電圧はチャネルドーピングの関数となる場合もあることに留意されたい。 Word line voltage 0.5 volts for reading the programmed memory cell is selected based on the device characteristics, the voltage should be noted that in some cases a function of channel doping. 別の値を用いることも可能である。 It is also possible to use a different value.
本願に開示された別の実施形態と関連して振舞いの決定に本体効果を利用するという上記コンセプトを適用することが可能である。 The determination of the behavior in connection with another embodiment disclosed herein it is possible to apply the concept of utilizing the body effect. 例えば、複数グループにメモリセルを類別する実施形態では、振舞いの検出を決定するために本体効果を利用して類別の根拠にすることが可能である。 For example, in the embodiment categorizing memory cells into a plurality of groups, it is possible to categorize basis by utilizing the body effect to determine the detection behavior.
図１９と図２０とに関連して振舞いを検出し、プログラミングを調整する別の実施形態が示されている。 Behavior detects in connection with FIGS. 19 and 20, another embodiment of adjusting the programming are shown. 図１９と図２０の実施形態は、独立に個々のセルの分析を企図して、カスタマイズされたビットライン電圧を個々のセルに対して出力するものである。 The embodiment of FIGS. 19 and 20, contemplates the analysis of individual cells independently, and outputs the customized bit line voltage for each cell. １以上の初期プログラムパルスの発生後、その分布は図１２に示すようなものとなる。 After the occurrence of one or more initial program pulses, the distribution is as shown in FIG. 12. ワード線にＶ＿ｃｋを印加することにより検知を行うことが可能となる。 It is possible to perform detection by applying the V_ck the word line. しかし、低速ビットと高速ビットを表す２進の“１”または“０”を返す代わりに、プロセスは所定の検知時点におけるアナログ値を返す。 However, instead of returning a "1" or "0" of the binary representative of the low bit and high bit, the process returns to analog values ​​in a predetermined detection time. この時、個々のビットはメモリセルのしきい値電圧に応じて異なるビット電圧を持つ可能性がある。 At this time, the individual bits which may have different bit voltage according to the threshold voltage of the memory cell. 例えば、より強く消去されたメモリセルはプリチャージされたビットライン電圧をより高速に放電して、さらに小さなビットライン電圧を持つことになるのに対して、さらに強くプログラムされたメモリセルは、放電を行わなくなるか、放電が少なくなる。 For example, stronger erased memory cell to discharge the bit line voltage pre-charged faster, whereas further will have a small bit line voltage, the more strongly programmed memory cell, the discharge whether or not carried out, the discharge is reduced. この放電されたビットライン電圧レベルの検知により、メモリセルがプログラムされる高速または低速の度合が直接測定される。 By the detection of the discharged bit line voltage level, high or low speed of the degree to which the memory cells are programmed it is measured directly. 読出し動作中に検知されたビットライン電圧に基づいて、後続のプログラムステップ中にビットラインに印加される新たな電圧を決定することが可能となる。 Based on the bit line voltage detected during a read operation, it is possible to determine a new voltage applied to the bit line during a subsequent program step.
例えば、図１９は、初期プログラムパルスの組の発生後の検証／読出し動作中のビットライン電圧Ｖｂｌ対時間をグラフ化したものである。 For example, Figure 19 is a graph of the bit line voltage Vbl versus time during the verify / read operation after the set of generation of the setup program pulses. この検証／読出し処理には、ビットラインのプリチャージするステップと、ワード線へのＶ＿ｃｋを印加するステップとが含まれる。 The verification / read process, the steps of precharging the bit lines includes applying a V_ck to the word line. 次いで、このビットラインにより或る時刻ｔ 0の間放電が可能となる。 Then, during discharging of the certain time t 0 it is made possible by the bit line. 時刻ｔ 0において、ビットラインの電圧が読み出され、この電圧を用いて、次のプログラムステップ中にビットラインへ印加される電圧が決定される。 At time t 0, the voltage of the bit line is read, using this voltage, the voltage applied to the bit line is determined in the next program step. 図１９は、６つの異なるスピードで６つの異なるセルプログラミングを表す６本の曲線を示し、曲線７６０は最も低速のプログラミングセルを表し、曲線７６２は最も高速のプログラミングセルを表す。 Figure 19 shows the six curves representing the six different cell programming at six different speeds, curve 760 represents the slowest programming cells, the curve 762 represents the fastest programming cells.
図２０は、スピードを検出し、ビットラインで検知されたアナログ電圧を用いて適宜ビットラインの調整を行うプロセスを記述するフローチャートである。 Figure 20 detects the speed, a flow chart describing a process for adjusting the appropriate bit line using the analog voltage detected by the bit line. 図２０のプロセスは、図１１の時点５５２で実行される。 The process of Figure 20 is performed at 552 in FIG. 11. ステップ７８０で、ビットラインはプリチャージされる。 In step 780, the bit lines are precharged. ステップ７８２で、電圧はセルのワード線に印加される。 In step 782, voltage is applied to the word line of the cell. 例えば、ワード線にＶ＿ｃｋを印加することができる。 For example, it is possible to apply V_ck the word line. ステップ７８４で、ビットラインは所定量の時間（例えばｔ 0まで）放電が可能となる。 In step 784, the bit lines are time (for example, up to t 0) of a predetermined amount discharge becomes possible. ステップ７８６で、ビットラインが読み出され、アナログ電圧値が検出される。 In step 786, the bit line is read, the analog voltage value is detected. ステップ７８８で、ステップ７８６で読み出されたビットライン電圧に基づいて、Ｖｂｎ（プログラム中にビットラインに印加された信号）が決定される。 In step 788, based on the bit line voltage read in step 786, Vbn (the signal applied to the bit line during the program) is determined. 一実施形態では、Ｖｂｎは、ステップ７８６で読み出されたビットライン電圧に等しくなる。 In one embodiment, Vbn will be equal to the bit line voltage read in step 786. 別の実施形態では、Ｖｂｎはステップ７８６で読み出された電圧の関数となる。 In another embodiment, Vbn is a function of the voltage read in step 786. デバイスを特性化したり、デバイスをシミュレートしたりすることにより定式化される数式に基づいてＶｂｎを計算することができる。 Or to characterize the device, it is possible to calculate the Vbn based on formulas that are formulated by to simulate the device. ステップ７９０で、Ｖｂｎの所定値に基づいてビットラインの調整が行われる。 In step 790, the adjustment of the bit lines is performed based on a predetermined value of Vbn.
ビットラインでの放電のベースとするメモリセルを特徴づけるというこのコンセプトは、本願に開示される他の実施形態と共に適用が可能である。 The concept of characterizing a memory cell to the base of discharge of a bit line is applicable with other embodiments disclosed herein. 例えば、複数グループにメモリセルが類別される実施形態では、ビットラインの放電を行うという上述のコンセプトに基づいて類別を行うことができる。 For example, in embodiments in which the memory cells into a plurality of groups are classified, it is possible to perform classification on the basis of the above concept to discharge the bit line.
振舞いを検出し、図２１〜図２４とに関連してプログラミングの調整を行う別の実施形態を示す。 Detecting a behavior, it shows another embodiment for adjusting the programming in connection with the FIGS. 21 24. 図２１〜図２４の実施形態では、第１のメモリセル（または別の小さな組のメモリセル）が目標しきい値電圧の範囲に達するまで、通常のようにメモリセルのプログラミングが行われる。 In the embodiment of FIGS. 21 24, to the first memory cell (or another small set of memory cells) reaches the range of the target threshold voltage, the programming of the memory cell is carried out as usual. その時点で、目標しきい値電圧の範囲に達していない他のメモリセルのすべてが特徴づけられて、高速プログラミングセルか低速プログラミングセルかのいずれかに分けられる。 At that point, all the other memory cells does not reach the range of the target threshold voltage is characterized, divided into either fast programming cells or slow programming cells. 高速プログラミングセルとみなされるセルはそのビットライン電圧が上げられる。 Cells are considered fast programming cell is raised is the bit line voltage. 低速プログラミングセルとみなされるセルはそのビットライン電圧が上げられることはない。 Cells are considered slow programming cells never raised its bit line voltage. この実施形態では、すべてのセルは、上昇した同一のプログラム電圧信号をワード線上に生じることになり、その結果、低速セルのプログラミングがスピードアップされる。 In this embodiment, all the cells, will be generated by the same program voltage signal rises to the word line, as a result, programming of the slow cells are sped up.
図２１は、同時の振舞いを説明するために１つの図に合成された３つのグラフが描かれた図である。 Figure 21 is a diagram of three graphs that are combined into a single diagram is drawn for explaining the simultaneous behavior. 例えば、図２１はプログラム電圧信号Ｖｐｇｍ８００を示し、このプログラム電圧信号Ｖｐｇｍ８００はメモリセルのコントロールゲートに印加される。 For example, Figure 21 shows a program voltage signal Vpgm800, the program voltage signal Vpgm800 is applied to the control gate of the memory cell. このプログラム電圧信号８００には、時間と共に振幅が増加する一連のパルスが含まれる。 The program voltage signal 800, includes a series of pulses whose amplitude increases with time. 信号８００は２組のパルス（Ｖｐｇｍ１とＶｐｇｍ２）に分けられる。 Signal 800 is divided into two sets of pulses (Vpgm1 and Vpgm2). Ｖｐｇｍ１の組のパルス内で、振幅は前回のパルスから０．２Ｖだけ増分する。 Vpgm1 set in a pulse of the amplitude is incremented by 0.2V from the previous pulse. Ｖｐｇｍ１での最期のパルスの振幅とＶｐｇｍ２での初期パルスの振幅間の振幅差は０．６Ｖである。 Amplitude difference between the amplitude of the initial pulse amplitude and Vpgm2 the last moment of pulses at a Vpgm1 is 0.6V. Ｖｐｇｍ２の組のパルス内で、パルスの振幅は、０．２Ｖだけ前回のパルスとは異なるものとなる。 In the set of pulses of Vpgm2, the amplitude of the pulse becomes different from the previous pulse by 0.2V. フラッシュメモリセルのすべては、セルのうちの１つが目標しきい値の範囲に達するまでＶｐｇｍ１からパルスを受け取り続ける。 All flash memory cell, one of the cells, but continue to receive pulses from Vpgm1 to reach the range of the target threshold. その時点で、コントロールゲートにおける電圧は０．６ボルト分ステップアップされ、Ｖｐｇｍ２の場合のようにパルスの発生が続くことになる。 At that time, the voltage is 0.6 volts partial step-up in the control gate, will be followed by generation of the pulse as in the case of Vpgm2.
プログラム電圧信号８００の下は、ビットライン電圧Ｖｂｌ対時間を描くグラフである。 Under the program voltage signal 800 is a graph that depicts the bit line voltage Vbl versus time. ビットライン電圧Ｖｂｌ対時間グラフの下は、しきい値電圧対時間を示すグラフである。 Under the bit line voltage Vbl versus time graph is a graph showing the threshold voltage versus time. このしきい値電圧対時間のグラフには３本の曲線（８０２，８０４，８０６）が描かれている。 3 curves (802, 804, 806) are depicted in the graph of the threshold voltage versus time. これら３本の曲線は、３つのメモリセルに対応する様々な時点におけるしきい値電圧のデータに関係する。 These three curves is related to data of the threshold voltage at various times corresponding to the three memory cells. 曲線８０２と対応するメモリセルはより高速なプログラミングメモリセルとなる。 Memory cell corresponding to the curve 802 becomes faster programming memory cell. 曲線８０６に対応するメモリセルはより低速なプログラミングメモリセルである。 Memory cell corresponding to the curve 806 is a slower programming memory cell. 曲線８０４に対応するメモリセルは、曲線８０２のメモリセルよりも低速にプログラミングを行い、曲線８０６のメモリセルよりも高速にプログラミングを行うメモリセルである。 Memory cell corresponding to curve 804, to program slower than the memory cell of curve 802 is a memory cell to be programmed faster than the memory cell of curve 806. 曲線８０２が空の正方形を用いて描かれ、曲線８０４が塗りつぶされ円を用いて描かれ、曲線８０６が塗りつぶされた正方形を用いて描かれていることに留意されたい。 Curve 802 is depicted with an empty square drawn with a circular curve 804 is filled, it is noted that depicted with square curve 806 is filled. 曲線８０２，８０４，８０６は、３個のメモリセルのしきい値電圧がプログラム電圧信号８００に応じて時間と共に変動することを示すものである。 Curve 802, 804, 806 is an indication that the threshold voltage of the three memory cells varies with time according to the program voltage signal 800. プログラム電圧信号８００から得られる個々の新たなパルスと共に３個のメモリセルのしきい値電圧は上昇する。 The threshold voltage of the three memory cells with each new pulse from the program voltage signal 800 rises.
Ｖｐｇｍ１の間、“第２ステップ検証レベル”としてグラフに示されている目標電圧と個々のメモリセルのしきい値電圧との比較が行われる。 During the Vpgm1, compared with the threshold voltage of the target voltage and the individual memory cells shown in the graph it is performed as "second step verify level". 第１のメモリセルが第２ステップ検証レベルに達すると、Ｖｐｇｍ１は終了する。 When the first memory cell reaches the second step verify level, Vpgm1 ends. 例えば、図２１は、時刻ｔ 1の直前にその目標とする第２ステップ検証レベルに達する曲線８０２に対応するメモリセルを示す図である。 For example, FIG. 21 is a diagram showing a memory cell corresponding to the second step to verify level reaches the curve 802 to the target just before the time t 1. したがって、時刻ｔ 1においてプログラム電圧信号は０，６Ｖだけステップアップされる。 Therefore, the program voltage signal at time t 1 is only stepped up 0,6V. さらに、第２ステップ検証レベルに達していないメモリセルの各々は、それらが高速プログラミングメモリセルか、より低速なプログラミングメモリセルかを判別するために検査される。 Further, each memory cell has not reached the second step verify level, they do fast programming memory cells are examined to determine slower programming memory cell. 一実施形態では、このメモリセルは、Ｖ＿ｃｋに対して図１２のメモリセルを検査する場合と同様の方法で検査される。 In one embodiment, the memory cell is examined in the same manner as in the case of inspecting the memory cell of FIG. 12 with respect Vck. １つの実施構成では、検査対象の当該メモリセルのしきい値電圧は、“第１ステップ検証レベル”として図２１に描かれているレベルと比較される。 In one implementation, the threshold voltage of the memory cell to be inspected is compared with the level depicted in Figure 21 as "first step verify level". このレベルは、一実施形態では、第２ステップ検証レベル未満の０．６Ｖである。 This level, in one embodiment, a 0.6V under the second step verify level. 第１ステップ検証レベル未満のしきい値電圧を持つ各メモリセルはより低速なプログラミングメモリセルとみなされる。 Each memory cell having a threshold voltage lower than the first step verify level is considered a slower programming memory cell. 第１ステップ検証レベル以上のしきい値電圧を持つ個々のメモリセルはより高速なプログラミングメモリセルとみなされる。 Individual memory cell having a first step verify level above the threshold voltage is considered to be faster programming memory cell. 上述したのとは別に、装置特性、その他の実験および／またはシミュレーションに基づいて異なる第１ステップ検証レベルの決定を行うことが可能である。 Apart from the aforementioned, it is possible to perform the determination of the different first step verify level based on the device characteristics, other experimental and / or simulation.
時刻ｔ 1で、目標しきい値電圧の範囲（例えば、第２ステップ検証レベルに対して検証された範囲など）に達したメモリセル（あるいは、複数セル）のビットライン電圧はＶｄｄまで上げられる。 At time t 1, the range of the target threshold voltage (e.g., ranges, etc. that are verified against the second step verify level) memory cell has been reached (or multiple cells) bit line voltage is raised to Vdd. これらは、ビットライン電圧Ｖｂｌ対時間を示すグラフに見ることができる。 These can be seen in the graph showing the bit line voltage Vbl versus time. このグラフには（曲線８０２に対応する）空の正方形を持つ曲線がＶｄｄまで上げられたビットライン電圧が示されている。 The chart has been shown (corresponding to the curve 802) bit line voltage raised curve with empty squares to Vdd. 目標しきい値電圧に達しなかったセルであり、検査されてより高速なプログラミングメモリセルとされたセルのうちで、当該セルのビットライン電圧が中間電圧（例えば、Ｖｂｎなど）まで上げられる。 A cell that has not reached the target threshold voltage, of the cells that are a faster programming memory cell being examined is raised bit line voltage of the cell to an intermediate voltage (for example, Vbn). 例えば、ビットライン電圧Ｖｂ１対時間を示すグラフは、曲線８０４（塗りつぶされた円を持つ）に対応するメモリセルのビットライン電圧が０．６ボルトまで上げられたことを示す。 For example, a graph showing the bit line voltage Vb1 versus time, the bit line voltage of the memory cell corresponding to the curve 804 (with filled circles) indicates that it has been raised to 0.6 volts. 検査の結果、より低速なプログラミングメモリセルとされたメモリセルのビットライン電圧は、曲線８０６に対応する正方形のボックスの曲線により描かれているように０ボルト（あるいは別の値）のままである。 Result of the test, more bit line voltage of the low-speed programming memory cells and memory cells, as depicted by the curve of the square box corresponding to the curve 806 remains at zero volts (or another value) . 次いで、プログラミングがＶｐｇｍ２で継続される。 Then, programming is continued in Vpgm2. いずれのメモリセルも第２ステップ検証レベルに達すると、そのビットラインはＶｄｄまで上げられる。 If none of the memory cell reaches the second step verify level, the bit line is raised to Vdd.
図２２は、下位の論理ページデータのメモリセルへの書き込み時におけるフラッシュメモリシステムの一実施形態の制御アルゴリズムについて記述するフローチャートである。 Figure 22 is a flow chart describing the control algorithm of one embodiment of a flash memory system during writing to the memory cell of the lower logical page data. 図９と関連する上述した２ステッププログラミング方法論に対して図２２の固有の方法が適合される。 Specific methods of Figure 22 is adapted for two-step programming methodology described above in connection with FIG. この場合、メモリセルは、２つの論理ページ（下位ページと上位ページ）に関連するデータを格納し、分布４６０は１１状態を表し、分布４６２は１０状態を表し、分布４６４は００状態を表し、分布４６６は０１状態を表す。 In this case, the memory cell stores the data associated with two logical pages (lower page and upper page), distribution 460 represents 11 state, distribution 462 represents 10 state, distribution 464 represents 00 state, distribution 466 represents the 01 state. さらに多くのビット、さらに多くのページ、異なる状態割当てなどを伴う他の実施形態も本発明の範囲内である。 More bits, more pages, other embodiments with such different state assignment also within the scope of the present invention. しきい値状態の割当てとプログラム方法論に対する別の変形例を適合するために、図２２のプロセスに対する様々な改変を行うことが可能である。 To adapt another modification of the assignment and program methodology threshold state, it is possible to make various modifications to the process of Figure 22. さらに、２ステッププログラミング方法論が用いられないシステムで図２１のコンセプトを実現することも可能である。 Furthermore, it is also possible to implement the concept of FIG. 21 in two-step programming methodology is not used the system.
ステップ８５０で、制御処理は、ホストからのデータ入力コマンドを受信するステップと、状態マシンで当該データ入力コマンドを送信するステップとから開始する。 In step 850, the control process begins receiving a data input command from the host, and sending the data input command in the state machine. ステップ８５２で、処理は、ホストからアドレスデータを受信するステップと、書込み動作に使用するページを選択するために状態マシンで当該アドレスデータを送信するステップへ進む。 In step 852, the process proceeds to the step of transmitting and receiving address data from the host, the address data in the state machine to select the page to be used for the write operation. ステップ８５４で、処理は、適切なページへ書き込みを行う対象データを受け取り、ＤＳ１の中に当該データを格納するステップへ進む。 In step 854, the process receives the target data to be written to the appropriate page, the process proceeds to the step of storing the data in the DS1. ステップ８５６で、処理は、ホストから送出される書込みコマンドを受信し、状態マシンで書込みコマンドを送信するステップへ進む。 In step 856, the process receives a write command sent from the host, the process proceeds to the step of sending a write command in the state machine. 一実施形態では、状態マシンで書込みコマンドを送信するとき、後続するステップの処理は状態マシンにより自動的に開始される。 In one embodiment, when sending a write command in the state machine is started automatically by the subsequent steps of the process state machine. ステップ８５８で、ＤＳ１からのデータはＤＳ２へコピーされる。 In step 858, the data from DS1 is copied to DS2. ステップ８６０で、プログラム電圧Ｖｐｇｍの初期値がセットされる（例えば、１２ボルトなど。但し、別の値も可能である）。 In step 860, the initial value of the program voltage Vpgm is set (for example, 12 volts. However, other values ​​are possible). さらに、プログラムカウンタ（ＰＣ）は０にセットされ、Ｐ２レジスタも０で初期化される。 Additionally, the program counter (PC) is set to 0, P2 register is also initialized at 0. 一実施形態では、Ｐ２レジスタは状態マシンの中にある。 In one embodiment, P2 register is in the state machine. 別の実施形態では、システムのコラム制御回路またはその他の構成要素の中にＰ２レジスタを配置することも可能である。 In another embodiment, it is also possible to arrange the P2 register into the column control circuit or other components of the system.
ステップ８６２で、ＤＳ１が０に等しく、かつ、ＤＳ２が０に等しいかどうかが判定される。 In step 862, DS1 is equal to 0, and whether DS2 is equal to 0 is determined. 等しければ、セルのビットラインは０ボルトにセットされる。 Equal, the bit line of the cell is set to 0 volts. ＤＳ１が０にセットされ、かつ、ＤＳ２が１にセットされていれば、ビットラインは０．６ボルトにセットされる。 DS1 is set to 0, and, DS2 is if set to 1, bit line is set to 0.6 volts. ＤＳ１が１にセットされていれば、セルのプログラミングを禁止するために、ビットラインはＶｄｄにセットされる。 If DS1 is set to 1, in order to inhibit programming of the cell, the bit line is set to Vdd. ステップ８６４で、プログラムステップが実行される。 In step 864, program step is executed. すなわち、プログラム電圧信号８００から１つのパルスが印加される。 That is, one pulse from the program voltage signal 800 is applied. ステップ８６８で、第２ステップ検証動作が状態１０に対して実行される。 In step 868, the second step verify operation is performed for the state 10. すなわち、上記プログラムされたセルは、第２ステップ検証レベルに対して検証されるが、この第２ステップ検証レベルはほとんどの実施形態で目標検証チェック値である。 That is, the programmed cell is being verified against the second step verify level, the second step verify level is the target validation check value in most embodiments. メモリセルが第２ステップ検証をパスすれば、ＤＳ１は１にセットされる。 If the memory cell passes the second step verification, DS1 is set to 1. ＤＳ１がすでに１であれば、ＤＳ１は１のままであることに留意されたい。 If the DS1 is already a 1, DS1 It should be noted that the remains of 1. ステップ８７０で、Ｐ２レジスタが０にセットされているかどうかが判定される。 In step 870, whether P2 register is set to 0 is determined. Ｐ２レジスタが０にセットされている場合、ステップ８７２で、ＤＳ１が１にセットされ、かつ、ＤＳ２が０にセットされているかどうかの判定が行われる。 If the P2 register is set to 0, in step 872, DS1 is set to 1, and, it is determined whether DS2 is set to 0 is performed. これは、メモリセルが第２ステップのプログラム検証をパスした場合である。 This is the case when the memory cell has passed program verify of the second step. そうであるならば、Ｐ２レジスタは１にセットされ、そうでなければ、レジスタＰ２は変更されない。 If so, P2 register is set to 1, otherwise, the register P2 is not changed. ステップ８７４で、Ｐ２がまだ０のままかどうかの判定が行われる。 In step 874, a determination is made as to whether remains of P2 is still 0 is carried out. ０のままであれば（これはメモリセルが第２ステップ検証にまだ達していない場合である）、ステップ８７６で、プログラム電圧信号が０．２ボルトだけ上げられる。 If remains 0 (which is the case where the memory cell has not yet reached the second step verification) in step 876, the program voltage signal is raised only 0.2 volts. ステップ８７８で、プログラムカウンタは１だけ増分される。 In step 878, the program counter is incremented by one. ステップ８８０で、プログラム対象のすべてのメモリセル用のＤＳ１レジスタが１にセットされているかどうかが判定される。 In step 880, DS1 registers for all the memory cells to be programmed is determined whether the set. １にセットされていれば、それはセルのすべてが適切にプログラムされ、プログラミング処理が完全であり、プログラミング処理が成功したことを意味する。 If it is set to 1, it all cells are properly programmed, the programming process is complete, which means that the programming operation was successful. すべてのＤＳ１レジスタが１にセットされていなければ、プログラムカウンタが２０未満であるかどうかがステップ８８２で決定される。 If all the DS1 register is set to 1, whether the program counter is less than 20 is determined in step 882. ２０未満の場合、処理はステップ８６２で続けられる。 If it is less than 20, processing continues at step 862. プログラムカウンタが２０以上ならば、プログラミング処理は失敗する。 If the program counter is 20 or more, the programming process will fail.
第１のメモリセルが第２ステップ検証をパスしたとき、当該メモリセルはそのＤＳ１レジスタを１にセットすることになる。 When the first memory cell passes the second step verification, the memory cell will set its DS1 register 1. したがって、ステップ８７２で、Ｐ２レジスタが１にセットされ、それによって（ステップ８７４で）図２２のプロセスにステップ８９４を実行させることになる。 Therefore, in step 872, P2 register is set to 1, will thereby (in step 874) thereby executing step 894 in the process of FIG. 22. ステップ８９４で、状態１０に対する第１ステッププログラム検証が実行される。 In step 894, the first step program verification for state 10 is performed. メモリセルがパスすれば、ＤＳ２は１にセットされる。 If the memory cell path, DS2 is set to 1. ステップ８９４は、メモリセルが高速プログラミングセルであるか、低速プログラミングセルであるかを判別するための検査である。 Step 894, whether the memory cell is a fast programming cell is a test to determine whether the slow programming cells. すなわち、メモリのしきい値電圧セルが第１ステップ検証レベルより大きければ、メモリセルは高速プログラミングメモリセルである。 That is, the threshold voltage cells of the memory is greater than the first step verify level, the memory cell is a fast programming memory cells. ＤＳ２がすでに１であれば、ＤＳ２は１のままである。 If DS2 is already a 1, DS2 remains 1. 第１ステッププログラム検証がパスしなかった場合、ＤＳ２は変更されない。 If the first step program verification does not pass, DS2 is not changed. ステップ８９４に後続して、プログラム電圧は、ステップ８９６で０．６ボルトだけ上げられる。 And following the step 894, the program voltage is raised by 0.6 volts at step 896. これは、図２１の時刻ｔ 1におけるステップサイズの増分に対応し、その結果、プログラム電圧信号はＶｐｇｍ１からＶｐｇｍ２へ移行する。 This corresponds to the increment step size at time t 1 in FIG. 21, as a result, the program voltage signal transitions from Vpgm1 to Vpgm2. ステップ８７８で、プログラムカウンタは１だけ増分される。 In step 878, the program counter is incremented by one. ステップ８８０で、メモリセルのＤＳ１レジスタのすべてが１にセットされることで証明されるように、メモリセルのすべてが適切にプログラムされたかどうかが判定される。 In Step 880, so that all DS1 register of the memory cells is demonstrated by being set to 1, whether all memory cells are properly programmed is determined. 適切にプログラムされていれば、プロセスは終了する。 If it is properly programmed, the process ends. 適切にプログラムされていなければ、プログラムカウンタが２０未満であるかどうかの判定が行われる。 If not properly programmed, the program counter is a determination whether or less than 20 is carried out. プログラムカウンタが２０以上であれば、プロセスは失敗する。 If the program counter is 20 or more, the process will fail. プログラムカウンタが２０未満であれば、ステップ８６２が実行される。 If the program counter is less than 20, step 862 is executed. メモリセルが第１ステッププログラムをパスした場合、そのＤＳ２レジスタは１にセットされ、メモリセルがより高速なプログラミングセルであるため、そのビットラインは０．６ボルトまで上げられる。 If the memory cell passes the first step program, the DS2 register is set to 1, since the memory cell is a faster programming cells, the bit lines are raised to 0.6 volts. セルがステップ８９４の第１ステッププログラム検証プロセスをパスしなかった場合、そのＤＳ１レジスタとＤＳ２レジスタとは双方ともそのまま０にセットされ、そのビットラインは適切な実施構成に基づいて０ボルトまたは他の何らかの低い値にセットされたままとなる。 If the cell does not pass the first step program verification process of step 894, both set directly to zero and its DS1 register and the DS2 register, the bit line on the basis of the proper implementation 0 volts or other It remains set to some low value.
図２２のプロセスは、状態１１から状態１０へメモリセルのプログラミングを行うためのものである。 The process of Figure 22 is for programming memory cells from state 11 to state 10. 図２３のプロセスは、状態１１から状態０１への、または、状態１０から状態００へのいずれかからメモリセルのプログラミングを行うためのものである。 The process of Figure 23 is from state 11 to state 01, or is intended for programming memory cells from either from state 10 to state 00. すなわち、図２２は、上位ページデータがメモリセルへ書き込まれる一実施形態の制御アルゴリズムについて記述するフローチャートである。 That is, FIG. 22 is a flow chart describing the control algorithm of one embodiment the upper page data is written into the memory cell.
ステップ９２０で、制御処理は、ホストからのデータ入力コマンドを受信するステップと、状態マシンで当該データ入力コマンドを送信するステップとから開始する。 In step 920, the control process begins receiving a data input command from the host, and sending the data input command in the state machine. ステップ９２２で、処理は、ホストからアドレスデータを受信するステップと、状態マシンで当該アドレスデータを送信するステップへ進む。 In step 922, the process proceeds to the step of transmitting and receiving address data from the host, the address data in the state machine. ステップ９２４で、書き込み対象データが受信され、ＤＳ１に格納される。 In step 924, the write target data is received and stored in DS1. ステップ９２６で、書込みコマンドがホストから受信され、状態マシンで送信され、この状態マシンにより（いくつかの実施形態では）後続するプロセスの開始が自動的にトリガーされる。 In step 926, a write command is received from the host is sent in a state machine, (in some embodiments) The state machine starts in the subsequent process is automatically triggered. ステップ９２８で、プログラムデータはＤＳ１からＤＳ２へコピーされる。 In step 928, the program data is copied from DS1 to DS2. ステップ９３０で、状態１０の読出し動作が実行される。 In step 930, the read operation of the state 10 is performed. すなわち、状態１１と１０との間に在る読出し比較ポイントを用いて読出し動作が実行され、メモリセルが状態１１にあるか、状態１０にあるかが判定される。 That is, the read operation using the read compare point located between the states 11 and 10 is executed, whether the memory cell is in state 11, or in the state 10 is determined. メモリセルが状態１０にあると判定された場合、当該メモリセル用ＤＳ３レジスタは１にセットされ、そうでない場合にはＤＳ３レジスタは０にセットされる。 If the memory cell is determined to be in state 10, DS3 register for that memory cell is set to 1, it is set DS3 register to 0 otherwise. ステップ９３２で、電圧プログラム信号Ｖｐｇｍは初期値１３ボルトにセットされる。 In step 932, the voltage program signal Vpgm is set to an initial value 13 volts. しかし、別の初期値電圧を使用することも可能である。 However, it is also possible to use a different initial value voltage. さらに、プログラムカウンタは初期値０にセットされ、Ｐ２レジスタは初期値０にセットされる。 Additionally, the program counter is set to an initial value 0, P2 register is set to an initial value 0.
ステップ９４０で、ＤＳ１レジスタとＤＳ２レジスタが双方とも０にセットされているかどうかの判定が行われる。 In step 940, a determination is made as to whether DS1 register and the DS2 register is set to 0 both performed. 双方とも０にセットされていれば、ビットラインもまた０にセットされる。 If set to both 0, it is set also to 0 bit lines. ＤＳ１レジスタが０にセットされ、かつ、ＤＳ２レジスタが１にセットされていれば、ビットラインは０．６ボルトにセットされる。 DS1 register is set to 0, and, DS2 register if set to 1, bit line is set to 0.6 volts. ＤＳ１レジスタが１に等しければ、ビットラインはＶｄｄにセットされ、このＶｄｄによりメモリセルのプログラミングは禁止される。 Equal DS1 register 1, the bit line is set to Vdd, the programming of the memory cells is inhibited by this Vdd. ステップ９４２で、プログラムステップが実行される。 In step 942, program step is executed. すなわち、１パルスがメモリセルのコントロールゲートへ出力される。 That is, one pulse is outputted to the control gate of the memory cell. ステップ９４４で、状態００に対する第２ステップ検証が実行される。 In step 944, the second step verification for state 00 is performed. すなわち、メモリセルのしきい値電圧は、状態００の目標検証ポイントと比較される。 That is, the threshold voltage of the memory cell is compared with a target verification point state 00. この検証プロセスにパスし、ＤＳ３レジスタが１にセットされれば、ＤＳ１レジスタは１にセットされる。 Passes this verification process, if DS3 register is set to 1, DS1 register is set to 1. ステップ９４６で、状態０１のプログラム検証が実行され、メモリセルが状態０１に達しているかどうかの判定が行われる。 In step 946, program verify state 01 is executed, whether the memory cell has reached the state 01 determination is made. 検証プロセスがパスし、ＤＳ３が０にセットされていれば、ＤＳ１レジスタは１にセットされる。 Verification process passes, if it is set to DS3 is 0, DS1 register is set to 1. ステップ９４８で、Ｐ２レジスタが０にセットされているかどうかが判定される。 In step 948, whether P2 register is set to 0 is determined. ０にセットされていれば、ステップ９５０で処理は続けられる。 0 if it is set, the processing in step 950 is continued. ステップ９５０で、ＤＳ１レジスタが１にセットされ、ＤＳ２レジスタが０にセットされているかどうかが判定される。 In step 950, DS1 register is set to 1, whether the DS2 register is set to 0 is determined. ０にセットされていれば、Ｐ２レジスタは１にセットされる。 0 if it is set, P2 register is set to 1. ステップ９５２で、Ｐ２レジスタが０にセットされているかどうかの判定が行われる。 In step 952, a determination is made as to whether P2 register is set to 0 is performed. ０にセットされていれば、ステップ９５４で処理は続けられ、その場合、プログラム電圧信号は０．２ボルトだけ増分される（次のステップ）。 0 if it is set, the processing in step 954 is continued, in which case, the program voltage signal is incremented by 0.2 volts (next step). ステップ９５６で、プログラムカウンタは１だけ増分される。 In step 956, the program counter is incremented by one. ステップ９５８で、プログラムされたメモリセルのすべてのＤＳ１レジスタが、１にセットされているかどうかの判定が行われる。 In step 958, all the DS1 registers for programmed memory cells, a determination whether it is set to 1 is performed. １にセットされていれば、プログラム処理は終了し、成功する（状態はパスに等しい）。 If it is set to 1, the program processing ends, successfully (status equals path). １にセットされていなければ、ステップ９６０で、プログラムカウンタが２０に達したかどうかが判定される。 If it is not set to 1, at step 960, whether the program counter has reached 20 or not. プログラムカウンタが２０に達していれば、プロセスは失敗する。 If the program counter has reached 20, the process will fail. プログラムカウンタが２０に達していなければ、ステップ９４０で処理は継続される。 If the program counter has not reached the 20, the processing in step 940 is continued.
以上説明したように、第１のセルがその目標しきい値電圧の範囲に達すると、Ｐ２レジスタはステップ９５０で１にセットされる。 As described above, the first cell reaches the range of the target threshold voltage, P2 register is set to 1 in step 950. その場合、ステップ９５２で、Ｐ２が０に等しくないことがプロセスにより判定されるため、図２３の方法がステップ９７４で継続される。 In that case, at step 952, it P2 is not equal to 0 to be determined by the process, the method of FIG. 23 continues at step 974. ステップ９７４で、状態１０に対する第１ステッププログラム検証検査が行われる。 In step 974, the first step program verification test for state 10 is performed. すなわち、状態１０の第１ステッププログラム検証レベルに対するメモリセルのしきい値電圧の検査が行われる。 That is, the inspection of the threshold voltage of the memory cell is performed on the first step program verification level state 10. 第１ステッププログラム検証プロセスにパスした場合、ＤＳ２は１にセットされる。 If you pass the first step program verification process, DS2 is set to 1. ＤＳ２がすでに１であれば、ＤＳ２は１のままとなる。 If DS2 is already a 1, DS2 is kept at 1. ステップ９７４の後、プログラム電圧はステップ９７６で０．６ボルトだけ増分される。 After step 974, the program voltage is incremented 0.6 volts at step 976. ステップ９７６は、図２１の時刻ｔ 1におけるＶｐｇｍ１とＶｐｇｍ２間でのステップサイズの増分に類似している。 Step 976 is similar to the incremental step size between Vpgm1 and Vpgm2 at time t 1 in FIG. 21. ステップ９７６でプログラム電圧のステップを上げた後、プログラムカウンタはステップ９５６で１だけ増分され、ステップ９５８で処理は継続される。 After raising the steps of the program voltage at step 976, the program counter is incremented by one at step 956, the processing in step 958 is continued.
図２４は、図２１〜図２３とに関連するいくつかの実施形態の値を示す例を描いた図である。 Figure 24 is a diagram depicting an example showing the values ​​of some embodiments relating to the 21-23. 図２１〜図２４の実施形態は、上述したコンセプトを利用し、このコンセプトと組み合わせて利用することができる。 The embodiment of FIGS. 21 24, it is possible to use the concept described above will be utilized in conjunction with this concept. この利用には本体効果を用いる複数グループへのメモリセルの類別と、ビットラインの放電とが含まれ、振舞いについてのさらにカスタマイズされた決定および／またはプログラミング処理のさらにカスタマイズされた調整が図られる。 Classification and memory cells to the plurality of groups using the body effect in use, contains the bit line discharge, further further customized adjusted customized determined and / or programming process for the behavior is achieved.
図１０，１３，１５，１８，２０，２２，２３のプロセスは、状態マシン３１６の指示により、または、状態マシン３１６の指示の時点で実行される傾向があることに留意されたい（図６を参照されたい）。 The process of FIG 10,13,15,18,20,22,23 response to an instruction from the state machine 316, or it should be noted that tend to be executed at the time of the indication of the state machine 316 (FIG. 6 see). しかし、別の実施形態では、制御装置３１８、別の専用回路構成、あるいは、フラッシュメモリシステムの別の構成要素によりこれらのプロセスの部分をすべて実行することが可能である。 However, in another embodiment, the control device 318, separate dedicated circuitry, or it is possible to perform all of these processes by a separate component of the flash memory system. 例えば、１つの実施構成では、図２０のステップ７８６，７８８，７９０は専用回路により実行される。 For example, in one implementation, step 786,788,790 in Figure 20 is performed by a dedicated circuit.
上述したコンセプトの別の可能な利用の仕方として、ビットの過剰プログラムの回避が挙げられる。 As way of another possible use of the concept described above include avoidance of excessive program bits. すなわち、プログラムパルスＶｐｇｍを図１に描かれているような状態のままにすることが可能である。 That is, it is possible to leave the state as depicted program pulse Vpgm in FIG. しかし、高速プログラミングメモリセルの低速化を図るために、高速プログラミングメモリセルはより高いビットライン電圧を受け取ることになる。 However, in order to slow the fast programming memory cells, fast programming memory cells will receive a higher bit line voltage. これによって、プログラム時間が短くなることはなく、高速プログラミングメモリセルを過剰プログラムから防ぐことが可能となる。 Thus, rather than the program time is reduced, it is possible to prevent the fast programming memory cells from over-program. 過剰プログラムビットの処理を行う従来の方法では、より多くのＥＣＣの使用や、プログラム電圧の低減が行われていた。 In the conventional method for processing excess program bits, the more use and the ECC, the reduction of the program voltage has been performed. より多くのＥＣＣとプログラム電圧の低減の双方により、プログラミング処理のスピードは低下する。 Both by reducing the more ECC and the program voltage, the speed of the programming process decreases. さらに、より多くのＥＣＣには、さらに多くのオンチップハードウェアを必要とする場合がある。 Furthermore, the more ECC, may require more on-chip hardware.
上述した諸例は、ＮＡＮＤ形フラッシュメモリと関連して示したものである。 The examples described above, illustrates in conjunction with NAND-type flash memory. しかし、本発明の原理は、現行のメモリ並びに開発中の新たな技術の利用が意図されるメモリを含む別のタイプのフラッシュメモリと別のタイプの不揮発性メモリにも適用される。 However, the principles of the present invention is also applicable to other types of flash memory and other types of non-volatile memory including memory usage of new technologies in the current memory and development are contemplated.
本発明についての上述の詳細な説明は、例示と説明とを目的として記載されたものである。 The foregoing detailed description of the present invention has been described for purposes of the illustration and description. 上述した説明は、開示される正確な形態を網羅したり、開示される正確な形態に本発明を限定したりすることを意図するものではない。 The foregoing description is or exhaustive precise form disclosed, not intended or to limit the invention to the precise form disclosed. 上述の教示を考慮して多くの改変と変更とを行うことが可能である。 It is possible to carry out the changes and many modifications in light of the above teachings. 本願記載の実施形態は、本発明の原理を最もよく説明するために選ばれたものであり、また、それによって当業者が本発明を実際に適用することが可能となり、種々の実施形態において、また、意図した特定の利用に適するように種々の改変を行うと共に本発明を最も好適に利用できるようにするためのものである。 Embodiments herein described are those chosen in order to best explain the principles of the present invention, also, whereby those skilled in the art it is possible to actually apply the present invention, in various embodiments, also, it is intended to allow most suitably utilize the present invention performs the intended various modifications specific to suit use was. 本発明の範囲は、本明細書に添付の請求項により定義される範囲とする。 The scope of the invention, the scope defined by the claims appended hereto.
例示のプログラミング処理中のワード線とビットラインにかかる信号を示す。 It shows such signal to the word line and the bit line in the exemplary programming process. メモリセルのサンプルの自然な電圧分布の一例を示す。 It shows an example of a natural voltage distribution of a sample of the memory cell. ＮＡＮＤ列の平面図である。 It is a plan view of the NAND string. ＮＡＮＤ列の等価回路図である。 It is an equivalent circuit diagram of the NAND string. ＮＡＮＤ列の横断面図である。 It is a cross-sectional view of the NAND string. 不揮発性メモリシステムの一実施形態のブロック図であり、このメモリシステムにおいて本発明の様々な態様が実現される。 Is a block diagram of an embodiment of a nonvolatile memory system, various aspects of the present invention in the memory system is implemented. メモリアレイの編成の一例を示す。 It shows an example of organization of the memory array. コラム制御回路の一部を示す。 Showing a part of the column control circuit. 多状態メモリセルのメモリセルしきい値分布を示す。 A memory cell threshold distribution of a multi-state memory cells. １以上のメモリセルの振舞いに基づいてプログラミング動作を適合させる或るプロセスの一実施形態を記述するフローチャートである。 It is a flowchart describing one embodiment of a certain process to adapt the programming operation on the basis of the behavior of one or more memory cells. 例示のプログラミング処理中のワード線とビットラインにかかる信号を示す。 It shows such signal to the word line and the bit line in the exemplary programming process. 第２の例示のプログラミング処理中のワード線とビットラインにかかる信号を示す。 It shows such signal to a second exemplary word lines and bit lines during the programming process. 消去後、および、１以上のプログラムパルスの発生後の電圧分布の例を示す。 After erasing, and shows an example of voltage distribution after the occurrence of one or more program pulses. １以上のメモリセルの振舞いを検出し、この検出された振舞いに基づいてプログラミングの調整を行う或るプロセスの一実施形態を記述するフローチャートである。 Detecting the behavior of one or more memory cells is a flowchart describing one embodiment of a certain process to adjust the programming based on the detected behavior. 消去後、および、１以上のプログラムパルスの発生後の電圧分布の例を示す。 After erasing, and shows an example of voltage distribution after the occurrence of one or more program pulses. １以上のメモリセルの振舞いを検出し、この検出された振舞いに基づいてプログラミングの調整を行う或るプロセスの一実施形態を記述するフローチャートである。 Detecting the behavior of one or more memory cells is a flowchart describing one embodiment of a certain process to adjust the programming based on the detected behavior. 消去後、および、１以上のプログラムパルスの発生後の電圧分布の例を示す。 After erasing, and shows an example of voltage distribution after the occurrence of one or more program pulses. ＮＡＮＤ列を示す。 Showing the NAND string. １以上のメモリセルの振舞いを検出し、この検出された振舞いに基づいてプログラミングの調整を行う或るプロセスの一実施形態を記述するフローチャートである。 Detecting the behavior of one or more memory cells is a flowchart describing one embodiment of a certain process to adjust the programming based on the detected behavior. ビットライン電圧（Ｖｂｌ）対時間を示すグラフである。 Is a graph showing the bit line voltage (Vbl) versus time. １以上のメモリセルの振舞いを検出し、この検出された振舞いに基づいてプログラミングの調整を行う或るプロセスの一実施形態を記述するフローチャートである。 Detecting the behavior of one or more memory cells is a flowchart describing one embodiment of a certain process to adjust the programming based on the detected behavior. １以上のメモリセルの振舞いを検出し、この検出された振舞いに基づいてプログラミングの調整を行う或るプロセスの別の実施形態を示す。 Detecting the behavior of one or more memory cells, showing another embodiment of a certain process to adjust the programming based on the detected behavior. 図２１の実施形態用として使用可能なプログラミング処理の一例を記述するフローチャートである。 Is a flowchart describing an example of a usable programming process for the embodiment of FIG. 21. 図２１の実施形態用として使用可能なプログラミング処理の一例を記述するフローチャートである。 Is a flowchart describing an example of a usable programming process for the embodiment of FIG. 21. 図２１〜図２３と関連づけられる種々の実施形態の値の例を示す。 An example of values ​​of various embodiments associated with FIGS. 21 23.
３０２ メモリセルアレイ３０４ コラム制御回路３０６ ロウ制御回路３０８ Ｐウェル制御回路３１０ ｃソース制御回路３１２ データＩ／Ｏ 302 memory cell array 304 column control circuit 306 row control circuit 308 P-well control circuit 310 c-source control circuit 312 the data I / O
３１４ コマンド回路３１６ 状態マシン３１８ コントローラ 314 commands circuit 316 state machine 318 controller
不揮発性メモリをプログラムする方法であって、 A method of programming a non-volatile memory,
１組の不揮発性記憶素子内の少なくともサブセットの不揮発性記憶素子のしきい値電圧が目標しきい値にまだ達していないと検証されている時点で、少なくとも１つの不揮発性記憶素子のしきい値電圧が目標しきい値に達したと検証されるまで、１組の不揮発性記憶素子用にプログラミングプロセスの最初の部分を実行するステップと、 When the set of the threshold voltage of at least a subset of the nonvolatile memory element in the nonvolatile memory in the device is verified as not yet reached the target threshold, the threshold of at least one non-volatile storage elements until the voltage is verified to have reached the target threshold, performing a first part of the programming process for a set of non-volatile storage elements,
前記少なくともサブセットの不揮発性記憶素子内の個々の不揮発性記憶素子を３またはそれ以上のグループのうちの１つに類別するように少なくとも第１および第２の検証電圧を用いて検証動作を実行するステップであって、しきい値電圧が第１のしきい値電圧よりも小さい前記不揮発性記憶素子の第１のグループ、しきい値電圧が第１のしきい値電圧と第２のしきい値電圧との間にある前記不揮発性記憶素子の第２のグループ、およびしきい値電圧が第２のしきい値電圧よりも大きい前記不揮発性記憶素子の第３のグループを含むものである、検証動作を実行するステップと、 Performing a verification operation using at least first and second verify voltage to categorized into one of the individual non-volatile memory 3 or more groups of elements in said at least a subset nonvolatile memory element a step, a first group, the threshold voltage is a first threshold voltage smaller the non-volatile storage elements than the threshold voltage is the first threshold voltage and second threshold said second group of nonvolatile storage elements that is between the voltages, and threshold voltage is to include a third group of said non-volatile storage element is greater than the second threshold voltage, verify operations and executing,
前記少なくともサブセットの不揮発性記憶素子用のプログラミングプロセスを完了するステップであって、それぞれが禁止ビットライン電圧よりも小さい少なくとも第１，第２，第３の異なったビットライン電圧を用いて前記不揮発性記憶素子の第１，第２，第３のグループのしきい値電圧を上げることを含むものである、プログラミングプロセスを完了するステップと、 Said at least a subset of the step of completing programming process for non-volatile storage element, at least a first respective smaller than inhibit bit line voltage, the second, the non-volatile using a third different bit line voltages first memory element, the second, is intended to include raising the threshold voltage of the third group, the step of completing programming process,
前記プログラミングプロセスの最初の部分を実行するステップが、前記１組の不揮発性記憶素子のコントロールゲートに共通のプログラム電圧信号の第１の部分を印加するステップを含み、 Performing a first part of the programming process comprises a step of applying a first part of the common program voltage signal to the control gates of said set of nonvolatile storage elements,
前記プログラミングプロセスを完了するステップが、前記１組の不揮発性記憶素子のコントロールゲートに前記共通のプログラム電圧信号の第２の部分を印加するステップを含む方法。 The method comprising step of completing said programming process, to apply a second portion of said common program voltage signal to the control gates of said set of nonvolatile storage elements.
個々のグループが、前記プログラミングプロセスの最初の部分中に類似するプログラミングスピードを有する不揮発性記憶素子を含む方法。 Individual groups, a method including a nonvolatile memory element having a programming speed similar during the first part of the programming process.
前記第３のビットライン電圧が前記第２のビットライン電圧よりも大きく、前記第２のビットライン電圧が前記第１のビットライン電圧よりも大きい方法。 The third bit line voltage is greater than said second bit line voltage, the second method the bit line voltage is greater than said first bit line voltage.
請求項４記載の方法において、 The method of claim 4, wherein,
前記共通のプログラム電圧信号の前記第１の部分が、第１のレートで上昇し、 Said first portion of said common program voltage signal, increases at a first rate,
前記共通のプログラム電圧信号の前記第２の部分が、前記第１のレートより上のレートで上昇する方法。 The second portion of the common program voltage signal, a method of increasing at a rate above said first rate.
前記プログラミングプロセスの最初の部分を実行するステップと前記プログラミングプロセスを完了するステップとが、前記１組の不揮発性記憶素子に共通のプログラム電圧信号を印加するステップを含む方法。 Method comprising the initial completing steps and the programming process to perform partial step applies a common program voltage signal to said set of nonvolatile storage elements step of the programming process.
前記プログラミングプロセスの最初の部分を実行するステップと前記プログラミングプロセスを完了するステップとが、前記１組の不揮発性記憶素子の個々の不揮発性記憶素子のコントロールゲートに共通のプログラム電圧信号を印加するステップを含む方法。 The step of the said complete the programming process steps and performing the first part of the programming process, applies a common program voltage signal to the control gate of each nonvolatile storage element of said set of nonvolatile storage elements the method comprising.
前記不揮発性記憶素子が、多状態記憶素子である方法。 The method nonvolatile storage element is a multi-state storage element.
不揮発性メモリをプログラムするシステムであって、 A system for programming a nonvolatile memory,
１組の不揮発性記憶素子と、 A set of non-volatile storage elements,
前記１組の不揮発性記憶素子と通信を行う制御ラインと、 A control line for communicating with said set of nonvolatile storage elements,
前記制御ラインと通信を行う制御回路であって、前記制御回路が、（ａ）１組の不揮発性記憶素子内の少なくともサブセットの不揮発性記憶素子のしきい値電圧が目標しきい値にまだ達していないと検証されている時点で、少なくとも１つの不揮発性記憶素子のしきい値電圧が目標しきい値に達したと検証されるまで、１組の不揮発性記憶素子用にプログラミングプロセスの最初の部分を実行し、（ｂ）前記少なくともサブセットの不揮発性記憶素子内の個々の不揮発性記憶素子を３またはそれ以上のグループのうちの１つに類別するように少なくとも第１および第２の検証電圧を用いて検証動作を実行し、しきい値電圧が第１のしきい値電圧よりも小さい前記不揮発性記憶素子の第１のグループ、しきい値電圧が第１のしきい値電圧と第２ A control circuit for communication with the control line, the control circuit, still reaches the threshold voltage of at least a subset of nonvolatile storage elements target threshold of (a) 1 set of non-volatile storage in the device when the non as being verified, until the threshold voltage of at least one non-volatile storage elements is verified to have reached the target threshold, the initial programming process for a set of non-volatile storage elements perform a partial, (b) said to classify at least a subset of the individual non-volatile memory element in the nonvolatile memory in the device in one of the three or more groups of at least first and second verify voltage to perform verify operations using a first group of smaller the non-volatile storage elements than the threshold voltage is the first threshold voltage, the threshold voltage is the first threshold voltage and the second しきい値電圧との間にある前記不揮発性記憶素子の第２のグループ、およびしきい値電圧が第２のしきい値電圧よりも大きい前記不揮発性記憶素子の第３のグループを含み、（ｃ）それぞれが禁止ビットライン電圧よりも小さい少なくとも第１，第２，第３の異なったビットライン電圧を用いて前記不揮発性記憶素子の第１，第２，第３のグループのしきい値電圧を上げることにより、前記少なくともサブセットの不揮発性記憶素子内の前記不揮発性記憶素子用のプログラミングプロセスを完了するようにした制御回路と、 Comprises a third group of the second group, and the threshold voltage is greater than the second threshold voltage the nonvolatile memory element of the nonvolatile memory element that is between the threshold voltage, ( c) small least first than each inhibit bit line voltage, the second, the first of said nonvolatile memory element using a third different bit line voltage, the second threshold voltage of the third group by raising and a control circuit so as to complete the programming process for the non-volatile storage elements of said at least the non-volatile storage element of a subset,
前記プログラミングプロセスの最初の部分を実行することが、前記１組の不揮発性記憶素子のコントロールゲートに共通のプログラム電圧信号の第１の部分を印加することを含み、 Performing a first part of the programming process includes applying a first portion of the common program voltage signal to the control gates of said set of nonvolatile storage elements,
前記プログラミングプロセスを完了することが、前記１組の不揮発性記憶素子のコントロールゲートに前記共通のプログラム電圧信号の第２の部分を印加することを含むシステム。 System comprising to complete the programming process, to apply a second portion of said common program voltage signal to the control gates of said set of nonvolatile storage elements.
請求項１０記載のシステムにおいて、 The system of claim 10,
個々のグループが、前記プログラミングプロセスの最初の部分中に類似するプログラミングスピードを有する不揮発性記憶素子を含むシステム。 System including individual groups, a non-volatile memory device having a programming speed similar during the first part of the programming process.
請求項１１記載のシステムおいて、 11. Keep system according,
前記第３のビットライン電圧が前記第２のビットライン電圧よりも大きく、前記第２のビットライン電圧が前記第１のビットライン電圧よりも大きいシステム。 The third bit larger than the line voltage and the second bit line voltage, the second system bit line voltage is greater than said first bit line voltage of the.
前記共通のプログラム電圧信号の前記第２の部分が、前記第１のレートより上のレートで上昇するシステム。 The second portion of the common program voltage signal rises at a rate above said first rate system.
前記プログラミングプロセスの最初の部分を実行することが、前記１組の不揮発性記憶素子に第１のレートで上昇する共通のプログラム電圧信号の第１の部分を印加することを含み、 Performing a first part of the programming process includes applying a first portion of the common program voltage signal that rises at a first rate to said set of nonvolatile storage elements,
前記プログラミングプロセスを完了することが、前記共通のプログラム電圧信号が前記第１のレートより上に上昇している間に、前記１組の不揮発性記憶素子に前記共通のプログラム電圧信号の第２の部分を印加することを含むシステム。 Wherein completing the programming process, while said common program voltage signal is rising above the first rate, the set of the common non-volatile memory element and the second program voltage signal system includes applying a portion.
前記不揮発性記憶素子が、多状態記憶素子であるシステム。 It said nonvolatile memory element is a multi-state storage element systems.
前記不揮発性記憶素子が、多状態ＮＡＮＤフラッシュメモリ素子であるシステム。 It said nonvolatile memory element is a multi-state NAND flash memory device system.
JP2004076471A 2003-10-20 2004-03-17 Programming based on the behavior of the non-volatile memory Active JP4646534B2 (en)
US10/689,333 US7177199B2 (en) 2003-10-20 2003-10-20 Behavior based programming of non-volatile memory
JP2005129194A JP2005129194A (en) 2005-05-19
JP4646534B2 true JP4646534B2 (en) 2011-03-09
ID=34521390
JP2004076471A Active JP4646534B2 (en) 2003-10-20 2004-03-17 Programming based on the behavior of the non-volatile memory
US (2) US7177199B2 (en)
EP (1) EP1678722B1 (en)
JP (1) JP4646534B2 (en)
KR (2) KR101161429B1 (en)
CN (1) CN1879175B (en)
AT (1) AT496373T (en)
DE (1) DE602004031139D1 (en)
TW (1) TWI262506B (en)
WO (1) WO2005043548A1 (en)
JP2005353171A (en) * 2004-06-10 2005-12-22 Solid State System Semiconductor memory device and its blank page retrieval method
KR100719368B1 (en) * 2005-06-27 2007-05-17 삼성전자주식회사 Apparatus and Method for Adaptive Incremental Step Pulse Programming in Flash Memory Device
AT521972T (en) * 2005-08-01 2011-09-15 Sandisk Corp Programming a non-volatile memory with self-regulating maximum program loop
TW200807421A (en) * 2006-06-26 2008-02-01 Sandisk Corp Method and system for programming non-volatile memory using variable amplitude programming pulses
JP2008130182A (en) * 2006-11-22 2008-06-05 Sharp Corp Nonvolatile semiconductor memory device
US7835189B2 (en) * 2007-03-16 2010-11-16 Spansion Llc High accuracy adaptive programming
KR100888844B1 (en) 2007-06-28 2009-03-17 삼성전자주식회사 Flash memory device capable of improving program performance and program method thereof
KR101401558B1 (en) 2007-08-20 2014-06-09 삼성전자주식회사 Flash memory device, program and erase methods thereof, and memory system and computer system including the same
WO2009053963A2 (en) * 2007-10-22 2009-04-30 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
WO2009133553A1 (en) * 2008-04-29 2009-11-05 Sandisk Il Ltd. Non-volatile multilevel memory with adaptive setting of reference voltage levels for program, verify and read
WO2009152037A2 (en) * 2008-06-12 2009-12-17 Sandisk Corporation Nonvolatile memory and method for correlated multiple pass programming
KR101468097B1 (en) 2008-09-18 2014-12-04 삼성전자주식회사 How memory device and its programming
KR101616099B1 (en) 2009-12-03 2016-04-27 삼성전자주식회사 Flash memory device and program method thereof
JP5550386B2 (en) * 2010-03-03 2014-07-16 株式会社東芝 Nonvolatile semiconductor memory device and memory system
KR101662276B1 (en) * 2010-03-09 2016-10-04 삼성전자주식회사 Non-volatile memory device and program and read methods thereof
US8563672B2 (en) * 2010-12-17 2013-10-22 E I Du Pont De Nemours And Company Process for producing fluorinated copolymers of (meth)acrylates and (meth)acrylic acid amine complexes
US8565025B2 (en) 2011-04-25 2013-10-22 Freescale Semiconductor, Inc. Dynamic programming for flash memory
KR20120126436A (en) * 2011-05-11 2012-11-21 에스케이하이닉스 주식회사 Semiconductor memory device and method of programming the semiconductor memory device
KR101939235B1 (en) * 2011-08-03 2019-01-17 삼성전자 주식회사 Non-volatile memory device and program method thereof
KR20130042780A (en) * 2011-10-19 2013-04-29 삼성전자주식회사 Nonvolatile memory device and operating method thereof
KR101942863B1 (en) * 2012-06-19 2019-01-28 삼성전자주식회사 Non-volatile memory device and program method thereof
KR20150029405A (en) * 2013-09-10 2015-03-18 에스케이하이닉스 주식회사 Semiconductor memory device and programming method thereof
US9490023B2 (en) * 2014-03-19 2016-11-08 Apple Inc. Mitigation of retention drift in charge-trap non-volatile memory
JP6282535B2 (en) * 2014-06-16 2018-02-21 東芝メモリ株式会社 Memory system and a control method
JP6394359B2 (en) * 2014-12-17 2018-09-26 富士通株式会社 Memory devices, diagnostic method of a storage device and storage device
US9269446B1 (en) * 2015-04-08 2016-02-23 Sandisk Technologies Inc. Methods to improve programming of slow cells
US9343156B1 (en) 2015-06-25 2016-05-17 Sandisk Technologies Inc. Balancing programming speeds of memory cells in a 3D stacked memory
US9711211B2 (en) * 2015-10-29 2017-07-18 Sandisk Technologies Llc Dynamic threshold voltage compaction for non-volatile memory
US9959932B1 (en) 2017-02-21 2018-05-01 Sandisk Technologies Llc Grouping memory cells into sub-blocks for program speed uniformity
US10134479B2 (en) 2017-04-21 2018-11-20 Sandisk Technologies Llc Non-volatile memory with reduced program speed variation
TWI638358B (en) * 2017-10-25 2018-10-11 旺宏電子股份有限公司 Memory device and operating method
JP2000113686A (en) * 1998-09-30 2000-04-21 Nec Ic Microcomput Syst Ltd Write method for nonvolatile semiconductor storage device and recording medium
JP2002025284A (en) * 2000-06-29 2002-01-25 Saifun Semiconductors Ltd Method for programming array having plural memory cells
JP2003196988A (en) * 2001-12-27 2003-07-11 Sandisk Corp Nonvolatile semiconductor memory
US3365624A (en) * 1966-08-10 1968-01-23 Automatic Valve Corp Valve control system
US3832123A (en) * 1972-11-15 1974-08-27 Kidde & Co Walter Burner control system
US3906294A (en) * 1973-07-02 1975-09-16 Webster Electric Co Inc Time delayed solenoid valve
US4325689A (en) * 1980-03-28 1982-04-20 Harold A. Teschendorf Automatic reset control for direct spark ignition systems
JPS5866718A (en) * 1981-10-16 1983-04-21 Toyotomi Kogyo Co Ltd Oil stove with safety device for power failure
JP3414587B2 (en) * 1996-06-06 2003-06-09 株式会社東芝 Nonvolatile semiconductor memory device
2003-10-20 US US10/689,333 patent/US7177199B2/en active Active
2004-03-17 JP JP2004076471A patent/JP4646534B2/en active Active
2004-10-12 DE DE200460031139 patent/DE602004031139D1/en active Active
2004-10-12 KR KR20067007560A patent/KR101161429B1/en active IP Right Grant
2004-10-12 CN CN 200480030734 patent/CN1879175B/en active IP Right Grant
2004-10-12 AT AT04795181T patent/AT496373T/en not_active IP Right Cessation
2004-10-12 EP EP20040795181 patent/EP1678722B1/en active Active
2004-10-12 WO PCT/US2004/033984 patent/WO2005043548A1/en active Application Filing
2004-10-12 KR KR20127009782A patent/KR101323843B1/en active IP Right Grant
2004-10-20 TW TW93131854A patent/TWI262506B/en active
2007-01-17 US US11/624,052 patent/US7633807B2/en active Active
US20070121383A1 (en) 2007-05-31
AT496373T (en) 2011-02-15
US20050083735A1 (en) 2005-04-21
JP2005129194A (en) 2005-05-19
TW200532694A (en) 2005-10-01
KR20060115996A (en) 2006-11-13
KR20120055733A (en) 2012-05-31
US7633807B2 (en) 2009-12-15
CN1879175A (en) 2006-12-13
WO2005043548A1 (en) 2005-05-12
DE602004031139D1 (en) 2011-03-03
CN1879175B (en) 2010-04-14
EP1678722B1 (en) 2011-01-19
KR101323843B1 (en) 2013-10-31
US7177199B2 (en) 2007-02-13
TWI262506B (en) 2006-09-21
EP1678722A1 (en) 2006-07-12
KR101161429B1 (en) 2012-07-02
KR100467410B1 (en) 2005-01-24 Non-volatile semiconductor memory device adapted to store a multi-valued data in a single memory cell
CN100550205C (en) 2009-10-14 Non-volatile memory system and method for programming of non-volatile memory
CN101095197B (en) 2010-05-12 NAND-eeprom with reduction of floating gate to floating gate coupling effect