本发明专利技术公开了一种优化软件执行时间的NOR FLASH数据更新方法及系统,包括以下步骤:实测当前NOR芯片的擦除、写、读时间参数;根据擦除、写、读时间参数进行分析,得到分别以单个页、单个扇区、单个块为最大边界进行数据更新的时间拐点;基于时间拐点,通过执行时间优化算法对NOR FLASH数据进行更新;其中,时间拐点表示在某个最大边界内,某种数据更新方法执行时间相比另一种数据更新方法变短或者变长的转换点字节数边界。本发明专利技术用于解决现有技术在对FLASH的擦写读操作执行数据更新时,缺乏对软件执行时间维度的考虑的技术问题,从而达到能快速执行NOR数据更新,减少软件执行时间,降低测试时间成本的目的。
【技术实现步骤摘要】
本专利技术涉及芯片方案和测试,具体涉及一种优化软件执行时间的norflash数据更新方法及系统。
技术介绍
1、在现有使用nor flash(为方便叙述,下文简称为nor)的芯片方案场景中,无论是正常的固件软件系统执行,还是芯片出厂ft测试,或者工厂固件烧录更新,都可能会需要对nor空间进行数据更新。
2、一方面,对nor数据更新的操作主要包括擦除、写、读三种,nor本身的物理特性决定了擦除是将数据区域的每个位由0变为1,而写操作只能是将1变为0(并且特殊的,写操作最大只能是按256字节的页长度写入)。因此,对nor的数据更新操作一般是读取旧数据块备份,擦除旧数据块所在区域,将备份的旧数据修改所需的内容变为新数据块,将新数据块写入之前被擦除的区域。
3、另一方面,某些mcu(micro-controllerunit)软件系统运行时,对实时性要求较高,要求对nor数据更新执行时间越短越好。芯片出厂ft测试,或者工厂固件烧录更新场合更是以秒计费。并且,nor本身包括多种不同长度块的擦除命令,并非所有nor数据空间在更新前都是处于已擦除状态(即必须先擦除后才能写入更新)。
4、基于以上原因,人们提出了以下专利方案:
5、专利《一种动态增强flash擦写次数的方法及系统》专利号(cn112162936b),该专利主要是基于flash的擦写寿命维度考虑,提出一种基于flash页擦写(固定256字节)的方法来进行flash内容擦写更新,并且判断读和写的flash目的页是否为坏页的方法和系统。</p>6、专利《一种提升nor flash擦写寿命的存储控制方法》专利号(cn115268768a),该专利主要也是基于flash的擦写寿命维度考虑,提出一种建立索引页来记录flash数据页使用容量,采用一次擦除,多次写入的思想来提高数据页的利用率,减少擦写次数,从而提高flash擦写寿命的方法。
7、专利《一种提高flash擦写寿命的方法》专利号)(cn105159601a),该专利主要也是基于flash的擦写寿命维度考虑,提出一种扇区内分子块,然后建立索引信息记录是否已擦除或者已写过数据的状态,从而动态控制对flash的擦写索引信息,延长flash的擦写寿命。
8、以上几篇现有技术专利,都是仅从flash的寿命维度考虑flash的擦写读操作执行数据更新,并没有从软件执行时间维度考虑。但实际产品量产过程中,在某些场合比如芯片出厂ft测试,或者工厂固件烧录更新,软件对flas h的擦写读执行时间是影响产品成本的一个重要关键因素(这些场合成本费用都是按秒计算)。
技术实现思路
1、为了克服现有技术的不足,本专利技术提供一种优化软件执行时间的nor fl ash数据更新方法及系统,用于解决现有技术在对nor的擦写读操作执行数据更新时,缺乏对软件执行时间维度的考虑的技术问题,从而达到能快速执行no r数据更新,减少软件执行时间,降低测试时间成本的目的。
2、为解决上述问题,本专利技术所采用的技术方案如下:
3、一种优化软件执行时间的nor flash数据更新方法,包括以下步骤:
4、实测当前nor芯片的擦除、写、读时间参数;
5、根据所述擦除、写、读时间参数进行分析,得到分别以单个页、单个扇区、单个块(块分为32k块和64k块两种)为最大边界进行数据更新的时间拐点;
6、基于所述时间拐点,通过执行时间优化算法对nor数据进行更新;
7、其中,所述时间拐点表示在某个最大边界内,某种数据更新方法执行时间相比另一种数据更新方法变短或者变长的转换点字节数边界。
8、作为本专利技术优选的实施方式,在得到以单个页为最大边界进行数据更新的时间拐点时,包括:
9、以单个页为最大边界,将边界内数据更新字节数从1递增到256字节,并记录下执行时间,从而确定单个页的时间拐点。
10、作为本专利技术优选的实施方式,在得到以单个扇区为最大边界进行数据更新的时间拐点时,包括:
11、以单个扇区为最大边界,分别通过第一数据更新方法和第二数据更新方法将边界内数据更新字节数从1递增到4k字节,得到第一执行时间和第二执行时间;
12、根据所述第一执行时间和所述第二执行时间,确定单个扇区的时间拐点;
13、其中,在通过第一数据更新方法将边界内数据更新字节数从1递增到4k字节时,包括:
14、将数据更新字节数分为两部分,当第一部分的字节数刚好是整页字节数的倍数时,得到第一部分扇区时间,当剩余部分的字节数不足单页字节数时,得到第二部分扇区时间,将所述第一部分扇区时间和所述第二部分扇区时间相加得到所述第一执行时间;
15、在通过第二数据更新方法将边界内数据更新字节数从1递增到4k字节时,包括:
16、按扇区进行操作,先读备份整个扇区+擦除整个扇区+写更新整个扇区,得到所述第二执行时间。
17、作为本专利技术优选的实施方式,在得到以单个块为最大边界进行数据更新的时间拐点时,包括:
18、以单个32k块为最大边界,分别通过第三数据更新方法和第四数据更新方法将边界内数据更新字节数从1递增到32k字节,得到第三执行时间和第四执行时间;
19、根据所述第三执行时间和所述第四执行时间,确定单个32k块的时间拐点;
20、其中,在通过第三数据更新方法将边界内数据更新字节数从1递增到32k字节时,包括:
21、将数据更新字节数分为两部分,当第一部分的字节数刚好是整扇区字节数的倍数时,得到第一部分32k块时间,当剩余部分的字节数不足单个整扇区字节数时,则根据所述第一数据更新方法和所述第二数据更新方法分别对所述剩余部分的字节数进行更新,将其中更短的执行时间作为所述剩余部分的字节数的第二部分32k块时间,将所述第一部分32k块时间和所述第二部分32k块时间相加得到所述第三执行时间;
22、在通过第四数据更新方法将边界内数据更新字节数从1递增到32k字节时,包括:
23、按32k块进行操作,先读备份整个32k块+擦除整个32k块+写更新整个32k块,得到所述第四执行时间。
24、作为本专利技术优选的实施方式,在得到以单个块为最大边界进行数据更新的时间拐点时,还包括:
25、以单个64k块为最大边界,分别通过第五数据更新方法和第六数据更新方法将边界内数据更新字节数从1递增到64k字节,得到第五执行时间和第六执行时间;
26、根据所述第五执行时间和所述第六执行时间,确定单个64k块的时间拐点;
27、其中,在通过第五数据更新方法将边界内数据更新字节数从1递增到64k字节时,包括:
28、将数据更新字节数分为两部分,当第一部分的字节数刚好是整32k字节数的倍数时,得到第一部分64k块时间,当剩余部分的字节数不足单个整32k块字节数时,则根据所述本文档来自技高网
...
【技术保护点】
1.一种优化软件执行时间的NOR FLASH数据更新方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的优化软件执行时间的NOR FLASH数据更新方法,其特征在于,在得到以单个页为最大边界进行数据更新的时间拐点时,包括:
3.根据权利要求1所述的优化软件执行时间的NOR FLASH数据更新方法,其特征在于,在得到以单个扇区为最大边界进行数据更新的时间拐点时,包括:
4.根据权利要求3所述的优化软件执行时间的NOR FLASH数据更新方法,其特征在于,在得到以单个块为最大边界进行数据更新的时间拐点时,包括:
5.根据权利要求4所述的优化软件执行时间的NOR FLASH数据更新方法,其特征在于,在得到以单个块为最大边界进行数据更新的时间拐点时,还包括:
6.根据权利要求5所述的优化软件执行时间的NOR FLASH数据更新方法,其特征在于,在通过执行时间优化算法对NOR FLASH数据进行更新时,包括:
7.根据权利要求6所述的优化软件执行时间的NOR FLASH数据更新方法,其特征在于,在调用CalInHeadTail64k函数进行处理时,包括:
8.根据权利要求7所述的优化软件执行时间的NOR FLASH数据更新方法,其特征在于,在调用CalInHeadTail32k函数进行处理时,包括:
9.根据权利要求8所述的优化软件执行时间的NOR FLASH数据更新方法,其特征在于,在调用CalInHeadTail4k函数进行处理时,包括:
10.一种优化软件执行时间的NOR FLASH数据更新系统,其特征在于,包括:
...
【技术特征摘要】
1.一种优化软件执行时间的nor flash数据更新方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的优化软件执行时间的nor flash数据更新方法,其特征在于,在得到以单个页为最大边界进行数据更新的时间拐点时,包括:
3.根据权利要求1所述的优化软件执行时间的nor flash数据更新方法,其特征在于,在得到以单个扇区为最大边界进行数据更新的时间拐点时,包括:
4.根据权利要求3所述的优化软件执行时间的nor flash数据更新方法,其特征在于,在得到以单个块为最大边界进行数据更新的时间拐点时,包括:
5.根据权利要求4所述的优化软件执行时间的nor flash数据更新方法,其特征在于,在得到以单个块为最大边界进行数据更新的时间拐点时,还包括:
【专利技术属性】
技术研发人员:陈派林,赵红涛,
申请(专利权)人:珠海昇生微电子有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。