一种芯片处理方法及装置与流程

文档序号:12270794阅读:397来源:国知局
一种芯片处理方法及装置与流程

本发明涉及存储器技术领域,尤其涉及一种芯片处理方法及装置。



背景技术:

NOR Flash和NAND Flash是现在市场上两种主要的非易失闪存技术,NOR Flash的特点是芯片内执行,这样应用程序可以直接在Flash闪存内运行,不必再把代码读到随机存储器(random access memory,RAM)中。NOR Flash的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是其很低的写入和擦除速度大大影响到它的性能。NAND Flash的结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。Flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何Flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAND Flash器件执行擦除操作是十分简单的,而NOR Flash则要求在进行擦除前先要将目标块内所有的位都写为“0”。

随着微电子技术的快速发展,对集成电路芯片的速度要求也越来越高,NOR Flash芯片作为移动设备的主要存储芯片之一,对其高速度有了新的要求。NOR Flash芯片一般采用物理集中放置,其存储区域构成了一个在逻辑上分成许多块的存储矩阵。例如,当对其中一个块进行擦除操作时,由于物理上这个块和周围的块漏区和源区是相连的,往往会对相邻的其他块产生影响,为了避免块存储单元过擦除,NOR Flash芯片在进行擦除前先要将目标块内所有是“1”的位都写为“0”,整个擦除过程非常复杂,用时很长。

而擦除NOR Flash芯片时是以64~128KB的块进行的,擦除NAND Flash芯片时是以8~32KB的块进行的,擦除完一个块后才能继续擦除下一块,写入上述两种芯片的操作也是逐块进行的。若为全芯片的擦除或写入操作,则非常影响芯片的速度。



技术实现要素:

有鉴于此,本发明实施例提供一种芯片处理方法及装置,以解决现有技术中的芯片处理方法影响芯片的速度的问题。

第一方面,本发明实施例提供了一种芯片处理方法,包括:

将被处理区域分成多个容量相同的存储模块;

对每个所述存储模块同时开始以块为单位进行处理操作,所述处理操作包括写入操作和/或擦除操作。

第二方面,本发明实施例提供了一种芯片处理装置,包括:

区域分割模块,用于将被处理区域分成多个容量相同的存储模块;

模块处理模块,用于对每个所述存储模块同时开始以块为单位进行处理操作,所述处理操作包括写入操作和/或擦除操作。

本发明实施例提供的芯片处理方法及装置,通过将被处理区域分为多个存储模块,对每个存储模块同时开始以块为单位进行处理。实现了存储模块并行处理,解决现有技术中的芯片处理方法影响芯片的速度的问题,极大的提高了芯片处理速度。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1是本发明实施例一提供的一种芯片处理方法的流程图;

图2是本发明实施例二提供的一种芯片处理方法的流程图;

图3是本发明实施例三提供的一种芯片处理方法的流程图;

图4a是本发明实施例四提供的传统芯片擦除操作结构示意图;

图4b是本发明实施例四提供的芯片擦除操作结构示意图;

图4c是本发明实施例四提供的芯片擦除方法的第一种方式的验证流程图;

图4d是本发明实施例四提供的芯片擦除方法的第一种方式的擦除验证生成示意图;

图4e是本发明实施例四提供的芯片擦除方法的第二种方式的验证流程图;

图4f是本发明实施例四提供的芯片擦除方法的第二种方式的擦除验证生成示意图;

图5是本发明实施例五提供的一种芯片处理装置的结构图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。

另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

实施例一

图1是本发明实施例一提供的一种芯片处理方法的流程图。本实施例的方法可由芯片处理装置来执行,所述装置可通过软件和/或硬件的方式实现,并一般可集成于终端中。如图1所示,本实施例提供的芯片处理方法具体包括:

S110、将被处理区域分成多个容量相同的存储模块。

在传统的芯片处理过程中,是以块为单位逐块进行操作的,当某一块处理结束后才进行下一个块的处理操作。对于NOR Flash芯片,是以64~128KB的块进行处理操作的。示例性的,在传统的芯片擦除操作中,按照块依次进行擦除,当一个块被擦除成功后才进行下一个块的擦除操作。以容量为16MB的芯片为例,如果以64KB的块进行擦除操作,则需要做16MB/64KB次64KB的块的擦除,对NOR Flash芯片执行一个写入/擦除操作的时间为5s,这样做非常耗时。

