一种存储器的编写方法和装置制造方法

文档序号:6501476阅读:104来源:国知局
一种存储器的编写方法和装置制造方法
【专利摘要】本发明提供了一种存储器的编写方法及装置;方法包括:输入写缓冲器的指令,将缓冲器中的数据清零;将存储器中N个单元的地址及各地址对应的编写数据写进缓冲器;其中N为正整数;根据缓冲器中的编写数据对所述N个单元并行进行校验及编写;其中,所述对任一个单元编写是指:将所述缓冲器中对应于该单元的地址的编写数据写入该单元。本发明能够提高存储器的编写速度。
【专利说明】-种存储器的编写方法和装置

【技术领域】
[0001] 本发明涉及电子领域,尤其涉及一种存储器的编写方法和装置。

【背景技术】
[0002] 在各种电子技术快速发展和电子市场高速扩大的今天,存储器的需求量迅猛增 长。在众多存储器类型中,N0R型闪存由于具有随机读写速度快,可靠性能高等优点,被广 泛的应用于各种电子设备,如移动产品,汽车电子等。从1988年发展至今,N0R型闪存技术 紧跟市场发展需求也在不断地进步更新,不仅容量日益增大,可靠性能越来越高,随机读写 速度也越来越快。
[0003] 对于存储器来说,每一个单元cell对应一根字线word line和一根位线bit line。如果要对一个cell进行program(编写),就是对读信号WL加一个高压,对位信号 BL加一个特定电压。比如图1所示的排列成3行3列的9个cell,第一行的cell接收 WL〈n+l>,第二行的cell接收WL〈n>,第三行的cell接收WL〈n-l>,左起第一列的cell接收 BL〈n-l>,第二列的cell接收BL〈n>,第三列的cell接收BL〈n+l>。
[0004] 目前的设计方案中,主要是对一个字word(16bits)或者一个字节byte (8bits) 进行program,每一个word都需要进行verify (校验)、program (16根位线根据编程数据 program data加相应高压或者低压)和verify的过程。缺点是对于连续的多个地址的写 入数据将是重复多个单地址的操作,浪费了大量的verify和program时间。
[0005] 而随着各种电子设备的系统功能复杂化,现代处理器速度的不断增加,对存储器 进行频繁读写成了最基本的操作,存储器的编写速度越来越影响整个处理器的速度,因此 读写速度在实际应用中成为衡量N0R型闪存越来越重要的性能指标。越来越多地厂商迫切 需要提高存储器的擦写速度,所以需要改善现状。


【发明内容】

