一种延长可擦写芯片寿命的方法和装置与流程

文档序号:11386089阅读:221来源:国知局
一种延长可擦写芯片寿命的方法和装置与流程

本发明涉及芯片技术领域,具体涉及一种延长可擦写芯片寿命的方法和装置。



背景技术:

可擦写芯片,如闪存芯片、带电可擦写可编程只读存储器eeprom、安全芯片se等,由于可擦写芯片中的已有信息进行擦除、重新编程,被广泛应用于各个领域。可擦写芯片的写入操作必须在空白区域进行,如果目标区域已经有数据,必须先擦除后写入,因此擦除操作是闪存的基本操作。但是对芯片的每次擦除以及重新操作都会消耗芯片的寿命。为了尽可能延长芯片的使用寿命,一般是采用专业芯片来替代普通芯片,如对于安全芯片se而言,可用工业级的m2m芯片或者车规级别的m2m芯片,但是实际应用中发现,对于某些领域的应用而言,即使是工业级或车规级别的芯片,也不能够满足应用需求,且专业芯片的价格比较昂贵,使得采用该芯片及使用该种芯片的设备的成本大大提高。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种延长可擦写芯片寿命的方法,通过该方法,可有效提升芯片的寿命。

为实现上述目的,本发明采用的技术方案为:一种延长可擦写芯片寿命的方法,包括:

在可擦写芯片中预留设定大小的读写区域;

将第一指定文件的第一数据写入所述读写区域的第一子区域,记录第一指定文件的内部文件标识fid,并为第一子区域设置第一计数器,设置第一计数器的计数值;所述第一数据为初次写入读写区域中的数据;

将第二指定文件的第二数据写入所述读写区域的第二子区域,记录第一指定文件的内部文件标识fid,并为第二子区域设置第二计数器,第二计数器的计数值为读写区域中当前计数值最大的计数器的计数值加1;所述第二子区域为读写区域中未占用的区域或内部文件标识fid相同且对应的计数器的计数值非最大的子区域。

进一步,如上所述的一种延长可擦写芯片寿命的方法,还包括:在读写区域中写入数据前,根据预设的空间大小,将所述读写区域划分为n个读写空间,一个子区域对应一个读写空间,n≥2。

进一步,如上所述的一种延长可擦写芯片寿命的方法,还包括:为每个读写空间分别设置一个计数器,所有计数器的初始值相同;所述第一计数器的计数值为计数器的初始值加1。

进一步,如上所述的一种延长可擦写芯片寿命的方法,从读写区域中当前计数值最大的计数器所对应的子区域之后的子区域中查找第二子区域。

进一步,如上所述的一种延长可擦写芯片寿命的方法,所述第一子区域与第二子区域连续或者不连续;所述不连续是指两个子区域之间相互不占用相同的页,所述页为可擦写芯片的最小擦除单位。

进一步,如上所述的一种延长可擦写芯片寿命的方法,所述方法还包括:

设置文件标识映射表;所述文件标识映射表用于存储所述读写区域中存储的文件的文件名称与文件的内部文件标识fid的映射关系。

进一步,如上所述的一种延长可擦写芯片寿命的方法,读取所述第一指定文件的数据,读取方式为:

根据第一指定文件的文件名称在所述文件标识映射表中查找第一指定文件的内部文件标识fid;

根据查找到的内部文件标识fid,在所述读写区域中查找fid相同且计数值最大的子区域;

读取查找到的子区域中的数据。

进一步,如上所述的一种延长可擦写芯片寿命的方法,还包括:

设置第一指定文件和第二指定文件的保护标记,所述保护标记为用于标识文件的数据存储于所述读写区域中。

本发明实施例中还提供了一种延长可擦写芯片寿命的装置,所述装置包括:

读写区域预留模块,用于在可擦写芯片中预留设定大小的读写区域;

数据写入模块,用将第一指定文件的第一数据写入所述读写区域的第一子区域,并记录第一指定文件的内部文件标识fid;用于将第二指定文件的第二数据写入所述读写区域的第二子区域,并记录第一指定文件的内部文件标识fid;

计数器配置及更新模块,用于为第一子区域设置第一计数器,设置第一计数器的计数值;还用于为第二子区域设置第二计数器,设置第二计数器的计数值为读写区域中当前计数值最大的计数器的计数值加1;

其中,所述第二子区域为读写区域中未占用的区域或内部文件标识fid相同且对应的计数器的计数值非最大的子区域。

进一步,如上所述的一种延长可擦写芯片寿命的装置,还包括:

读写空间划分模块,用于在读写区域中写入数据前,根据预设的空间大小,将所述读写区域划分为n个读写空间,一个子区域对应一个读写空间,n≥2。

本发明的有益效果在于:本发明实施例中所提供的延长可擦写芯片寿命的方法及装置,通过为需要进行高频读写的指定文件预留共用的读写区域,在进行指定文件中数据写入及更新时,通过使用读写区域中不同的子区域进行写入或擦除再写入操作,从而避免了在进行数据更新时,对同一个数据写入区域反复进行多次擦除后再写入时,因文件的擦写次数超过设计寿命时,导致整个芯片无法使用的问题,通过延长了高频率擦写的指定文件的擦写寿命,提升了整个芯片的寿命,采用该方法及装置,可使得普通芯片即超越工业级或车规级芯片的寿命指标,且大大降低了成本,更好的满足了实际应用的需求。

附图说明

图1为本发明的一个实施例中一种延长可擦写芯片寿命的方法的流程示意图;

图2为本发明的一个实施例中一种延长可擦写芯片寿命的装置的结构示意图;

图3为实施例中初始化状态下的读写区域的示意图;

图4为实施例中完成第一指定文件初次写入后的读写区域的示意图;

图5为实施例中完成第一指定文件的数据更新后的读写区域的示意图;

图6为实施例中完成第二指定文件的数据写入后的读写区域的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均属于本发明保护的范围。

图1示出了本发明一个实施例中提供的一种延长可擦写芯片寿命的方法的流程示意图,由图中可以看出,该方法主要可以包括以下步骤:

步骤s100:在可擦写芯片中预留设定大小的读写区域;

步骤s200:进行初次数据写入,将第一指定文件的第一数据写入读写区域的第一子区域,记录第一指定文件的内部文件标识fid,并为第一子区域设置第一计数器,设置第一计数器的计数值;

步骤s300:将第二指定文件的第二数据写入读写区域的第二子区域,记录第一指定文件的内部文件标识fid,并为第二子区域设置第二计数器,第二计数器的计数值为当前最大计数值加1;

步骤s400:根据第一指定文件的内部文件标识fid及其计数器的计数值读取第一指定文件的数据。

本实施例所述的方法,首先根据实际应用中可擦写芯片中可能需要进行高频次读写操作的某个或某几个文件在可擦写芯片中预留设定大小的读写区域,该读写区域用作文件共享空间,可在该共享空间中进行所述文件的多次读写操作,即相当于对所述某个或某几个文件进行读写保护。其中,所述某个或某个文件具体选择哪些文件,可以根据实际需要自行进行确定。所述可擦写芯片包括但不限安全芯片se或嵌入式安全芯片ese。

由可擦写芯片的cos完成所述读写区域的划分后,将第一指定文件的第一数据写入所述读写区域的第一子区域,并记录第一指定文件的内部文件标识fid,为第一子区域设置第一计数器,设置第一计数器的计数值;其中,所述第一数据为初次写入读写区域中的数据。其中,所述内部文件标识fid为文件在所述读写区域中的文件标识id。

再次进行数据的写入时,将第二指定文件的第二数据写入所述读写区域的第二子区域,并记录第一指定文件的内部文件标识fid,为第二子区域设置第二计数器,第二计数器的计数值为读写区域中当前计数值最大的计数器的计数值加1;所述第二子区域为读写区域中未占用的区域或内部文件标识fid相同且对应的计数器的计数值非最大的子区域。

本实施例中所述的方法,通过计数器的设置和文件的内部文件标识fid实现了对读写区域中不同文件的最新有效数据的标识,即对于内部文件标识fid(即同一指定文件)相同的指定文件,计数器的计数值最大的一个为该指定文件的最新有效数据。因此,在进行第二指定文件的第二数据写入时,该数据可以写入到区域中未占用的空间或者内部文件标识fid相同但计数器非最大的子区域中。需要说明的是,该处所述的内部文件标识fid相同但计数器非最大的子区域并不只是指与第二指定文件的内部文件标识fid相同,也包括其他指定文件的内部文件标识fid,例如,如果读写区域中存储有3个子区域存储了第一指定文件的内容,这3个子区域所对应的内部文件标识fid都是第一指定文件的fid,此时,内部文件标识fid相同但计数器非最大的子区域也包括了这3个子区域中计数器非最大的两个子区域。

为了便于读写区域中文件的管理与读取,在本发明的一个实施例中,该方法还可以包括:设置一文件标识映射表;所述文件标识映射表用于存储所述读写区域中存储的文件的文件名称与文件的内部文件标识fid的映射关系。

在需要进行读写区域中某个指定文件的数据读取时,即可根据文件的名称在所述文件标识映射表查找到文件在读写区域中存储时所用的内部文件标识fid。