本发明将被处理区域分成多个容量相同的存储模块,多个存储模块同时进行处理操作,可大大的节省处理时间。可选的,所述被处理区域可以为整个芯片或芯片的一部分。同样的,如果以容量为16MB的芯片为例,被处理区域可以为整个16MB的芯片,也可以为此芯片的一部分。若为整个芯片的擦除,且以64KB的块进行擦除操作,将整个芯片分割成同等大小的M等分,即将整个芯片分成容量相同的M个存储模块,每个存储模块同时进行擦除操作,处理时间大大缩短。

所述被处理区域按存储地址被分成多个所述容量相同的存储模块。为了便于将每个存储模块进行分割,可以以地址作为分割依据,从而在多个容量相同存储模块并行处理时,避免并行写入或擦除时产生混乱。所以当对被处理区域进行写入或擦除操作时,按存储地址将被处理区域分成多个容量相同的存储模块。

另外,块的容量的大小可由用户根据被处理区域的容量自定义设置,虽然本实施例以NOR Flash芯片为例进行论述,但本方案并不限于NOR Flash芯片,还可应用于其他非易失闪存芯片以及其他种类的芯片。

S120、对每个所述存储模块同时开始以块为单位进行处理操作,所述处理操作包括写入操作和/或擦除操作。

对芯片的处理操作包括写入操作和/或擦除操作。这里的写入操作可以为编程或者预编程。在对芯片进行擦除前为了避免过擦除,NOR Flash芯片在进行擦除前先要将目标块内所有是“1”的位都写为“0”,即为预编程。

每个存储模块同时开始以块为单位进行处理操作包括两种情况:第一种为对每个存储模块同时开始进行处理操作,然后各个存储模块各自独立以块为单位进行处理操作,不受其他存储模块的影响,每个存储模块对应一个状态机,执行时间短,且不需要多次去检测各个存储模块当前块的处理情况,功耗小;第二种为对每个存储模块同时开始进行处理操作,且同时结束操作,处理完所有存储模块的当前块后才能同时处理下一块,所有的存储模块共用一套状态机,设计简单方便,并且节省资源。

如上述示例所述,M个存储模块同时进行擦除操作,每个模块按照64KB的块依次进行擦除操作,假设每个存储模块可以等分成K个64KB的块,那么,整个芯片的擦除操作就需要大约K次擦除操作。若按照传统的全芯片擦除方法则需要(芯片容量/64KB)次擦除操作,本发明实施例的方案大大节约了操作时间。

本发明实施例一提供的芯片处理方法,通过将被处理区域分为多个存储模块,对每个存储模块同时开始以块为单位进行处理。实现了存储模块并行处理,解决现有技术中的芯片处理方法影响芯片的速度的问题,极大的提高了芯片处理速度。

实施例二

图2是本发明实施例二提供的一种芯片处理方法的流程图。本实施例对实施例一进行了优化,具体的,将对每个所述存储模块同时开始以块为单位进行处理操作的过程进行详述,在本实施例中,所述芯片处理方法包括:

S210、接收用户的处理指令,所述处理指令包括存储模块的容量、存储模块的地址和块的大小。

在将被处理区域分割成存储模块之前首先要接收用户的处理指令。所述处理指令可以为写入指令或擦除指令。无论擦除指令还是写入指令都至少包括存储模块的容量、存储模块的地址和块的大小此三种信息,此三种信息确定后才能对处理区域进行分割和处理。示例性的,若被处理区域为1MB,假设该存储区域地址为300000H~3FFFFFH,则可将此被处理区域按地址分为两个存储模块,每个存储模块的容量为512KB,则每个存储模块所占用地址为分别300000H~37FFFFH和380000H~3FFFFFH。假设块的大小为2KB,则每个存储模块被分为256个块,当块的大小确定后,块的存储地址随之确定了,例如,由上述信息可得出第一个块的存储地址为300000H~3007FFH。

S220、将被处理区域分成多个容量相同的存储模块。

值得注意的是,若被处理区域在物理储存地址上不集中,示例性的,若用户需要对某个文件进行删除,该文件中各类信息存储在不相连的被处理区域当中,则将每个被处理区域单独分成多个容量相同的存储模块进行处理。

S230、同时开始处理每个所述存储模块的当前块。

S240、判断是否成功处理完所有的存储模块的当前块,若是则执行S250,若否则执行S260。

S250、同时开始处理各存储模块中的下一个块,直至将所有的块成功处理。

S260、继续对未成功处理当前块的存储模块的当前块进行处理,所述当前块被成功处理的其他存储模块处于等待状态。

