一种对闪存进行数据编程的方法和装置制造方法及图纸

技术编号:4947516 阅读:215 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种对闪存进行数据编程的方法,包括:步骤a、数据输入步骤;步骤b、验证整个当前页,获取其中需要进行编程的字节,并记录至相应的缓冲存储器;如果在当前页中没有需要进行编程的字节,则结束对当前页的数据编程,进入下一页;步骤c、依据所述缓冲存储器所记录的信息,依次对相应的字节进行编程;如果对当前页中所需编程的字节均已编程,则返回步骤b;否则,继续执行步骤c,对下一字节进行操作。本发明专利技术将编程操作过程中的数据验证步骤和数据写入步骤针对一个整页进行,可以大大降低加载栅极和漏极上不同电压的切换次数,节约了栅极和漏极电压泵的充放电时间,进而提高了Flash的编程速度。

【技术实现步骤摘要】

本专利技术涉及存储器
,特别是涉及一种对闪存进行数据编程的方法和装置
技术介绍
闪存(Flash)是一种用于存储数据的存储装置,其具有即使停止电源供应也保持 数据未受到擦除的特性(非易失性)。由于此原因,所以闪存已被用作诸如移动电话、PDA 及MP3播放器之类的电子产品的数据存储装置,并且具有应用越来越广泛的趋势。一般来说,Flash可以分为NOR型Flash及NAND型Flash。它们的共同之处在于 数据通过编程操作存储(写入数据),且通过擦除操作擦除。二者都是是电压控制型器件, NAND型Flash的擦和写均是基于隧道效应,电流穿过浮置栅极与硅基层之间的绝缘层,对 浮置栅极进行充电(写数据)或放电(擦除数据)。而NOR型Flash擦除数据仍是基于隧 道效应(电流从浮置栅极到硅基层),但在写入数据时则是采用热电子注入方式(电流从浮 置栅极到源极)。一般的,如果执行编程操作,则Flash存储单元(cell)的阈值电压升高;相反,如 果进行擦除操作,则该Flash存储单元的阈值电压降低。例如,在NAND类型的Flash中,如 果执行编程操作,则存储单元的阈值电压增加至高于0V。如果执行擦除操作,则存储单元的 阈值电压降低至低于0V。参见图1,简单描述现有的对Flash进行编程操作的过程。步骤101、数据输入步骤;步骤102、对当前字节进行数据验证;步骤103、如果该字节需要编程,则对其进行编程,然后返回步骤102 ;步骤104、如果该字节验证通过,即所存储的数据与所需写入的数据相同,不需要 编程操作了,则结束对该字节的编程操作,进入下一字节的编程过程。针对每个所需编程的字节,重复完成上述的步骤102到104,就可以实现对Flash 的编程操作了。但是在实际应用中,上述编程操作过程存在一些问题和缺陷。具体的,在编程过 程中,当对一个字节编程完成之后需要对其编程结果进行验证,如果验证不通过的话,还需 要对该字节重新进行编程操作。由于在这个过程中,编程操作和验证操作对控制Flash的 cell的栅极和漏极所加的电压是不同的,当对单字节操作(一个字节位对应一个cell)时, 不停的切换控制栅极和漏极电压将极大的影响编程速度。例如,对于NOR型Flash而言,在编程操作时,栅极和漏极所加的电压分别大约是 9. OV和4. 2V,而在验证操作时,栅极和漏极所加的电压分别是5. 5V和1. 0V。栅极电压和 漏极电压分别由电压泵产生,电压在大幅度切换的时候,需要充放电的时间。由于现有技术 中的电压切换次数较多,充放电时间加起来就比较可观,严重影响编程速度。总之,目前需要本领域技术人员迫切解决的一个技术问题就是如何能够提出一种改进型的编程操作方法,可以提高现有的Flash编程速度。
技术实现思路
本专利技术所要解决的技术问题是提供一种对闪存Flash进行数据编程的方法和装 置,其可以基于Flash的一个整页进行数据编程,减少控制栅极和漏极的电压的切换次数, 从而可以提高现有的Flash编程速度。为了解决上述技术问题,本专利技术实施例公开了一种对闪存进行数据编程的方法, 包括以下步骤步骤a、数据输入步骤;步骤b、验证整个当前页,获取其中需要进行编程的字节,并记录至相应的缓冲存 储器;如果在当前页中没有需要进行编程的字节,则结束对当前页的数据编程,进入下一 页;步骤C、依据所述缓冲存储器所记录的信息,依次对相应的字节进行编程;如果对 当前页中所需编程的字节均已编程,则返回步骤b;否则,继续执行步骤c,对下一字节进行 操作。优选的,对于步骤b,还可以包括当所输入的数据均已编程完毕时,则无需进入 下一页,结束整个编程操作。优选的,通过以下步骤验证整个当前页从该页的起始地址开始以字节为单位,比 较需要向该字节写入的数据和该字节已存储的数据;将比较结果写入与该字节地址相对应 的缓冲存储器的相应位置;重复上述步骤,直至验证完整个当前页。优选的,当进行操作的当前字节的地址为当前页的最后一个地址时,判定为对当 前页中所需编程的字节均已编程。优选的,步骤c可以进一步包括读取缓冲存储器所存储的比较结果;如果需要编 程,则对相应的字节进行编程后执行下一步骤;否则,直接执行下一步骤;判断当前字节是 否为当前页的最后一个地址,如果是,则返回步骤b,否则,返回读取缓冲存储器所存储的下 一个比较结果。优选的,在步骤b中,当对于当前页的验证属于编程后验证时,仅验证进行了编程 操作的字节。依据本专利技术的另一实施例,还公开了一种对闪存进行数据编程的装置,包括以下 部件数据输入单元;验证单元,用于验证整个当前页,获取其中需要进行编程的字节,并记录至相应的 缓冲存储器;如果在当前页中没有需要进行编程的字节,则结束对当前页的数据编程操作, 进入下一页;编程单元,用于依据所述缓冲存储器所记录的信息,依次对相应的字节进行编程; 当对当前页中所需编程的字节均已编程时,则触发验证单元;否则,继续对下一字节进行操 作。优选的,所述验证单元可以进一步包括 比较模块,用于从该页的起始地址开始以字节为单位,比较需要向该字节写入的数据和该字节已存储的数据;记录模块,用于将比较结果写入与该字节地址相对应的缓冲存储器的相应位置;调度模块,用于重复调用上述模块,直至验证完整个当前页。优选的,所述编程单元可以进一步包括读取模块,用于读取缓冲存储器所存储的比较结果;编程模块,用于当需要编程时,则对相应的字节进行编程后触发第一跳转模块;否则,直接触发第一跳转模块;第一跳转模块,用于判断当前字节是否为当前页的最后一个地址,如果是,则触发验证单元,否则,通知读取模块读取缓冲存储器所存储的下一个比较结果。优选的,所述验证单元还可以包括第二跳转模块,当数据输入单元所输入的数据均已编程完毕时,则无需进入下一页,结束整个编程操作。与现有技术相比,本专利技术具有以下优点一般的,Flash可以分为多个块(block),每个块(block)又可以分为多个扇区(sector),每个扇区(sector)又可以分为多个页(page),每个页(page)可以包括多个字 节。本专利技术将编程操作过程中的数据验证步骤和数据写入步骤针对一个整页进行,从而可 以在对一个整页的字节中所存储的数据进行验证后再进行数据写入,并在对一个整页的字 节进行数据写入之后再进行整页的数据验证,所以可以大大降低加载栅极和漏极上不同电 压的切换次数,节约了栅极和漏极电压泵的充放电时间,进而提高了 Flash的编程速度。而对于Flash而言,页是Flash进行编程操作的逻辑最小单位,一般的,每次数据编程操作都会占用至少一个页,所以本专利技术在提高编程速度的基础上,同时也不会影响编 程结果。附图说明图1是现有技术进行Flash编程操作的步骤流程图;图2是本专利技术一种对Flash进行数据编程的方法实施例1的步骤流程图;图3是本专利技术一种对Flash进行数据编程的方法实施例2的步骤流程图;图4是本专利技术一种对Flash进行数据编程的装置实施例的结构框图。具体实施例方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。本专利技术的核心思想之一在于改变了现有技术针对单个字节进行验证、编程等重复操作的模式,而采用了针本文档来自技高网
...

【技术保护点】
一种对闪存进行数据编程的方法,其特征在于,包括:  步骤a、数据输入步骤;  步骤b、验证整个当前页,获取其中需要进行编程的字节,并记录至相应的缓冲存储器;如果在当前页中没有需要进行编程的字节,则结束对当前页的数据编程,进入下一页;  步骤c、依据所述缓冲存储器所记录的信息,依次对相应的字节进行编程;如果对当前页中所需编程的字节均已编程,则返回步骤b;否则,继续执行步骤c,对下一字节进行操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:潘荣华
申请(专利权)人:北京芯技佳易微电子科技有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1