[0006] 本发明要解决的技术问题是如何提高存储器的编写速度。
[0007] 为了解决上述问题,本发明提供了一种存储器的编写方法,包括:
[0008] 输入写缓冲器的指令,将缓冲器中的数据清零;
[0009] 将存储器中N个单元的地址及各地址对应的编写数据写进缓冲器;其中N为正整 数;
[0010] 根据缓冲器中的编写数据对所述N个单元并行进行校验及编写;其中,所述对任 一个单元编写是指:将所述缓冲器中对应于该单元的地址的编写数据写入该单元。
[0011] 进一步地,N为64或128。
[0012] 进一步地,所述输入写缓冲器的指令的步骤前还包括:
[0013] 当一个或多个地址内数据出现错误时,重新载入所述一个或多个地址、以及该一 个或多个地址的编写数据到所述缓冲器;
[0014] 当所有数据确认无误后,执行所述输入写缓冲器的指令的步骤。
[0015] 进一步地,所述根据缓冲器中的编写数据对所述N个单元并行进行校验及编写的 步骤包括:
[0016] S1、分别将缓冲器中各编写数据与该编写数据对应地址上的单元里的数据进行比 较,得到与N个单元的地址一一对应的N个比较结果;当编写数据与单元里的数据相同时、 或单元已经被编写过时,所述比较结果为1 ;
[0017] S2、将所述N个比较结果作为所对应地址的编写数据覆盖所述缓冲器中原先的编 写数据;判断所述缓冲器内的编写数据是否全部为1 ;如果是则结束;如果不是,则分别将 缓冲器中每个为〇的编写数据写入该编写数据对应地址上的单元中,返回步骤S1。
[0018] 本发明还提供了一种存储器的编写装置,包括:
[0019] 缓冲器;
[0020] 控制单元,用于输入写缓冲器的指令,将缓冲器中的数据清零;以及将存储器中N 个单元的地址及各地址对应的编写数据写进缓冲器;N为正整数;
[0021] 编写单元,用于根据缓冲器中的编写数据对所述N个单元并行进行校验及编写; 其中,所述对任一个单元编写是指:将所述缓冲器中该单元的地址的编写数据写入该单元。
[0022] 进一步地,N为64或128。
[0023] 进一步地,所述控制单元还用于在输入写缓冲器的指令前,如果判断一个或多个 地址内数据出现错误,则重新载入所述一个或多个地址、以及该一个或多个地址的编写数 据到所述缓冲器;当判断所有数据确认无误后,输入写缓冲器的指令。
[0024] 进一步地,编写单元根据缓冲器中的编写数据对所述N个单元并行进行校验及编 与是指:
[0025] 所述编写单元分别将缓冲器中各编写数据与该编写数据对应地址上的单元里的 数据进行比较,得到与N个单元的地址一一对应的N个比较结果;当编写数据与单元里的数 据相同时、或单元已经被编写过时,所述比较结果为1 ;将所述N个比较结果作为所对应地 址的编写数据覆盖所述缓冲器中原先的编写数据;判断所述缓冲器内的编写数据是否全部 为1 ;如果是则结束;如果不是,则分别将缓冲器中每个为〇的编写数据写入该编写数据对 应地址上的单元中;然后重复进行上述步骤直至所述缓冲器内的数据全部为1。
[0026] 本发明的技术方案可以对多根bit line进行操作,也就是可以同时对多个bits 的数据进行verify或program,大大减少verify时间及平均到每个单元的program时间; 而且在verify和program的过程中所需要的数据不需要每次输入,节省时间;大大地提高 了 verify 和 program 的效率。

【专利附图】

【附图说明】
[0027] 图1是现有的存储器的结构示意图;
[0028] 图2是实施例一的存储器编写方法的流程示意图。

