多级闪存的部分页编程 【技术领域】
本发明的具体实施例关于快闪电可擦除可编程只读存储器半导体装置。更具体地说,本发明的具体实施例提供一方法和装置,以用于多级闪存装置的部分页编程编程。
背景技术
闪存是一种具有许多理想特性的半导体计算装置内存。就像只读存储器(ROM),它是非易失性的,也就是说内存的内容是稳定的,并且在没有施加电源时仍能保持。
闪存优于ROM之处在于闪存的内存内容可在装置制造之后改变。不过,闪存一般无法以比得上随机存取内存(RAM)的速率来写入或编程。再者,闪存一般在改变其内容之前,必须整体性地或者以称为页的大块来擦除。
闪存已类型被多种类型地计算装置广泛接受,包括台式机、移动电话以及手提电脑。闪存同样广泛地使用于数码相机以及便携式数字音乐播放器,例如“MP3”播放器。
除了例如在摄影机中的直接闪存应用之外,基于闪存的储存装置在许多应用中取代称为硬盘驱动器的旋转式磁盘。相较于硬盘驱动器,闪存则明显地更具有保护性、更安静、更低功耗,而就某些密度来说,这种以闪存为基础的装置则可能更小于同等的硬盘驱动器。
如先前所讨论的,闪存页一般必须在可能将新数据储存于该页之前予以擦除。擦除一页时间较长,通常以数百毫秒来测量。这是比较RAM与硬式磁盘驱动器而言的一个缺点,它们可以不用擦除就直接地写入。
为了缓和此缺点,一些闪存装置能够进行部分页编程。部分页编程是一种技术,藉此一页闪存的某些内容可能无需擦除即可更新。通常,闪存的一单元被描述为处于擦除状态或编程状态。编程或擦除状态可赋予二进制值0,而另一个状态则赋予二进制值1。
假定擦除状态赋予二进制值1的话,部分页编程一般允许编程页中1的情形改变成0的值,而无需中间擦除过程。一般来说,编程成0值的单元不能改变成1值。从0到1的单元的改变通常需要页或块的擦除过程。
上述应用以及其它,不论在装置的总数量上或总位数上均促使闪存装置的需求大增。目前由许多闪存制造商所开发的先进技术是在闪存装置的每个单元中存储多个位。例如,假如闪存装置的电路可分辨出每个单元用的三个储存级,那么每两个单元可储存三位的信息,这样使得相同内存单元区域增加50%的储存空间。假如该单元可储存四级的话,那么将使该装置的存储密度加倍。此技术与能力一般称为多级单元或MLC。
由于MLC所提供的高阶密度增加,这些设计对制造商与消费者极具吸引力。由于不增加成本开销而能制造许多更多位的闪存使得制造商从中受益,而消费者则享受到较小的产品物理尺寸以及明显的位成本降低。
不幸地,部分页编程在现有的MLC装置中已经无效,使得MLC闪存在许多应用中不太具吸引力。
因此,需要一种用于多级单元闪存装置的部分页编程的方法与装置。部分页编程将带给多级单元闪存装置许多优点。
【发明内容】
因此,非常需要提供一种用于多级单元闪存的部分页编程的方法与系统。进一步需要一种将新信息与先前储存在多级闪存装置的信息合并的方法。
本发明揭示了一种用于多级单元闪存的部分页编程的方法与装置。在一多级单元闪存中,可以存取新的部分页编程信息。可以存取先前储存在内存中的信息。新的与先前的信息可以结合在闪存装置的页缓冲器中。新与先前的信息可视需要结合在闪存装置外部的存储器中。所结合的信息可用于编程闪存单元。标准的编程与确认方法可以用来将合并的信息编程到闪存单元中。以此新方法,部分页编程的优点得以实施,以用于多级单元闪存装置。
附图说明:
图1为根据本发明一具体实施例,一多级单元闪存单元的显示图。
图2为根据本发明一具体实施例,一多级单元闪存单元的稳定阈值电压分布图。
图3显示了各级映射到二位二进制值的表格。
图4A、4B与4C显示根据本发明具体实施例可进行的部分页编程转变。
图5为根据本发明一具体实施例,用于多级单元闪存的部分页编程的方法的流程图。
图6为一计算机系统的方块图,它可以用作一平台,以实施本发明的具体实施例。
【具体实施方式】
在本发明多级闪存的部分页编程的以下详细说明中,将提出各种具体的细节,以提供本发明的彻底了解。不过,对于本领域技术人员来说,本发明可不需要这些具体细节或其等同物而实施。在其它的情形中,公知方法、步骤、组件与电路未作详细说明,以免使本发明的各方面不明显。
多级闪存的部分页编程:
本发明的具体实施例以半导体闪存为背景来说明。不过,令人理解的是,本发明可以应用于其它类型的内存装置,在此它可根据需要更新一中间状态的内容。
图1显示根据本发明一具体实施例而设计的多级单元闪存单元100。多级单元闪存装置可由许多这种单元,连同除了读取、擦除以及编程电路之外的地址电路所组成。
多级单元闪存单元100可由栅极130、源极120与漏极110组成。绝缘体140与160可由氧化物材料组成。浮动栅极150可用于储存电荷。
浮动栅极150的阈值电压可由来自浮动栅极150的电子的注入或移除所调整。假如栅极电压大于阈值电压的话,该单元可能传导大于1微安的电流,并且称为处于擦除状态。假如栅极电压小于临界电压的话,该单元可能传导小于1微安的电流,并称为处于编程状态。
单元100的结构特征在于四个相对窄范围的阈值电压可被储存,更重要的是,可在稍后决定。这种能力使得一个单元内可存储多个位值。因为单元100可储存四个范围,所以这些范围可以代表两个位,或者四个状态。
图2为根据本发明一具体实施例而设计的多级单元闪存单元的稳定阈值电压的分布图200。垂直轴是电荷载体的数目,水平轴是电荷载体的电压。
分布240可代表电压阈值大于1.6伏特的电荷分布。分布230可代表电压阈值大于0.8伏特但却小于1.6伏特的电荷分布。分布220可代表电压阈值大于0.0伏特,但却小于0.8伏特的电荷分布。分布210可代表电压临界值小于0伏特的电荷分布。
在多级单元闪存单元100上的读取操作期间内,检测出浮动栅极1 50上大于1.6伏特的阈值电压,被解释为二进制值“00.”。在0.8伏特与1.6伏特之间的电压阈值则被解释为“01.”。在0伏特与0.8伏特之间的电压阈值则被解释为“10.”。小于0伏特的电压则被解释为“擦除”,并且被指定二进制值“11.”。应该理解的是,将特定二进制值赋给特定电荷分布状态是可选择的,而且其它可能的关系能极好地适用于本发明具体实施例。
图3显示各级映射到二位二进制值的表格300。根据本发明一具体实施例,Q2与Q1代表位值。例如,将该擦除状态赋二进制值“11”。应该理解的是,将特定二进制值赋给特定级是可选择的,而且Q1与Q2可能交换,而且其它可能的关系能极好地适用于本发明的具体实施例。
图4A显示根据本发明一具体实施例,擦除状态的可允许编程转变。转变405代表将二进制值“10”储存到单元100。参考图2,转变405代表在浮动栅极150的电荷分布从区域210到区域220的改变,或者电压阈值的增加。相同地,转变410代表将二进制值“01”储存到单元100。再度参考图2,转变410代表在浮动栅极150的电荷分布从区域210到区域230的改变,或者电压阈值的增加。最后,转变420代表将二进制值“00”储存到单元100。再度参考图2,转变420代表在浮动栅极150的电荷分布从区域210到区域240的改变,或者电压阈值的增加。重要的是,这三种描述出来的转变405、410以及420,都增加电压阈值。
多级单元闪存装置的特征在于使用者一般注意不到这种编码。一般将数据以常用数据宽度的并行方式,典型地为8或16位宽,传送给一闪存装置。重要地,使用者基本上不会具体说明那个位被指定为“Q1”或“Q2”。因此,就多级单元闪存装置的部分页编程来说,对使用者限制类似于对公知部分页编程闪存装置的使用者限制,也就是每单元储存单一位的闪存装置。
该限制一般描述为“一数据位可能仅在一方向中改变。”。为了在此的实例,该方向已经选择出来以允许由“1”到“0”的位转变。应该理解的是,其它公知的转变能很好地适用于本发明的具体实施例。
图4B显示根据本发明一具体实施例,零级状态的可允许转变。转变430代表将单元100的值从“10”改变到“00”。参考图2,转变430可代表在浮动栅极150的电荷分布从区域220至区域240的改变,或者电压阈值的增加。重要的是,该转变符合仅在一方向中改变位的规则。重要的是,转变430增加电压临界值。
图4C显示根据本发明一具体实施例而设计的来自第一层状态的可允许转变。转变440代表将单元100的值从“01”改变到“00”。更加参考图2,可能见到的是,转变440得代表在浮动栅极150的电荷分布中,从区域230到区域240的改变,或者电压临界值的增加。重要的是,此转变符合一位仅于一方向改变的规则。重要的是,转变440增加了电压阈值。
另一转变(未显示)有可能在单元级上,对应于将单元100值从“10”改变到“01”。此一转变将对应将电荷分布从区域220改变到区域230。这一转变确实对应电压阈值的增加。不过,可能看到,因为两个位都发生改变,而且一个在不允许方向上改变,所以这一转变将破坏“一位,一方向”规则。因此,为了保护使用者免于将哪个位模式映射到哪个级的管理复杂性,在装置级上不允许这种转变。
重要的是,该转变的不允许维持与单一位每单元部分页编程闪存装置的向后兼容。此外,而且同样重要地,此转变的不允许能够前向兼容每单元可能储存超过两位的闪存装置。任何给定的多位转变可能在具有每单元较高位数或甚至具有不同编码的未来多级单元装置中不再有效。例如,假如将该编码反向,以致使“00”代表最高阈值电压的话,那么“10”至“01”的转变将不可能。
再次参考图2,单元100的编程过程可以看作添加电荷到浮动栅极150。公知的编程添加足够的电荷到擦除状态,以产生希望的阈值电压。换句话说,参考图4A,各转变405、410或者420表示添加固定数量的电荷到单元100。即使两转变产生相同的电荷状态(级2),转变440(图4C)很大程度上不同于转变420(图4A)。
往回参考图2,转变420必须添加足够的电荷到浮动栅极150,以将阈值电压从区域210移动到240。不过,为了完成转变440,必须将实质上较少的电荷加入,只有从区域230移动到区域240所必须的电荷量。结果,即使所希望的终端状态可能相同,多级单元闪存单元的部分页编程必须区分这两种编程。
图5显示根据本发明一具体实施例,在一多级单元闪存装置中,用于编程一部分页的方法500的流程图。
在步骤510中,新的部分页信息可被存取。基本上,该信息被发送到闪存装置上的数据引脚。应该理解的是,包括例如串行比特流的其它公知的数据发送方法可很好地适用于本发明的具体实施例。
在选择式步骤520的步骤中,一页闪存的现有编程状态可被存取。根据本发明的具体实施例,这可以是闪存装置内部的读取操作,而且该页内容可从一页的闪存单元读入一页缓冲器,该页缓冲器可为随机存取存储器。应该理解的是,读取一页内存内容的其它公知方法,包括来自外部微处理器的明确读取指令,能很好地适用于本发明的具体实施例。
在选择式步骤530中,新部分页信息可与一页闪存的现有编程状态相结合,以产生新的编程信息。
在步骤540中,新的编程信息编程入一页闪存单元。应该理解的是,公知的闪存编程方法,包括确认步骤,可很好地适用于本发明的具体实施例。
以此新方法,一页多级单元闪存可以部分地编程,而无需一介于其间的擦除步骤。
根据本发明的具体实施例,以下的表1说明新的部分页编程信息与已有的编程信息相结合以在多级单元闪存单元中产生编程与确认用的新信息。
表1 新数据 以前储存的数据 结合以被编程 0 0 1 1 0 1 0 1 0 0 0 1
表1的最左行代表要被编程的可能数据位。此“新数据”一般发送到闪存装置的数据总线上。表1的中间行代表先前已经存入诸如单元100的闪存单元的一可能的数据位。
应该理解的是,就诸如单元100的一多级单元而言,表1中的位并不代表先前所描述的级,例如图3相关的,但却代表个别位。例如,一般将数据以位的并行集合从闪存读出以及写入,通常为8或16位宽。表1的列对应该并行集合的单一位。
表1根据本发明的具体实施例,说明新的部分页编程信息与已有的编程信息相结合以在多级单元闪存单元中产生编程与确认用的新信息。如上所述(见图2与图4所讨论的),只允许某些部分页编程转变。表1说明了这些转变。
表1的第一行代表新数据,例如并行位集合的位7,作为部分页编程操作的一部分被编程。在这种情况下,如第1行的第1列所示,位7是0。如第1行的第2列所示,对应到位7的多级单元的储存内容为0。应该理解的是,如图2以及图4A到图4C所示,该单元的这些储存内容可能代表Q1或Q2。
第1行的第3列显示新数据与先前储存数据的结合将造成该特定位的值为0。根据本发明一具体实施例,该新数值可被编程及/或确认为Q1或Q2,Q1或Q2在多级单元中定义一储存级。应该理解的是,例如位7对应于一特定位的Q1的习惯应符合表1的使用。
此新数据可能结合以类似方式而决定的另一数据位,例如并行位集合的数据位6,以形成对应储存级的多位字段。
再次参考表1,新部分页数据位与先前储存的位的所有结合相结合以形成新编程/确认位值0,除了最后行所有位均为1之外。也就是说,假如新部分编程位是1,而且储存的位是1的话,那么该新编程位同样是1。
做为一实例,参考图4B以及表1,令一并行位集合的位6对应Q1,一并行位集合的位7对应Q2。假定该值10(Q2,Q1)事先已储存到多级单元内,例如单元100。进一步假定部分页编程单元100为数值00是可行的。
从表1的第2行可以看到,就位7,Q2而言,新部分页位0与储存值1的结合应产生新的编程/确认值0。同样地,从表1的第1行可以看到,就位7,Q1而言,新部分页位0与储存值0的结合应产生新的编程/确认值0。结合Q2以及Q1,这对应图4B的从10至00的转变430。
应该理解的是,根据本发明具体实施例,表1可能以逻辑AND(和)电路或产生这种对应(例如查找表)的其它公知方法来实施。
表1的优选实施例可能以半导体闪存装置内的预先充电页缓冲寄存器来实施。当预先充电到“1”时,此一电路可能仅在估算或读取期间内放电,直到下一读取周期才能复位到“1”。
图6为计算系统600的方框图,该系统可作为实施本发明的具体实施例的平台。计算系统600包括用于通信的一地址/数据总线650,与该总线相连以处理信息和指令的一中央处理器605,与总线650相连以储存中央处理器605用的信息与指令的一易失性内存615(例如,随机存取存储器RAM),以及可选择地与总线650相连以储存处理器605用的静态信息与指令的一非易失性内存610(例如,只读存储器ROM)。计算系统600同样可选择地包括一可改变的非易失性内存620(例如,闪存),用来储存在系统600制造之后更新的中央处理器605用的信息与指令。
图6的计算系统600同样包括可选择的文字数字输入装置630。装置630可将信息与指令选择传达到中央处理器600。装置630可能采取数字触控板的形式。
应用计算系统600的可选择的显示单元625可为一液晶显示(LCD)装置、阴极射线管(CRT)、场发射装置(FED,同样称为平板CRT)、发光二极管(LED)、等离子显示装置(Plasma display device)、电致发光显示(electro-luminescent display)、电子纸或者适合产生用户可辨识的图像与文字数字符号的其它显示装置。
计算系统600同样可选择地包括与总线650相连的一扩充接口635。扩充接口635可实施许多公知的标准扩充接口,包括但不限于安全数字卡接口(secure digital card interface)、通用串行总线(USB)接口、CompactFlash存储卡、个人计算机(PC)卡接口、CardBus总线、外围设备互连(PCI)接口、迷你PCI接口、IEEE1394、小型计算机系统接口(SCSI)、个人计算机存储卡国际协会(PCMCIA)接口、工业标准结构(ISA)接口或者RS-232接口。应该理解的是,外部接口635还可与其它公知或私有的接口相接口,譬如在商业上可获的索尼公司的记忆棒(Memory Stick interface)。
在本发明的一具体实施例中,扩充接口635可能由实质兼容总线650的信号的信号组成。
多种公知扩展装置可通过扩展接口635连接到计算系统600。此装置的实例包括,但不限于旋转式磁性存储装置、闪存装置、数字照相机、无线通信模块、数字音频播放器以及全球定位系统装置。
系统600同样可选择地包括通信端口640。通信端口640可能用以作为部分的扩展接口635。当它用作单独接口时,通信端口640一般通过面向通信的数据传输协议用于与其它装置交换信息。通信端口的实例包括,但不受限于RS-232端口、通用异步收发器(UARTs)、通用串行总线(USB)端口、红外光收发器、以太网端口、IEEE1394以及同步端口。
系统600可选择地包括射频模块660,该射频模块可能实现行动电话、寻呼机或数字数据连接。射频模块660可通过通信端口640或扩展接口635与总线650直接相连。
在此揭示了用于多级闪存的部分页编程的系统与方法的发明的优选具体实施例。虽然本发明已经说明于特定的具体实施例中,但是应该理解的是,本发明不应受限于这些具体实施例,而应根据以下的权力要求书范围来理解。