CN100555460C - 半导体装置及写入方法 - Google Patents

半导体装置及写入方法 Download PDF

Info

Publication number
CN100555460C
CN100555460C CNB2004800440769A CN200480044076A CN100555460C CN 100555460 C CN100555460 C CN 100555460C CN B2004800440769 A CNB2004800440769 A CN B2004800440769A CN 200480044076 A CN200480044076 A CN 200480044076A CN 100555460 C CN100555460 C CN 100555460C
Authority
CN
China
Prior art keywords
circuit
signal
programming
checking
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2004800440769A
Other languages
English (en)
Other versions
CN101027728A (zh
Inventor
山田重和
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sbanson Japan Co Ltd
Spansion LLC
Original Assignee
Sbanson Japan Co Ltd
Spansion LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sbanson Japan Co Ltd, Spansion LLC filed Critical Sbanson Japan Co Ltd
Publication of CN101027728A publication Critical patent/CN101027728A/zh
Application granted granted Critical
Publication of CN100555460C publication Critical patent/CN100555460C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1096Write circuits, e.g. I/O line write drivers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/14Circuits or methods to write a page or sector of information simultaneously into a nonvolatile memory, typically a complete row or word line in flash memory

Landscapes

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

Abstract

一种半导体装置,包括:包含具有多个不同阈值的多级存储单元的存储单元阵列;用于锁存多字写入信息的第一锁存电路;根据所述多级存储单元的各个级别将所述多字输入信息转换为写入信息加以锁存的第二锁存电路;根据所述写入信息,以组为单位对应可同时编程的存储单元数将信息写入所述多级存储单元的写入电路;以及控制编程所述存储单元阵列的控制电路。将多字输入信息分为组后再以组为单位进行同时编程,有利于大大缩短以字为单位的编程周期。即使在编程多级存储单元中需要多次重复执行编程和验证操作,也不会增加编程周期。

Description

半导体装置及写入方法
技术领域
本发明涉及半导体及写入方法,尤其涉及具有多级存储单元(Multi-level Memory Cell)的半导体装置以及在该多级存储单元中写入数据的方法。
背景技术
半导体存储器分为易失性和非易失性两种,其中,易失性存储器在断电后会丢失信息,而非易失性存储器则在断电后仍保持其中的信息。目前典型的非易失性存储器是快闪存储器(Flash Memory),其通过一次擦除全部数据来缩短重写时间。
图1是编程快闪存储器的方块示意图,其中,该快闪存储器没有为其单级单元(Single Level Cell:SLC)提供写入缓存器。在该快闪存储器中对每个字(16比特)执行编程。如图1所示,快闪存储器1包括输入缓存器2、写入锁存电路3、写入电压施加电路4、存储单元阵列5、传感放大器电路6、比较电路7和控制电路8,其中,输入缓存器2用来保持用户写入数据,而写入锁存电路3则锁存来自输入缓存器2的用户写入数据。
写入电压施加电路4将数据写入对应写入数据的存储单元中。传感放大器电路6在验证期间从存储单元读出数据。比较电路7进一步将读出的数据与外部的写入数据进行比较。如果存储单元已充分编程,写入锁存电路3通过写入锁存电路3内的锁存反转写入数据并结束编程。反之,如果存储单元未充分编程,则写入锁存电路3继续编程。比较电路7判断所有的比特是否都已通过。如果所有的比特都已通过,则控制电路8控制下一级的编程操作。
此外,现有技术也披露了具有多级单元(Multi Level Cell:MLC)的快闪存储器。具有多级单元的产品类型包括四个阈值级别:第一级、第二级、第三级和第四级,且级数愈高,则要建立的阈值级别愈高。上述四级构成两种输出(或输入)数据。一般来说,在编程第四级数据时,写入方法在到达第四级前需先经过第一级至第三级。
专利文献1揭示了一种具有二进制数据寄存器的半导体存储装置,该二进制数据寄存器保持已输入的写入数据。此外,专利文献2揭示了具有数据锁存电路和传感锁存电路的半导体装置,其中,该数据锁存电路锁存来自外部的写入数据,该传感锁存电路锁存写入控制信息。
专利文献1:日本专利申请公开号特开平11-73790
专利文献2:日本专利申请公开号特开平11-232886
发明内容
本发明要解决的问题
由于编程多级存储单元时有超出级数的过编程顾虑,因此必须通过逐渐增加阈值电压Vth来执行编程。在上述编程方法中,需要多次重复编程和验证操作,从而延长了编程周期。而专利文献1和2所描述的装置无法解决该编程周期延长的问题。
为解决上述问题,本发明提供一种半导体装置,其可缩短以字为单位的编程周期,或者提供一种数据写入方法。
解决问题的手段
根据本发明的一个实施例所提供的半导体装置包括:第一锁存电路,用于锁存多字写入信息,其中,以多级存储单元的级数为单位将多字输入信息转换为多字写入信息;以及写入电路,与同时编程的存储单元数目对应的每个组中,分别将所述多个写入信息写入所述多及存储单元。本发明将多字输入信息划分组后再以组为单位进行编程,从而大大缩短了编程周期。即使在多级存储单元中需要重复编程和验证操作,也不会增加编程周期。
上述半导体装置可进一步包括第二锁存电路,其用来将所述多字输入信息转换为所述多字写入信息,并将该多字写入信息传送到所述第一锁存电路。根据本发明,多字输入信息可以转换为对应多级存储单元中各个级别的信息。
在半导体装置上,所述第一锁存电路可以所述组为单位将所述写入信息传送到所述写入电路。根据本发明,多字输入信息可在划分后的组的单位上同时编程。
在半导体装置上,所述第一锁存电路是由与所述第二锁存电路相同数量的电路所构成,并大于所述写入电路的电路数量。
上述半导体装置可进一步包括用来产生以组为单位进行验证和编程操作的指令信号的控制电路。根据本发明,通过以组为单位执行验证操作和编程操作,可大大缩短以字为单位的编程周期。上述半导体装置可进一步包括用来产生以多个组为单位重复执行验证和编程操作的信号的控制电路。与以组为单位的重复验证和编程操作相比,由于在多个组重复执行验证和编程操作,故可以多个组为单位重复执行验证和编程操作。
上述半导体装置可进一步包括判断电路,用于判断组验证是否通过,其中,所述控制电路会以所述判断电路的判断结果为单位,对于验证通过的组,产生用以通过后面的验证和编程的信号。根据本发明,可省略对不必要的组的验证和编程,因此可加速以字为单位的基本编程周期。
上述半导体装置可进一步包括控制电路,其产生信号以使一个组中未选择的字通过验证。本发明中,尽管验证数据是一个组中用户不可访问的字并从存储单元中读出,仍能使验证数据通过验证,故能大大缩短以字为单位的编程周期。
上述半导体装置可进一步包括控制电路,在对所述多级存储单元的给定级数充分编程后,产生进行下一个级数的写入的信号。本发明可将给定的级数编入多级存储单元。
根据本发明的另一实施例所提供的方法包括如下步骤:以多级存储单元的各级数为单位将多字输入信息转换为多字写入信息的步骤,以及在与可同时写入的存储单元数目对应的每一组中,将所述多自写入信息写入所述多及存储单元的步骤。本发明将多字输入信息分为组,并以组为单位进行信息编程,从而大大缩短了编程周期。即使必须在多级存储单元中重复执行编程和验证操作,也不会增加编程周期。
上述方法可进一步包括以组为单位重复执行验证和编程的步骤。本发明中,通过以组为单位执行验证操作和编程操作,可大大缩短以字为单位的编程周期。上述方法可进一步包括以多个组为单位重复执行验证及编程的步骤。与以组为单位重复执行验证和编程操作相比,可以多个组为单位重复执行验证和编程操作。
上述方法可进一步包括:判断对所述多级存储单元的给定级数的验证是否通过的判断步骤,以及以所述判断结果为单位,对通过验证的组将后面的验证和编程予以通过的步骤。本发明可省略对不必要的组的验证和编程,以加速以字为单位的基本编程周期。
上述方法可进一步包括:使所述组中未选择的字通过验证的步骤。本发明中,尽管验证数据是一个组中用户不可访问的字并从存储单元中读出,仍可使验证数据通过验证,以大大缩短以字为单位的编程周期。
上述半导体装置可进一步包括:对所述多级存储单元的给定级数充分编程后,控制电路产生进行下一个级数的编程操作的信号的步骤。本发明可将给定的级数写入多级存储单元。
发明的效果
本发明提供一种可缩短以字为单位的编程周期的半导体装置,或提供一种数据写入方法。
附图说明
图1为在传统的半导体装置中编程的方块示意图。
图2为根据本发明实施例在半导体装置中编程的方块示意图。
图3例示一种控制逻辑,其用于在控制电路18中产生各种写入缓存器的控制信号。
图4为本发明实施例的输入锁存电路示意图。
图5为多级存储单元的写入锁存电路的示意图。
图6为多级存储单元的写入电压施加电路示意图。
图7为多级存储单元的比较电路示意图。
图8为多级存储单元的写入控制方法概念示意图。
图9为16位字写入缓存器中四字组的增量计数器示意图。
图10为增量计数器的移位寄存器例示图。
图11为写入缓存器的整体操作时序图。
图12为操作中的第一时序图。
图13为操作中的第二时序图。
具体实施方式
下面参照图示详细描述本发明的优选实施方式。
图2是对半导体装置10进行写入操作的实施例示意图。如图2所示,半导体装置10包括输入缓存器2、输入锁存电路11、写入锁存电路13、写入电压施加电路14、存储单元阵列5、传感放大器电路6、比较电路17和控制电路18。下面描述两比特的多级存储单元。在两比特的多级存储单元中将第一级至第四级分别定义为(1,1)、(0,1)、(1,0)和(0,0),也就是两个输入和输出数据。
半导体装置10包括一个使用写入缓存器的多级存储单元写入电路。半导体装置10执行数据写入方法。该半导体装置10可以是仅仅封装例如快闪存储器等半导体装置的半导体存储装置,也可如系统LSI(大规模集成电路)作为半导体装置的一个部分而组入者。输入缓存器2保持有外部通过16个输入输出端口输入的一个字的输入数据。
输入锁存电路11锁存由外部通过输入缓存器2连续输入的多个字的输入数据信息。也就是说,输入锁存电路11锁存由(1,1)、(0,1)、(1,0)和(0,0)所构成的输入信息。输入锁存电路11构成为可用来锁存2比特数据。因此,需要8个输入锁存电路11来锁存16比特字长的数据。因此,要锁存16个字的数据,需要提供128(16×8=128)个输入锁存电路11。在本实施例中,输入锁存电路11是由与写入锁存电路13相同数量的电路所构成,并大于写入电压施加电路14的数量。本发明的写入缓存器由输入锁存电路11、写入锁存电路13和写入电压施加电路14构成。
输入锁存电路11在多字的输入数据中,将从奇数输入输出端口和一个偶数输入输出端口输入的数据当作一对来处理,根据多级存储单元的各个级别将多字的输入数据转换为多字的写入数据,并传送到写入锁存电路13。其中,上述各个级别包括第一级至第四级。多级存储单元可以是通过在浮栅存储不同数量的电子而存储四个信息,也可以由氮化物膜的电子陷阱层等代替浮栅。
写入锁存电路13锁存由输入锁存电路11传送的写入信息。写入锁存电路13将写入数据作为一个存储单元级别加以锁存。将一个16比特的字的数据转换为8个写入信息,将这些以16字分来锁存,必须提供16×8=128个写入锁存电路13。写入锁存电路13根据可同时编程的存储单元的数量来对写入缓存器保持的多字信息加以划分,并以组为单位连续传送到写入电压施加电路4。这里,写入锁存电路13将16个字划分为4组,每个组具有4个字,并以组为单位将写入数据连续传送到写入电压施加电路4。换句话说,写入锁存电路13加载4个字。
写入电压施加电路14于与可同时写入存储单元数目对应的组中,分别将写入锁存电路13所传送的写入信息多级存储单元。在多级存储单元的写入方法中,阈值Vth是逐渐增加的,因而不会消耗太多的写入电流,这样就有可能对更多的单元进行编程。写入缓存器可保持16个字的数据,而可编程的单元数量是32个,写入电压施加电路14所采用的方法是:对每个写入操作施加四次写入脉冲。这样,写入电压施加电路14在一组上同时编程32个单元。
存储单元阵列5包括具有多个不同阈值的多级存储单元晶体管的配置、字线、以及位线,且在每个存储单元晶体管中存储数据。数据由激活的字线指定的存储单元中读出,并读入位线。根据编程或擦除时的不同操作将字线和位线设置到适当的电位,可将电子射入至存储单元或从存储单元中提出。
传感放大器电路6将指定存储单元中数据的电流(由存储单元阵列施加)转换为电压并将读出数据传送到比较电路17和写入锁存电路13。比较电路17比较读出数据和写入数据,将比较结果传送到控制电路18。如果判断存储单元没有充分编程,写入电压施加电路14将再次编程存储单元;否则,如果已经在给定的级别上充分编程存储单元,写入电压施加电路14将反转内部写入数据并结束一个编程操作。比较电路17判断各组是否通过验证。
控制电路18接收外部控制信号,并且接收命令寄存器(未图示)的命令,作为状态机操作并控制半导体装置10的各个部分。具体而言,控制电路18控制对存储单元阵列5的编程操作。
如果已经在给定的级别上充分编程存储单元,控制电路18产生下一级写入控制信号并传送到输入锁存电路11。输入锁存电路11将已存储的多个字的输入数据转换为写入数据并将其传送到写入锁存电路13。控制电路18重复上述操作,并在用户写入数据完全对应存储单元数据时,结束全部编程操作。
下面接着描述控制电路18。图3是产生各种写入缓存器控制信号的控制逻辑示例。如图3所示,控制电路18包括电路81至85。电路81包括一个“与非”电路811。信号DLOADB和信号START经过电路81后产生信号START_PULSE。信号START_PULSE是一个短脉冲,在每个编程流开始的时候产生,并输入到写入锁存电路13。
电路82包括反相器821到823和一个“与非”电路824。信号START和信号MATCH1B经过电路82后产生信号DLOADB。在编程操作的初始阶段,信号DLOADB为低电平。在接收到信号DLOADB后,将用户输入数据从输入缓存器2传送到输入锁存电路11。
电路83包括一个NMOS晶体管831,一个PMOS晶体管832,一个“或非”电路833以及反相器834至837。地址信号ADDRESS(3:0)X和信号DLOADB经过电路83后产生信号SELB(k)和信号SELB_LATCHB(k)。这里k在0到15间变化,表示信号与16个字中的哪个字相关。为控制16个字的写入缓存器,需要提供16个电路83。根据地址信号ADDRESS(3:0)X,用户所选的字的信息被设置于由反相器835和836组成的锁存器中。这里,地址信号ADDRESS(3:0)X是一个由用户输入的字选择地址,表示地址ADDRESS(3:0)及其互补信号地址ADDRESS(3:0)B的全部组合(16种组合)。如果用户选择第k个字,则信号SELB_LATCHB(k)设为低电平。未被选择的字对应的SELB_LATCHB(k)为高电平。该信号用于控制验证数据通过验证并输入到比较电路17,尽管验证数据是用户在写入4个字的组时无法存取并自存储单元中读取。
信号SELB(k)是写入缓存器中的字解码信号,其根据字选择地址ADDRESS(3:0)选择一个字,并将所选的字设为低电平。在编程时,用户连续输入字地址和数据,且对应的信号SELB(n)变为低电平。写入数据连续存储在输入锁存电路11中。
电路84包括NMOS晶体管841、PMOS晶体管842、“或非”电路843,“与非”电路844,以及反相器845至847。信号START、信号PASS_ALL和信号PGM2ND经电路84后产生信号MATCH1B。当所有单元的验证通过后,信号PASS_ALL变为高。锁存在反相器845和846中的数据经由反相器847后作为信号MATCH1B输出。
电路85包括NMOS晶体管851、PMOS晶体管852、“或非”电路853,“与非”电路854,以及反相器855至857。信号START、信号PASS_ALL和信号PGM3ND经电路85后产生信号MATCH2B。锁存在反相器855和856中的数据经由反相器857后作为信号MATCH2B输出。信号MATCH1B和信号MATCH2B均输入到输入锁存电路11中。
下面描述输入锁存电路11。图4是输入锁存电路11的例示图。如图4所示,输入锁存电路11包括电路21至电路23。输入锁存电路11将两个输入数据转换为一个写入数据PLOADp。为锁存16个字的数据,必须提供128个输入锁存电路11。下面的描述中将PGM2ND定义为第1级到第2级的编程流,将PGM3RD定义为第2级到第3级的编程流,将PGM4TH定义为第3级到第4级的编程流。
在编程操作的初始阶段,信号DLOADB为低。在接收到信号DLOADB后,用户输入数据由输入缓存器2传送到输入锁存电路11。信号SELB(k)是写入缓存器中的字解码信号,由控制电路18传送。在16个字的缓存器中有16个信号SELB(k)。信号IN_EVENm和信号IN_ODDm随着输入缓存器2所传送的用户输入数据变化,其中,m在0到7之间变化。信号IN_EVENm和信号IN_ODDm都为高时表示第1级;信号IN_EVENm为低而信号IN_ODDm为高时表示第2级;信号IN_EVENm为高而信号IN_ODDm为低时表示第3级;信号IN_EVENm和信号IN_ODDm都为低时表示第4级。
当PGM2ND结束时信号MATCH1B变为低。当PGM3ND结束时,信号MATCH2B变为低。信号MATCH1B和信号MATCH2B由控制电路18提供。电路22包括NMOS晶体管221到223、PMOS晶体管224、“或非”电路225、以及反相器226到229。当信号RESETB为低、信号DLOADB和信号SELB(k)为低、信号DSEL为高时,用户输入数据作为信号IN_EVENm和IN_ODDm输入并锁存在由反相器226和227构成的锁存器中。反相器228产生信号DINa,反相器229产生信号DINaB。信号DINa和DINaB输入到反相电路21中。
电路23包括NMOS晶体管231到233、PMOS晶体管234、反相器235到238。当信号RESETB为低、信号DLOADB和信号SELBn为低、信号DSEL为高时,用户输入数据作为信号IN_EVENm和信号IN_ODDm输入,并锁存在由反相器235和236构成的锁存器中。反相器237产生信号DINb,反相器238产生信号DINbB。信号DINb和信号DINbB输入到反相电路21中。
反相电路21包括“与非”电路211到214。反相电路21将奇数输入输出端口和偶数输入输出端口的数据转化为一个写入数据PLOAD。当信号PLOAD为高时,在编程流中执行写入指令。信号MATCH1B和信号MATCH2B在PGM2ND中都为高,且(0,1)、(1,0)、(0,0)中的任一用户输入数据在信号PLOADp中都为高。在PGM3RD中,信号MATCH1B为低,信号MATCH2B为高,任意(1,0)、(0,0)的用户输入数据在信号PLOADp中为高。在PGM4TH中,信号MATCH1B为低,信号MATCH2B为低,任意(0,0)的用户输入数据在信号PLOADp为高。这样,在通过较低级的编程后执行较高级的编程。PLOADp以PLOAD(3:0)表示,每个PLOAD(n)包括32个信号,其数量等于可同时编程的存储单元数(例如,用于4个字的存储单元数)。
下面描述写入锁存电路13。图5是用于多级存储单元的写入锁存电路13示意图。如图5所示,每个写入锁存电路13都包括NMOS晶体管31、32,PMOS晶体管33到35,以及反相器36和37。为锁存16字的数据,必须提供128个写入锁存电路13。
写入锁存电路13将16个字分为4组,每个组包含4个字,将其连续传送到写入电压施加电路14。信号DATAx是传感放大器电路6施加的验证数据,在通过编程后变为低电平。信号SELECT(n)根据可同时编程的存储单元数目划分写入缓存器保持的多字信息。信号SELECT(n)由控制电路18提供。信号START_PULSE是一个短脉冲,在各个编程流开始时产生。信号PLOADp在各级编程操作开始时由输入锁存电路11传送。
当信号START_PULSE和信号PLOADp为高时,将写入数据置入由反相器36和37构成的锁存器。然后,输出PGMq为高,变为编程状态。这里,信号PGMq表示PGM(3:0)。各PGM(n)包括32个信号,其数量等于可同时编程的存储单元的数量(例如,用于四个字的存储单元)。如果传感放大器电路6判断存储单元已充分编程,写入锁存电路13接收低电平的验证数据DATAx。如果验证数据DATAx和信号SELECT(n)都为低,则反转由反相器36和37构成的锁存器中的写入数据,并结束一个编程操作。这样就不会对已通过验证的存储单元进行编程。
下面描述写入电压施加电路。图6是用于多级存储单元的写入电压施加电路14示意图。所提供的电路数目等于可同时编程的存储单元数(例如,四字的32个电路)。如图6所示,写入电压施加电路14包括反相器41到45、传输门46到49、NMOS晶体管50到52、以及PMOS晶体管53到55。NMOS晶体管50的栅极由信号RESET控制,NMOS晶体管51和52的栅极由电源电压VCC控制。
信号SELECT(3:0)根据可同时编程的存储单元数划分写入缓存器所保持的多字信息,并在编程或验证各组时变为高电平。信号SELECT(3:0)由控制电路18产生。信号PGM(3:0)是写入输入数据,由写入锁存电路13施加。信号PGM(3:0)由信号SELECTB(3:0)和信号SELECT(3:0)选择。低电平信号输入节点N1,用于电源供应的晶体管55开启,然后向所选择的存储单元提供编程脉冲PGMPULSEz。高电平信号输入到节点N1,用于电源供应的晶体管55关闭,此时不向存储单元提供编程脉冲PGMPULSEz。
下面接着描述比较电路17。图7是用于多级存储单元的比较电路17示意图。通过输入锁存电路11施加的信号PLOAD(3:0)、写入锁存电路13施加的信号PGM(3:0)以及传感放大器电路6施加的验证数据DATAx的输入,输入比较电路17判断每个验证的通过/失败。信号SELECT(3:0)根据可同时编程的存储单元数划分写入缓存器中的字数。信号SELB_LATCHB(k)强制使验证数据通过验证,即使验证数据是用户在四字编程组中无法存取并由存储单元读出。
比较电路17包括电路71到75。电路71包括一个反相器711。传感放大器电路6所施加的验证数据DATAx经过反相器711后产生数据DATAB,并输入到电路73的传输门734和735。电路72包括“与非”电路721到725。信号SELECT(n)与信号SELB_LATCHB(k)在“与非”电路721到724中执行“与非”操作后的结果进一步在“与非”电路725中作“与非”操作,从而产生信号FMATCH(w)。这里的w表示各组中字的编号,在0到3之间变化。电路72是一个简化电路,例如,信号FMATCH(0)通过信号SELB_LATCHB(0)、SELB_LATCHB(4)、SELB_LATCHB(8)、SELB_LATCHB(12)产生。同样,信号FMATCH(1)通过信号SELB_LATCHB(1)、SELB_LATCHB(5)、SELB_LATCHB(9)、SELB_LATCHB(13)产生。
例如,如果用户存取第0个和第1个字,则SELB_LATCHB(0)和SELB_LATCHB(1)都为低,编程第0组(SELECT(0)为高),FMATCH(0)和FMATCH(1)都为低,FMATCH(2)和FMATCH(3)都为高。如果用户存取第2和第3个字,则晶体管736的栅极信号总为低,并且不管自存储单元读出的验证数据,都会控制该栅极信号通过验证,从而使组中未选择的字通过验证。如同编程一样同时执行32个单元的验证,相应必须控制上述的强制通过操作。
电路74包括PMOS晶体管741和传输门742到745。通过信号SELECTB(3:0)和SELECT(3:0)来选择写入锁存电路13所施加的信号PGM(3:0),并输出信号DVLOG。信号DVLOG输入到电路73的“或非”电路732中。电路75包括PMOS晶体管751和传输门752到755。通过信号SELECTB(3:0)和SELECT(3:0)来选择由输入锁存电路11施加的信号PLOAD(3:0),并输出信号PLDATA。信号PLDATA输入到电路73的反相器731中。
电路73包括反相器731、“或非”电路732和733、传输门734和735、以及NMOS晶体管736。
信号FMATCH(w)和信号DVLOG在“或非”电路732中作“或非”操作后的结果,以及信号FMATCH(w)和信号PLDATA经反相器731反相后在“或非”电路733中作“或非”操作后的结果都由信号DATAx和信号DATAB选择。所选择的信号控制NMOS晶体管736的栅极,并输出信号MATCHX到控制电路18。这样,比较电路17比较验证期间读出的数据和写入数据,并输出比较结果,即信号MATCHX。电路73是“线或”(wired-or)电路,具有32个点化线所框的部分,且这些部分都连接到端口MATCHX。即使有一个未通过验证,信号MATCHX都变为低,从而再次执行编程操作。如果所有的比特都已通过验证,信号MATCHX变为高。在接收到信号MATCHX后,控制电路18产生信号以使已经通过验证的组通过随后的验证和编程。
图8显示写入多级存储单元的控制方法。图8中具有传感放大器电路6、写入锁存电路13a到13d,写入电压施加电路14、比较电路17、以及控制电路18。由于具有32个可同时编程的存储单元,因而提供了32个传感放大器电路6,32个写入锁存电路13a到13d,32个写入电压施加电路14,32个比较电路17。如果四次将写入脉冲施加于四个组,则根据解码(SELECT(n))从四个写入锁存电路13a至13d选择写入信号PGM(n),并将写入脉冲连续施加于存储单元。
通过该架构,写入锁存电路13a将16字分割成四组的第一组写入数据传送到写入电压施加电路14。写入电压施加电路14根据写入锁存电路13a施加的写入数据PGM(0)将数据写入存储单元。接着,写入锁存电路13b将第二组写入数据传送到写入电压施加电路14。写入电压施加电路14根据写入锁存电路13b施加的写入数据PGM(1)将数据写入存储单元。写入锁存电路13c将第三组写入数据传送到写入电压施加电路14。写入电压施加电路14根据写入锁存电路13c施加的写入数据PGM(2)将数据写入存储单元。写入锁存电路13d将第四组写入数据传送到写入电压施加电路14。写入电压施加电路14根据写入锁存电路13d施加的写入数据PGM(3)将数据写入存储单元。对应每个组可同时编程32个存储单元。
图9显示本发明特点之一的16字的写入缓存器中一个四字组的增量计数器。在图9中,17为比较电路,18为控制电路,91为移位寄存器。图10为增量计数器中所使用的移位寄存器示例。如图10所示,移位寄存器91包括NMOS晶体管911到913、PMOS晶体管914、以及反相器915到918。
通过将前一电路的OUTPUT信号施加到信号INPUT上,信号SELECT(3:0)得以连续增加。信号CLK依据图8中所示的控制电路18所施加的8个控制信号进行计时。当信号CLK为高时输入信号INPUT,在反相器915和916构成的锁存器中设置数据。当信号CLKB为高时,将反相器915和916构成的锁存器中设置的数据设置在反相器917和918构成的锁存器中。
再次参照图9,在收到比较电路17判断的通过/失败信号(MATCHX)后,控制电路18产生各种控制信号施加于计数器。一般而言,信号SELECT连续增加为0-1-2-3。这里,第2组通过下一验证時,信号SELECT(2)变为通过(低),信号SELECT在随后的验证和编程中增加为1-2-4。这次,信号SELECT(3)中的移位寄存器的输入不是2-3而是1-3。
另外,第1组通过下一验证,信号SELECT(1)變为通过(低),信号SELECT在随后的验证和编程中增加为0-3。这次,信号SELECT(3)中的移位寄存器的输入不是1-3而是0-3。进而第0组通过下一验证,信号SELECT(0)变为(低),只有第4组在下一验证和编程中执行,且移位寄存器不增加。
这样,在给定组的验证通过后,控制电路18产生信号以使已通过验证的组通过随后的验证和编程,这样就可以取省略不必要的4个字组的验证和编程,从而加速每个字的基本写入速度。这里,信号4pulse表示全部4个组必须验证和编程的指令;信号3pulse表示只有3个组需要验证和编程的指令。通过结合上述控制信号和表示四字组已通过验证的信号,可实现上述增量计数器。
下面接着描述写入缓存器的整体操作。图11是写入缓存器的整体操作时序图。在编程操作的初始阶段信号DLOADB变为低,用户输入数据由输入锁存电路11传送到输入缓存器2。信号MATCH1B和信号MATCH2B都为高,PGM2ND在任一用户输入数据(0,1)、(1,0)、(0,0)上执行。在PGM2ND中通过所有单元的验证后,信号PASS_ALL(MATCHX)变为高,信号MATCH1B变为低。
信号MATCH1B为低且信号MATCH2B为高,PGM3RD在任一用户输入数据(1,0)、(0,0)上执行。在PGM3RD中通过所有单元的验证后,信号PASS_ALL变为高,信号MATCH2B变为低。信号MATCH1B和MATCH2B都为低,PGM4TH在用户输入数据(0,0)上执行。完成PGM4TH时,脉冲DONE变为高,结束流程。
图12是验证全部组的时序图。在PGM2ND中在多组单位上交替执行验证和编程。控制电路18连续增加信号SELECT(3:0)以验证每个组。控制电路18连续增加信号SELECT(3:0),在写入电压施加电路14中针对各组产生写入脉冲PGMPULSE(3:0),并将数据写入存储单元。在多组单位上按给定的次数重复验证和编程。
在PGM2ND中通过全部单元的验证,信号PASS_ALL变为高,转入PGM3RD。这里,根据信号4pulse,对全部的4个组都执行验证和编程。
图13是只考虑已通过验证的组的时序图。在PGM2ND中以多个组为单位交替执行验证和编程。控制电路18连续增加信号SELECT(3:0)并验证各组。控制电路18连续增加信号SELECT(3:0),在写入电压施加电路4中针对各组产生写入脉冲PGMPULSE(3:0),并将数据写入存储单元中。
一般而言,信号SELECT连续增加为0-1-2-3。这里,如果第1组通过第一个验证,则将信号SELECT(1)设为通过(低),信号SELECT在随后的验证和编程中增加为0-2-3。这次,信号SELECT(2)的移位寄存器a1的输入是0-2而不是1-2。更进一步,如果第3组通过验证,则将信号SELECT(3)设为通过(低),在随后的验证和编程中信号SELECT增加为0-2。
这样,在第一个验证中由信号4pulse验证全部四组。如果第1组通过第一个验证,在接着的验证和编程中由信号3pulse验证和编程剩余三个组。如果第3组通过随后的验证,在接着的验证和编程中由信号2pulse验证编程剩余两组。
通过使用本电路,可以省略对四字组进行不必要的验证和编程,从而加速以字为单位的基本编程速度。
与本实施例相应,也可提供采用特定的多级存储器写入方法的写入缓存器,以大大缩短以字为单位的写入周期。写入锁存电路13、输入锁存电路11、写入电压施加电路14以及比较电路17分别对应权利要求中的第一锁存电路、第二锁存电路、写入电路、以及判断电路。
尽管本发明描述了多个优选实施例,本领域的技术人员可在不背离本发明原则和精神下对这些实施例作变更,而其范围由权利要求及其等同物所定义。上述实施例中例示了2比特的多级存储单元,但本发明并不仅限于此。

Claims (16)

1.一种半导体装置,包括:
第一锁存电路,用于锁存多字写入信息,其中,以多级存储单元的各级数为单位将多字输入信息转换为多字写入信息;以及
写入电路,在与可同时写入的存储单元数目对应的组中,分别将所述多字写入信息写入至所述多级存储单元。
2.如权利要求1所述的半导体装置,进一步包括第二锁存电路,其用来将所述多字输入信息转换为所述多字写入信息,并将该多字写入信息传送到所述第一锁存电路。
3.如权利要求1或2所述的半导体装置,其中,所述第一锁存电路以所述组为单位将所述多字写入信息传送到所述写入电路。
4.如权利要求1所述的半导体装置,其中,所述第一锁存电路由与所述第二锁存电路相同电路数量的电路所构成,并且大于所述写入电路的电路数量。
5.如权利要求4所述的半导体装置,进一步包括用来产生以组为单位进行验证和编程操作的信号的控制电路。
6.如权利要求4所述的半导体装置,进一步包括用来产生以多组为单位重复执行验证和编程操作的信号的控制电路。
7.如权利要求5或6所述的半导体装置,进一步包括判断电路,用于判断预定的组验证是否通过,并根据所述判断电路的判断结果,对于已通过验证的组,产生用以通过后面的验证和编程的信号。
8.如权利要求5或6所述的半导体装置,其中该控制电路产生用以将所述组中未选择的字通过验证的信号。
9.如权利要求5或6所述的半导体装置,其中,在所述多级存储单元的给定级数充分编程后,该控制电路进行下一个级数的编程操作。
10.如权利要求1或2所述的半导体装置,其中,所述半导体装置是半导体存储装置。
11.一种写入方法,包括如下步骤:
以多级存储单元的各级数为单位将多字输入信息转为多字写入信息的步骤;以及
在与可同时写入的存储单元数目对应的组中,分别将所述多字写入信息写入至所述多级存储单元的步骤。
12.如权利要求11所述的写入方法,进一步包括在比较电路中以组为单位重复执行验证和编程的步骤。
13.如权利要求11所述的写入方法,进一步包括在比较电路中以多组为单位重复执行验证和编程的步骤。
14.如权利要求11至13中任意一个权利要求所述的写入方法,进一步包括如下步骤:
在比较电路中判断所述多级存储单元的给定级数的验证是否通过的判断步骤;以及
根据所述判断结果,针对通过验证的组予以通过后面的验证和编程的步骤。
15.如权利要求11至13中任意一个权利要求所述的写入方法,进一步包括:在比较电路中对组中未选择的字通过验证的步骤。
16.如权利要求11至13中任意一个权利要求所述的写入方法,进一步包括:在所述多级存储单元的给定级数充分编程后,在比较电路中产生用以进行下一个级数的编程操作的信号。
CNB2004800440769A 2004-07-30 2004-07-30 半导体装置及写入方法 Expired - Fee Related CN100555460C (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2004/010914 WO2006011222A1 (ja) 2004-07-30 2004-07-30 半導体装置および書き込み方法

Publications (2)

Publication Number Publication Date
CN101027728A CN101027728A (zh) 2007-08-29
CN100555460C true CN100555460C (zh) 2009-10-28

Family

ID=35785982

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800440769A Expired - Fee Related CN100555460C (zh) 2004-07-30 2004-07-30 半导体装置及写入方法

Country Status (7)

Country Link
US (1) US7227778B2 (zh)
JP (1) JP4750034B2 (zh)
KR (1) KR101092012B1 (zh)
CN (1) CN100555460C (zh)
DE (1) DE112004002927B4 (zh)
GB (1) GB2431026B (zh)
WO (1) WO2006011222A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2468051B (en) * 2005-01-27 2011-02-09 Spansion Llc Semiconductor device,address assignment method and verify method
JP4944763B2 (ja) * 2005-01-27 2012-06-06 スパンション エルエルシー 半導体装置、アドレス割り付け方法及びベリファイ方法
US7751242B2 (en) * 2005-08-30 2010-07-06 Micron Technology, Inc. NAND memory device and programming methods
US7609559B2 (en) * 2007-01-12 2009-10-27 Micron Technology, Inc. Word line drivers having a low pass filter circuit in non-volatile memory device
KR100885912B1 (ko) * 2007-01-23 2009-02-26 삼성전자주식회사 기입된 데이터 값에 기초하여 데이터를 선택적으로검증하는 데이터 검증 방법 및 반도체 메모리 장치
JP5292052B2 (ja) * 2008-10-21 2013-09-18 力晶科技股▲ふん▼有限公司 不揮発性半導体記憶装置とその書き込み方法
KR20110110106A (ko) * 2008-12-09 2011-10-06 램버스 인코포레이티드 병행 및 파이프라인화 메모리 동작을 위한 비휘발성 메모리 디바이스
JP2011014195A (ja) * 2009-07-02 2011-01-20 Toshiba Corp フラッシュメモリ
US9007843B2 (en) * 2011-12-02 2015-04-14 Cypress Semiconductor Corporation Internal data compare for memory verification
KR20140076128A (ko) * 2012-12-12 2014-06-20 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 동작 방법과, 이를 포함하는 데이터 처리 시스템
US9653180B1 (en) * 2016-05-26 2017-05-16 Sandisk Technologies Llc System method and apparatus for screening a memory system

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3226677B2 (ja) * 1993-09-21 2001-11-05 株式会社東芝 不揮発性半導体記憶装置
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
JP3170437B2 (ja) * 1995-09-20 2001-05-28 株式会社日立製作所 不揮発性半導体多値記憶装置
US5870335A (en) * 1997-03-06 1999-02-09 Agate Semiconductor, Inc. Precision programming of nonvolatile memory cells
JP3883687B2 (ja) * 1998-02-16 2007-02-21 株式会社ルネサステクノロジ 半導体装置、メモリカード及びデータ処理システム
JP3905979B2 (ja) * 1998-06-03 2007-04-18 株式会社東芝 不揮発性半導体メモリ
JP3800466B2 (ja) 1998-06-29 2006-07-26 株式会社ルネサステクノロジ 半導体記憶装置
JPH1173789A (ja) * 1998-06-29 1999-03-16 Hitachi Ltd 半導体不揮発性メモリ
US6091631A (en) * 1998-07-01 2000-07-18 Advanced Micro Devices, Inc. Program/verify technique for multi-level flash cells enabling different threshold levels to be simultaneously programmed
JP2000251484A (ja) * 1999-02-26 2000-09-14 Sony Corp 不揮発性半導体記憶装置
IT1313197B1 (it) * 1999-07-22 2002-06-17 St Microelectronics Srl Metodo per la memorizzazione di byte in celle di memoria non volatilimultilivello.
JP2001357682A (ja) * 2000-06-12 2001-12-26 Sony Corp メモリシステムおよびそのプログラム方法
JP3942342B2 (ja) * 2000-06-30 2007-07-11 富士通株式会社 多値データを記録する不揮発性メモリ
US6771536B2 (en) * 2002-02-27 2004-08-03 Sandisk Corporation Operating techniques for reducing program and read disturbs of a non-volatile memory
JP4170682B2 (ja) * 2002-06-18 2008-10-22 株式会社東芝 不揮発性半導体メモリ装置
US6847550B2 (en) * 2002-10-25 2005-01-25 Nexflash Technologies, Inc. Nonvolatile semiconductor memory having three-level memory cells and program and read mapping circuits therefor
JP3935139B2 (ja) * 2002-11-29 2007-06-20 株式会社東芝 半導体記憶装置
JP3920768B2 (ja) * 2002-12-26 2007-05-30 株式会社東芝 不揮発性半導体メモリ

Also Published As

Publication number Publication date
GB0701433D0 (en) 2007-03-07
WO2006011222A8 (ja) 2006-03-16
CN101027728A (zh) 2007-08-29
US7227778B2 (en) 2007-06-05
DE112004002927B4 (de) 2011-07-21
GB2431026A (en) 2007-04-11
KR101092012B1 (ko) 2011-12-09
JP4750034B2 (ja) 2011-08-17
JPWO2006011222A1 (ja) 2008-05-01
DE112004002927T5 (de) 2008-03-20
WO2006011222A1 (ja) 2006-02-02
GB2431026B (en) 2008-05-07
US20060176742A1 (en) 2006-08-10
KR20070042538A (ko) 2007-04-23

Similar Documents

Publication Publication Date Title
US7227778B2 (en) Semiconductor device and writing method
JP4813175B2 (ja) フラッシュメモリ装置におけるプログラム動作の制御方法
JP4977843B2 (ja) 面積が減少したページバッファ回路とその読み出し及びプログラム動作方法
KR100589928B1 (ko) 다중 레벨 데이터를 저장하는 비휘발성 메모리
US6462986B1 (en) Integrated circuit for storage and retrieval of multiple digital bits per nonvolatile memory cell
KR100990541B1 (ko) 파이프라인 메모리 판독 및 기록 방법
US7095657B2 (en) Nonvolatile semiconductor memory device capable of realizing optimized erasing operation in a memory array
CN101071641B (zh) 非易失存储装置及其操作方法
CN100479062C (zh) 页缓冲器电路、快闪存储器器件及其编程操作方法
EP1326257A2 (en) Pipelined programming for a NAND type flash memory
KR100923821B1 (ko) 불휘발성 메모리 장치의 페이지 버퍼 및 그 프로그램 방법
JP2001014873A (ja) 不揮発性半導体記憶装置
JP2009070539A (ja) 不揮発性メモリ装置及びそのマルチレベルセルプログラム方法
KR100908518B1 (ko) 멀티 레벨 셀의 프로그램 방법
US7855915B2 (en) Nonvolatile semiconductor storage device capable of high-speed writing
KR100592743B1 (ko) 비휘발성 반도체 기억 장치
KR101003935B1 (ko) 불휘발성 메모리 소자의 페이지 버퍼 회로 및 그 동작 방법
KR100933860B1 (ko) 불휘발성 메모리 장치의 멀티 레벨 셀 프로그램 방법
JP4724692B2 (ja) 高速プログラム型のmlcメモリ
JPH09251787A (ja) 不揮発性半導体記憶装置
KR20090026710A (ko) 불휘발성 메모리 장치 및 그 멀티 레벨 셀 프로그램 방법
US6259626B1 (en) Method for storing bytes in multi-level non-volatile memory cells
JPH10112196A (ja) 不揮発性半導体記憶装置
KR100195272B1 (ko) 다수상태 불휘발성 메모리에서의 프로그램 인터럽트장치및그방법
KR20080076022A (ko) 불휘발성 메모리 장치 및 그 테스트 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091028

CF01 Termination of patent right due to non-payment of annual fee