【具体实施方式】
[0029] 下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
[0030] 实施例一,一种存储器的编写方法,如图2所示,包括:
[0031] 输入写缓冲器的指令,将缓冲器中的数据清零;
[0032] 将存储器中N个单元的地址及各地址对应的编写数据写进缓冲器;其中,N为正整 数;
[0033] 根据缓冲器中的编写数据对所述N个单元并行进行校验及编写;其中,所述对任 一个单元编写是指:将所述缓冲器中对应于该单元的地址的编写数据写入该单元。
[0034] 本实施例的一种实施方式中,N为64或128。
[0035] 本实施方式可一次编写完成64bits或128bits的数据;以编写128bit数据时的 情况为例,将电路由原先的一根字线连接8或16根位线,改为一根字线连接128根位线。如 果pump的驱动能力(strength)不足以支持64bit及以上bit数的program,可以通过增强 pump elk (时钟)频率和pump电容来增强pump的驱动能力,使其足够满足64或128bit的 电流要求,以达到可以同时program的可能。
[0036] 现有的verify过程只针对一个word,现有的program过程只是针对8个或者16 个bits操作。本实施例的方法在program过程中,同时发送多个地址的多个编写数据,把 它们暂时存储在缓冲器buffer中,就可以对多根bit line(64bits或者128bits)进行操 作,也就是可以同时对64bits或者128bits的数据进行verify,大大减少verify的时间, 而且可以对64bits或者128bits的数据同时进行program,在verify和program的过程中 所需要的数据从buffer load(载入),不需要每次输入,节省时间;虽然同时对128bits进 行program时间相对于16bits进行program时间会长,但是平均到一个bit上的program 时间则大大的减少,提高了写入时的效率。相当于verify过程可以增加到对4个word或 者8个word进行verify,而在原先对一个word的program的时间内,可对4个word或者 8个word进行了 program。这样就大大地提高了 verify和program的效率。
[0037] 本实施例的一种实施方式中,所述输入写缓冲器的指令的步骤前还可以包括:
[0038] 当一个或多个地址内数据出现错误时,重新载入所述一个或多个地址、以及该一 个或多个地址的编写数据到所述缓冲器;
[0039] 当所有数据确认无误后,执行所述输入写缓冲器的指令的步骤。
[0040] 该实施方式可以在没有做erase (擦除)的过程中,将错误数据修改成为正确数 据。现有方案中,在一些连续的写入过程中,如果对一个地址进行了错误的数据的写入,如 果说想进行纠正,只能对这个块进行erase,然后再进行写入正确的数据;而在写缓冲器的 写入过程中先需要load数据,允许对一个地址多次load数据,以最后一次数据为准进行写 入,从而减少更多的写入次数。
[0041] 本实施例的一种实施方式中,所述对所述N个单元并行进行校验及编写的步骤具 体可以包括:
[0042] S1、分别将缓冲器中各编写数据与该编写数据对应地址上的单元里的数据进行比 较,得到与N个单元的地址一一对应的N个比较结果;当编写数据与单元里的数据相同时、 或单元已经被编写过时,所述比较结果为1 ;
[0043] S2、将所述N个比较结果作为所对应地址的编写数据覆盖所述缓冲器中原先的编 写数据;判断所述缓冲器内的编写数据是否全部为1 ;如果是则结束;如果不是,则分别将 缓冲器中每个为〇的编写数据写入该编写数据对应地址上的单元中,返回步骤S1。
[0044] 下面用4位的单元距离说明上述步骤,假设buffer里的编写数据是:
[0045] 0011 ;
[0046] 相应地址上的cell里的数据为:
[0047] 0101 ;
[0048] 则在第一次verify时,比较结果是:
[0049] 1011 ;
[0050] 其中,第1、4位是因为buffer中的编写数据和单元里的数据相同,所以比较结 果为"1";而第3位的单元里的数据为"0",因此该单元为编写过的单元,比较结果也为 1 (program过的cell为真实状态,是已经被提高了阈值的M0S管,除了通过erase操作,否 则无法改变到"1"的状态)。
[0051] 将比较结果load进buffer覆盖原先的编写数据;由于buffer中的编写数据不全 为" 1",此时将program所有"0",即编写第2位的单元,并且编写数据为"0"。
[0052] program后相应地址上的cell里的数据为:
[0053] 0001 ;
[0054] 然后进行第二次verify,即再次比较;比较结果(此前buffer中的编写数据已经 更新为"1011")是:
[0055] 1111 ;
[0056] 其中,第1、2、3位的单元里的数据为0,因此比较结果为"1";而第4位由于buffer 中的编写数据和单元里的数据相同,所以比较结果也为" 1"。
[0057] 将比较结果回写入buffer,替代原先的编写数据;这时buffer内所有数据都为 " 1",完成了校验及编程的过程。
[0058] 如果编写第2位的单元时没有成功,真实的cell里的数据仍然为开始时的 "0101",那么进行第二次verify时比较结果仍然为" 1011"(buffer里是" 1011",第4位数 据相同故比较结果为"1",第1、3位单元里数据为"0"故比较结果为"1")。将"1011"回写 入buffer,由于仍然不是全" 1",将会继续编写第2位的单元。可见,直到编写成功,即单元 内数据为"〇〇〇1"为止,将得到buffer内编写数据为"1111"的情况,结束校验及编写。
[0059] 对64位或128位单元并行进行校验及编程的情况可以依此类推。
[0060] 实施例二、一种存储器的编写装置,包括:
[0061] 缓冲器;
[0062] 控制单元,用于输入写缓冲器的指令,将缓冲器中的数据清零;以及将存储器中N 个单元的地址及各地址对应的编写数据写进缓冲器;N为正整数;
[0063] 编写单元,用于根据所述缓冲器中的编写数据对所述N个单元并行进行校验及编 写;其中,所述对任一个单元编写是指:将所述缓冲器中该单元的地址的编写数据写入该 单元。
[0064] 本实施例的一种实施方式中,N为64或128。
[0065] 本实施例的一种实施方式中,所述控制单元还可以用于在输入写缓冲器的指令 前,如果判断一个或多个地址内数据出现错误,则重新载入所述一个或多个地址、以及该一 个或多个地址的编写数据到所述缓冲器;当判断所有数据确认无误后再输入写缓冲器的指 令。
[0066] 本实施例的一种实施方式中,所述编写单元根据所述缓冲器中的编写数据对所述 N个单元并行进行校验及编写是指:
[0067] 所述编写单元分别将缓冲器中各编写数据与该编写数据对应地址上的单元里的 数据进行比较,得到与N个单元的地址一一对应的N个比较结果;当编写数据与单元里的数 据相同时、或单元已经被编写过时,所述比较结果为1 ;将所述N个比较结果作为所对应地 址的编写数据覆盖所述缓冲器中原先的编写数据;判断所述缓冲器内的编写数据是否全部 为1 ;如果是则结束;如果不是,则分别将缓冲器中每个为〇的编写数据写入该编写数据对 应地址上的单元中;然后重复进行上述步骤直至所述缓冲器内的数据全部为1。
[〇〇68]当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟 悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变 形都应属于本发明的权利要求的保护范围。
【权利要求】
1. 一种存储器的编写方法,包括: 输入写缓冲器的指令,将缓冲器中的数据清零; 将存储器中N个单元的地址及各地址对应的编写数据写进缓冲器;其中N为正整数; 根据缓冲器中的编写数据对所述N个单元并行进行校验及编写;其中,所述对任一个 单元编写是指:将所述缓冲器中对应于该单元的地址的编写数据写入该单元。
2. 如权利要求1所述的方法,其特征在于: N 为 64 或 128。
3. 如权利要求1所述的方法,其特征在于,所述输入写缓冲器的指令的步骤前还包括: 当一个或多个地址内数据出现错误时,重新载入所述一个或多个地址、以及该一个或 多个地址的编写数据到所述缓冲器; 当所有数据确认无误后,执行所述输入写缓冲器的指令的步骤。
4. 如权利要求1到3中任一项所述的方法,其特征在于,所述根据缓冲器中的编写数据 对所述N个单元并行进行校验及编写的步骤包括: 51、 分别将缓冲器中各编写数据与该编写数据对应地址上的单元里的数据进行比较, 得到与N个单元的地址一一对应的N个比较结果;当编写数据与单元里的数据相同时、或单 元已经被编写过时,所述比较结果为1 ; 52、 将所述N个比较结果作为所对应地址的编写数据覆盖所述缓冲器中原先的编写数 据;判断所述缓冲器内的编写数据是否全部为1 ;如果是则结束;如果不是,则分别将缓冲 器中每个为〇的编写数据写入该编写数据对应地址上的单元中,返回步骤S1。
5. -种存储器的编写装置,其特征在于,包括: 缓冲器; 控制单元,用于输入写缓冲器的指令,将缓冲器中的数据清零;以及将存储器中N个单 元的地址及各地址对应的编写数据写进缓冲器;N为正整数; 编写单元,用于根据缓冲器中的编写数据对所述N个单元并行进行校验及编写;其中, 所述对任一个单元编写是指:将所述缓冲器中该单元的地址的编写数据写入该单元。
6. 如权利要求5所述的编写装置,其特征在于: N 为 64 或 128。
7. 如权利要求5所述的编写装置,其特征在于: 所述控制单元还用于在输入写缓冲器的指令前,如果判断一个或多个地址内数据出现 错误,则重新载入所述一个或多个地址、以及该一个或多个地址的编写数据到所述缓冲器; 当判断所有数据确认无误后,输入写缓冲器的指令。
8. 如权利要求5到7中任一项所述的编写装置,其特征在于,编写单元根据缓冲器中的 编写数据对所述N个单元并行进行校验及编写是指: 所述编写单元分别将缓冲器中各编写数据与该编写数据对应地址上的单元里的数据 进行比较,得到与N个单元的地址一一对应的N个比较结果;当编写数据与单元里的数据 相同时、或单元已经被编写过时,所述比较结果为1 ;将所述N个比较结果作为所对应地址 的编写数据覆盖所述缓冲器中原先的编写数据;判断所述缓冲器内的编写数据是否全部为 1 ;如果是则结束;如果不是,则分别将缓冲器中每个为〇的编写数据写入该编写数据对应 地址上的单元中;然后重复进行上述步骤直至所述缓冲器内的数据全部为1。
【文档编号】G06F12/08GK104102592SQ201310115706
【公开日】2014年10月15日 申请日期:2013年4月3日 优先权日:2013年4月3日
【发明者】苏志强, 潘荣华, 崔茂兴 申请人:北京兆易创新科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1