步骤S240~S260为被处理区域中所有的存储模块同时开始执行处理操作,并同时结束的过程。因为每个存储模块的容量相同,处理的块的大小也相同,所以可同时处理每个存储模块的当前块,当所有的存储模块的当前块处理完再对下一个块进行处理,因为对每个存储模块的处理操作都是一致且同步的,所以可以使用同一套状态机,状态机通过响应一系列事件而运行,当所有存储模块的当前块处理完成后,状态机响应其完成事件,控制对存储模块下一块的处理操作。示例性的,在写入被处理区域时,同时对所有的存储模块的第一个块执行写入操作,当成功写入完毕所有的存储模块的第一个块时,在状态机控制下同时开始对第二个块进行写入操作。若存在存储模块的当前块未完成写入操作,则控制继续对未完成当前块写入操作的存储模块执行写入操作,已完成当前块写入操作的存储模块此时处于等待状态。

本实施例二在上述实施例的基础上,将对每个所述存储模块同时开始以块为单位进行处理操作的过程具体为同时开始对存储模块执行处理操作,并同时结束操作,所有的存储模块同用一套状态机,在节省了操作时间的同时,设计简单,节省资源。

实施例三

图3是本发明实施例三提供的一种芯片处理方法的流程图。本实施例在实施例二的基础上,对成功处理所有所述存储模块的当前块后,同时开始处理各存储模块中的下一个块,直至将所有的块成功处理的过程进行优化,参考图3,所述芯片处理方法包括:

S310、接收用户的处理指令,所述处理指令包括存储模块的容量、存储模块的地址和块的大小。

S320、将被处理区域分成多个容量相同的存储模块。

S330、同时开始处理每个所述存储模块的当前块。

S340、对于每个所述存储模块,当前块处理成功后,将所述存储模块对应的分寄存器标志位置1。

为每个存储模块设置对应的分寄存器标志位,当对该存储模块的当前块的处理操作完成后,存储模块对应的分寄存器标志位置1。

S350、将各存储模块的分寄存器标志位进行与操作,根据与操作结果对总寄存器标志位进行置位。

另外设置一总寄存器标志位,此总寄存器标志位用来作为是否对下一个块进行处理操作的执行依据。总寄存器标志位由各个分寄存器标志位相与得到,当所有的分寄存器标志位置1时,总寄存器标志位也会置1,当总寄存器标志位置1后,标志着对所有存储模块的当前块的处理操作完成了。当存在存储模块的当前块未被处理完时,其对应的分寄存器标志位为0,则继续对该存储模块的当前块执行处理操作,其余的分寄存器标志位为1的存储模块即处在等待状态,以节省操作和内存。

S360、当所述总寄存器标志位为1时,启动各所述存储模块中下一个块的处理操作,直至处理完所有的块。

当总寄存器标志位置1时,则可启动各存储模块中下一个块的处理操作。值得注意的是,当启动了各存储模块中下一块的处理操作后,总寄存器标志位和所有的分寄存器标志位都变为0,再为各存储模块的下一块的处理操作进行置位。

本实施例三在实施例二的基础上,为每个存储模块设置分寄存器标志位,并设置了总寄存器标志位,通过总寄存器标志位和分寄存器标志位作为各存储模块当前块是否被成功处理和是否启动下一块处理操作的判据。

实施例四

本实施例为在上述实施例基础上的优选示例。假设要对容量为16MB的芯片进行全芯片的擦除操作,同时假设以容量为64KB的块为单位进行擦除。

传统的擦除操作结构示意图如图4a所示,需要按地址分成256个块依次进行擦除,如图4a分为编号为0~255的256个块。本芯片需要256次块的擦除操作即256次BLOCK ERASE。

本实施例将容量为16MB的芯片分为2个存储模块,则每个存储模块容量为8MB,参考图4b,图4b是本发明实施例四提供的芯片擦除操作结构示意图。每个存储模块包括128个块,两个存储模块同时执行擦除操作,第一个存储模块包括编号为0~127的块,即图4b中的BLOCK0~BLOCK127,第二个存储模块包括编号为128~255的块,即图4b中的BLOCK128~BLOCK255,两个存储模块同时开始进行擦除操作,可节省大约一半的时间。