本实施方式中,读取所述第一指定文件的数据的读取方式具体可以包括以下步骤:

1)根据第一指定文件的文件名称在所述文件标识映射表中查找第一指定文件的内部文件标识fid;

2)根据查找到的内部文件标识fid,在所述读写区域中查找fid相同且计数值最大的子区域;

3)读取查找到的子区域中的数据,此时读取到的数据可能是所述第一数据,也可能是后续写入的第一数据的更新数据,通过计数器的计数值和内部文件标识fid即可保证读取到的数据为第一指定文件的最新有效数据。

在实际应用中,所述第一子区域与第二子区域可以连续或者不连续;所述不连续是指两个子区域之间相互不占用相同的页,所述页为可擦写芯片的最小擦除单位,一般为128个字节、或者256个字节、或者512个字节等,对于非页擦页写的芯片,不同的子区域之间可以是连续的,即可以占用相同的页,如果芯片为页擦页写的读写空间,为了避免对某一读写空间进行擦除时,对其它读写空间造成影响,读写空间之间优选不连续。

本实施例中所述的延长可擦写芯片寿命的方法,通过预留读写区域,为指定文件提供了可进行数据写入的不同子区域,从而避免了在进行数据更新时,对同一个数据写入区域反复进行多次擦除后再写入(尤其对于是需要高频擦写的文件),因文件的擦写次数超过设计寿命时,导致整个芯片无法使用的问题,通过延长了高频率擦写的指定文件的擦写寿命,提升了整个芯片的寿命,且所述读写区域可作为多个指定文件的共享区间,实现多个不同指定文件的保护。

为了便于数据的写入与读写空间的管理在本发明的一个实施例中,该方法还可以包括:在将读写区域中写入数据前,根据预设的空间大小,将所述读写区域划分为n个读写空间,一个子区域对应一个读写空间,n≥2。

即预先将所述读写区域划分成n个独立的读写空间,每个读写空间都可以用于装载一个指定文件,每个读写空间均可以进行多次数据擦除后再写入。其中,所述预设的空间大小根据时间需要进行设定,该空间大小不小于所要写入的指定文件中最大文件所要占用空间的大小,以保证每个指定文件的数据都能够正确写入。

其中,在本发明的一个实施例中,在将第二指定文件的第二数据写入第二子区域中时,若所述第二子区域中存在数据,此时,还包括:

擦除所述第二子区域中的数据,将所述第二数据写入到擦除后的所述第二子区域中。

即所述读写区域的所有读写空间均都完成一次数据写入后,再进行数据写入时,需要先进行内部文件标识fid相同且读写标识非最大的空间中的数据的擦除。

在实际应用中,该方法还包括:设置第一指定文件和第二指定文件的保护标记,所述保护标记为用于标识文件的数据存储于所述读写区域中。

通过设置保护标识,可擦写芯片便可知道所要处理(写入或读取)的文件的数据是否是存储在所述读写区域中。

对应于图1中所示的方法,本发明实施例中还提供了一种延长可擦写芯片寿命的装置,如图2所示,该装置包括读写区域预留模块100、数据写入模块200和计数器配置及更新模块300,其中:

读写区域预留模块100,用于在可擦写芯片中预留设定大小的读写区域;

数据写入模块200,用将第一指定文件的第一数据写入所述读写区域的第一子区域,并记录第一指定文件的内部文件标识fid;用于将第二指定文件的第二数据写入所述读写区域的第二子区域,并记录第一指定文件的内部文件标识fid;

计数器配置及更新模块300,用于为第一子区域设置第一计数器,设置第一计数器的计数值;还用于为第二子区域设置第二计数器,设置第二计数器的计数值为读写区域中当前计数值最大的计数器的计数值加1;

其中,所述第二子区域为读写区域中未占用的区域或内部文件标识fid相同且对应的计数器的计数值非最大的子区域。

在本发明的一个实施例中,该装置还包括读写空间划分模块400。

读写空间划分模块400,用于在将读写区域中写入数据前,根据预设的空间大小,将所述读写区域划分为n个读写空间,一个子区域对应一个读写空间,n≥2。

为了更好的说明本发明实施例中所提供的方法及装置,下面结合具体实施例对本发明进行进一步详细说明。

实施例

本实施例中,可擦写芯片为安全芯片se,第一指定文件为se中3f00目录下的、名称为6f5b的文件,文件的大小为100个字节,第二指定文件为se中3f00目录下的、名称为4f20的文件,文件大小为200个字节,在应用中,6f5b和4f20这两个文件会进行高频的读写,这两个文件中任何一个文件文件一旦达到芯片设计的写入寿命,文件将无法写入,导致整个se都会作废。在se中进行6f5b文件和4f20文件的写入之前,向se发送指定,通知se这两个需要进行保护,se对两个文件做保护标记。

采用本发明实施例中所述的方法延长该芯片寿命的方法对该芯片进行保护的流程如下:

首先,在安全芯片se中预留出大小为256×20=5120字节的读写区域,作为第一指定文件和第二指定文件的共享区域,并将5120字节的读写区域划分成20个大小为256k的读写空间,20个读写空间分别记为空间1-空间20,其中,每个空间的前4个字节用于对读写空间的标记定义,前3个字节用作空间的计数器count,计数器的下一个字节用于记录空间中所要写入的文件的内部文件标识fid(即对应读写空间的id)。本实施例中,20个读写空间的计数器的初始值均为0,内部文件标识fid均为空(本实施例中用0标识),初始化状态下的读写区域的示意图如图3所示。

本实施例中,6f5b的内部文件标识fid为a,4f20的内部文件标识fid为b,将两个文件的文件名称与内部文件标识fid的映射关系存储到文件标识映射表中。

当进行数据的第一次写入时,本实施例中为需要往6f5b文件写数据aaaa(6f5b的初始内容)时,写入步骤如下:

1、se找到6f5b文件,发现其有保护标识,于是通过文件标识映射表对应关系找到它的内部文件标识a;

2、将数据aaaa写入读写区域的空间1中(优选按照顺序进行数据写入,当然也可以是其它空间),将该fid更新为a,计数器的计数值更新为1,完成数据aaaa写入后的读写空间如图4所示。

当需要进行6f5b文件的数据更新时,假设更新后的数据为bbbb,将数据bbbb写入读写区域中的步骤如下:

1、se找到6f5b文件,发现其有保护标识,从文件标识映射表中找到6f5b的内部文件标识a;

2、在读写区域的查找当前计数值最大的空间,本实施例中,为空间1;

3、按照约定顺序(本实施例中为由空间1-20顺次进行数据写入),从空间1的下一空间开始寻找,寻找未占用的空间或者文件内部标识fid相同的空间中计数值非最大的空间,优选为未占用的空间,本实施例中,为空间2;

4、将空间2的计数器的计数值count更新为当前最大的count值加1,即更新为2,并将内部文件标识fid置为a,将数据bbbb写入空间2。

完成数据bbbb写入后的读写区域如图5所示。

当往4f20文件中写入数据cccc时,写入步骤如下:

1、se找到4f20文件,发现其有保护标识,从文件标识映射表中找到4f20的内部文件标识b;

2、在读写区域的查找当前计数值最大的空间,本实施例中,为空间2;

3、按照约定顺序从空间2的下一空间开始寻找,寻找未占用的空间或者文件内部标识fid相同的空间中计数值非最大的空间,优选为未占用的空间,本实施例中,为空间3;

4、将空间3的计数器的计数值count更新3,并将内部文件标识fid置为b,将数据bbbb写入空间3。

完成数据cccc写入后的读写区域如图6所示。

当20个空间均完成一次数据写入后,再次进行6f5b的文件的写入时,假设需要写入的数据为dddd,写入步骤如下:

1、se找到6f5b文件,发现其有保护标识,从文件标识映射表中找到6f5b的内部文件标识a;

2、在读写区域的查找当前计数值最大的空间,此时为空间20;

3、按照约定顺序(本实施例中为由空间1-20顺次进行数据写入),从空间20的下一空间开始寻找,寻找未占用的空间或者文件内部标识fid相同的空间中计数值非最大的空间,此时,所有空间均已经占用过,内部文件标识fid相同的空间中计数值非最大的空间按约定顺序确定为空间1;

4、将空间1的计数器的计数值count更新为当前最大的count值加1,即更新为21,并将内部文件标识fid置为a,将数据dddd写入空间2。

完成上述写入后,在需要读取文件6f5b中的数据时,读取步骤如下:

1、se找到6f5b文件,发现其有保护标识,从文件标识映射表中找到6f5b的内部文件标识a;

2、在读写区域的查找内部文件标识fid为a、且计数值为标识为a的文件中计数值最大的空间,此时为空间1,读取空间1中的数据dddd。

将本发明实施例中所提供的方法及装置,应用于实际应用场景中发现,可使普通的芯片超越工业级和/或车规级的芯片的使用寿命,更好的满足用户的实际需求,而将该方法及装置,应用于工业级或车规级的芯片中,更可以进一步提高使用寿命。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。

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