本实施例中芯片处理方法可有两种不同的处理方式。第一种方式为每个存储模块仅同时开始进行擦除操作,之后各自独立执行块擦除操作。如图4c和4d所示,图4c是本发明实施例四提供的芯片擦除方法的第一种方式的验证流程图,图4d是本发明实施例四提供的芯片擦除方法的第一种方式的擦除验证生成示意图。对两个存储模块分别按照地址顺序执行块擦除操作,可能不会同时结束,每个存储模块都对应有分寄存器标志位,图4d中的两个存储模块对应分寄存器SA1和SA2,分寄存器SA1和SA2分别与图4c中的擦除验证模块Erase verify1和Erase verify2相连。当其中分寄存器SA1标志位置1时,说明对应的存储模块的当前块擦除成功,对应的图4c中的擦除验证模块Erase verify1的验证结果为“Y”,则在当前块开始的地址位的基础上加上64KB即为下一个块的开始的地址位,从此地址位开始进行擦除验证,若图4c中的擦除验证模块Erase verify1的验证结果是“N”,则表示此块未擦除成功,需要对当前块执行擦除操作。同理,分寄存器SA2与擦除验证模块Erase verify2相连。两个存储模块之间不相互影响,不用相互兼顾两者的处理情况,所用时间短,且功耗小。

芯片处理方法的第二种处理方式为两个存储模块同时开始进行操作,并且同时结束操作。如图4e和4f所示,图4e是本发明实施例四提供的芯片擦除方法的第二种方式的验证流程图,图4f是本发明实施例四提供的芯片擦除方法的第二种方式的擦除验证生成示意图。由图4f得知分寄存器SA1和SA2通过一个与门所得的结果与图4d中的擦除验证模块Erase verify相连接,当分寄存器SA1标志位和分寄存器SA2标志位都置1,即两存储模块的当前块都擦除成功后,擦除验证模块Erase verify确认擦除,则开始进行下一个64KB块的擦除验证。若其中一个存储模块未被擦除,其对应的分寄存器标志位为0,则擦除验证模块Erase verify获知擦除失败,则擦除验证模块Erase verify会继续控制终端对当前块进行擦除,然后返回对当前块进行擦除验证。当所有模块的当前块擦除成功后才能对下一个块进行擦除,这样,所有的存储模块公用一套状态机,如图4d所示,只需要一个擦除验证模块Erase verify来确定是否需要进行擦除,结构简单,设计方便,并且节省内存和操作资源。

本实施例具体描述了芯片擦除方法的具体实现过程,并提出了两种芯片擦除的处理方法,具体体现了本实施例芯片擦除方法节省时间并易于操作的特点。

实施例五

图5是本发明实施例五提供的一种芯片处理装置的结构图,该装置可配置于终端中。如图5所示,所述装置包括区域分割模块51、模块处理模块52和指令接收模块53。

其中,区域分割模块51,用于将被处理区域分成多个容量相同的存储模块;

模块处理模块52,用于对每个所述存储模块同时开始以块为单位进行处理操作,所述处理操作包括写入操作和/或擦除操作。

本发明实施例提供的芯片处理装置,通过将被处理区域分为多个存储模块,对每个存储模块同时开始以块为单位进行处理。实现了存储模块并行处理,解决现有技术中的芯片处理方法影响芯片的速度的问题,极大的提高了芯片处理速度。

在上述实施例的基础上,模块处理模块52可以包括:

本块处理单元521,用于同时开始处理每个所述存储模块的当前块;

次块启动单元522,用于在成功处理所有所述存储模块的当前块时,同时开始处理各存储模块中的下一个块,直至将所有的块成功处理。

可选的,模块处理模块52还可以包括:

本块等待单元523,用于在存在所述存储模块的当前块未成功处理时,继续对该存储模块的当前块进行处理,所述当前块被成功处理的其他存储模块处于等待状态。

可选的,所述被处理区域按存储地址被分成多个所述容量相同的存储模块。

可选的,次块启动单元522可以包括:

分寄存器置位子单元,用于对于每个所述存储模块,当前块处理成功后,将所述存储模块对应的分寄存器标志位置1;

总寄存器置位子单元,用于将各存储模块的分寄存器标志位进行与操作,根据与操作结果对总寄存器标志位进行置位;

此块启动子单元,用于当所述总寄存器标志位为1时,启动各所述存储模块中下一个块的处理操作。

可选的,所述装置还可以包括:

指令接收模块53,用于接收用户的处理指令,所述处理指令包括存储模块的容量、存储模块的地址和块的大小。

可选的,所述被处理区域为整个芯片或芯片的一部分。

本实施例方案将对每个所述存储模块同时开始以块为单位进行处理操作的过程具体为同时开始对存储模块执行处理操作,并同时结束操作,所有的存储模块同用一套状态机,在节省了操作时间的同时,设计简单,节省资源。

上述装置可执行本发明任意实施例所提供的芯片处理方法,具备执行方法相应的功能模块和有益效果。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1