一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于擦除时间判断NANDFlash对浅擦除处理的方法与流程

2021-05-11 16:54:00 来源:中国专利 TAG:擦除 存储器 判断 时间 方法
一种基于擦除时间判断NAND Flash对浅擦除处理的方法与流程

本发明涉及一种基于擦除时间判断nandflash对浅擦除处理的方法,属于存储器技术领域。



背景技术:

nandflash是非易失性存储器,掉电数据不丢失,体积小,可以实现廉价高效的大容量存储,因此受到广泛应用。

一片nandflash一般是由许多块(block)组成,每个块(block)又包含许多字线(wordline),每个字线(wordline)又包含若干页(page)。用户可以对nandflash进行擦除、写入和读取操作,其中,块(block)一般是擦除操作的最小寻址单元,字线(wordline)一般是写入操作的最小寻址单元,页(page)一般是读取操作的最小寻址单元。

任何nandflash的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除操作。对未写满的block进行擦除操作称为浅擦除(shallowerase),对已经写满的block进行擦除操作称为正常擦除(normalerase)。

nandflash由于内部原理和制作工艺限制,在使用过程中会出现位(bit)反转的情况,即写入的数据在读出时有些位由1变0,有些位由0变1。部分nand厂商担心多次shallowerase操作会造成更多的位反转,所以在用户进行shallowerase操作时,部分nand厂商设计nand内部要先对要擦除的块(block)用无效数据填充,然后再擦除。

如果nand内部对shallowerase的块进行写无效数据的处理,那么用户便不再需要写无效数据。因此,我们需要判断nand内部是否对shallowerase的块进行写满无效数据的处理。



技术实现要素:

本发明的目的是提供一种nandflash内部是否对shallowerase的块(block)先写无效数据再擦除的判断方法,并告知该种判断方法的具体操作步骤。

因为写无效数据会消耗时间,因此本方法判断nandflash内部是否对shallowerase的块(block)先写无效数据再擦除的方法为:基于擦除时间来判断。

由于擦除时间受多种因素影响,所以我们要做的是,排除其他因素的干扰,测试写操作停止在不同wordline的擦除时间。

一种基于擦除时间判断nandflash对浅擦除处理的方法,包括以下步骤:

s01)、确定n个对擦除时间存在干扰的因素s1、s2、…、sn,n为正整数;

s02)、基于步骤s01)确定的n个因素,对要判断的nandflash的块进行n级分组,一级分组按因素s1进行分组,二级分组按因素s2对一级分组的结果进行分组,依次类推,n级分组按因素sn对n-1级分组的结果进行分组,n级分组的结果称为对照组,每个对照组要保证有足够多的nandflash的块。

s03)、对不同对照组的nandflash的块进行多次擦写操作,对于每个对照组,其每次的写入量与之前的写入量相同,并记录擦除时间;

s04)、将每个对照组多次擦写的擦除时间计算平均值,并记录到表格中;

s05)、基于表格,分析写入量对擦除时间的影响,从而判断nandflash对浅擦除处理方式;具体为:如果在不同因素下,写入量在某个比例以下时的擦除时间比写满block所用擦除时间多,则判断在用户下发擦除命令后,nandflash内部对写入量低于该比例的block,消耗时间进行了内部写无效数据的处理,然后再执行擦除命令;如果在不同因素下,写入量在某个比例以下的擦除时间小于或等于写满block所用擦除时间,则判断在用户下发擦除命令后,nandflash内部对写入量低于该比例的block,内部没有进行写无效数据的处理,而是直接执行擦除命令。

进一步的,步骤s01确定的n个因素为磨损程度、写入量和温度,一级分组时根据磨损程度将nandflash分为i个一级分组,二级分组时,根据写入量将每个一级分组再分为j个二级分组,三级分组时,根据温度将每个二级分组再分为k个三级分组,通过三级分组,共得到i*j*k个对照组。

进一步的,一级分组时,将nandflash按照磨损程度从pe0到nandflash生命末期按照1000次擦写为间隔划分为i组。

进一步的,二级分组时,按照写入量从空到满,以20%为间隔,将每个一级分组划分为j个二级分组。

进一步的,三级分组时,按照温度从室温到nandflash最高工作温度,以5℃为间隔,将每个二级分组划分为k组。

进一步的,nandflash最高工作温度为nand手册给出的最高工作温度。

本发明的有益效果:本方法可以判断在用户下发擦除命令后,nandflash内部是否对shallowerase的块(block)进行写无效数据的处理,用户可根据结论判断是否还需要对nandflash的shallowerase的块(block)写无效数据。从而避免无效冗余操作,提升nand访问效率。

附图说明

图1为擦除时间记录表格参考示例图;

图2为本方法的流程图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步的说明。

实施例1

本实施例公开一种基于擦除时间判断nandflash对浅擦除处理的方法,如图2所示,包括以下步骤:

s01)、确定n个对擦除时间存在干扰的因素s1、s2、…、sn,n为正整数;

本实施例中,确定3个对擦除时间存在干扰的因素,分别为磨损程度pe、写入量和温度。

s02)、根据步骤s01的其他因素,设置不同的对照组。比如,一级分组时根据磨损程度将nandflash分为i个一级分组,二级分组时,根据写入量将每个一级分组再分为j个二级分组,三级分组时,根据温度将每个二级分组再分为k个三级分组,通过三级分组,共得到i*j*k个对照组。

具体的,一级分组时,将nandflash按照磨损程度从pe0到nandflash生命末期按照1000次擦写为间隔划分为i组,分别为:pe0、pe1000、pe2000、pe3000、······。

二级分组时,按照写入量从空到满,以20%为间隔,将每个一级分组划分为j个二级分组。本实施例中,写入量从0到100%,每个一级分组被划分为6个二级分组。

三级分组时,按照温度从室温到nandflash最高工作温度,以5℃为间隔,将每个二级分组划分为k组。室温为30°c,本实施例中,nandflash最高工作温度为85°c,则每个二级分组被划分为11个三级分组。

由于block差异,各block之间的擦除时间有差别,所以要保证i*j*k组的block有足够的样本量。本实施例中,每个对照组的样本量为100个block。

s03)、对步骤s02的不同对照组(i*j*k组)进行多次擦写操作,对于每个对照组,其每次的写入量保持与之前的写入量相同,并记录擦除时间。多次擦写是由于相同的block相同的写入量每次的擦除时间也不一定相同,我们需要通过多次擦写来计算平均值。

s04)、使用脚本将每个对照组(相同磨损程度、相同写入量和相同温度下),多次擦写的擦除时间计算平均值,并记录数据整理到表格里,表格示例见图1,图1表示了磨损程度pe0、30°c到85°c、0到100%写入量,对应的每个对照组多次擦写的平均擦除时间;

s05)、基于表格,分析写入量对擦除时间的影响,判断nandflash内部是否对shallowerase的块(block)先写无效数据再擦除的处理。基于表格,我们可以看出不同磨损程度、不同温度下,擦除时间随写入量的变化关系。

如果在不同磨损程度、不同温度下,写入量在某个比例以下时的擦除时间,比写满block所用时间多,比如多出300us。则判断在用户下发擦除命令后,nandflash内部对写入量低于该比例的block,消耗时间进行了内部写无效数据的处理,然后再执行擦除命令。

反之,如果在不同磨损程度、不同温度下,写入量在某个比例以下时的擦除时间,小于或等于写满block所用时间,如图1的示例时间。则判断在用户下发擦除命令后,nandflash内部对写入量低于该比例的block,内部没有进行写无效数据的处理,而是直接执行擦除命令。

通过本发明描述的判断方法,可以判断在用户下发擦除命令后,nandflash内部是否对shallowerase的块(block)进行写无效数据的处理。假如nand内部对写入量低于某个比例的block进行先写无效数据的处理,则用户进行shallowerase操作时,无需先写满无效数据,直接擦除即可;反之,用户进行shallowerase操作时,建议用户先写满无效数据,然后再擦除。

由上述可知,用户可根据结论判断是否还需要对nandflash的shallowerase的块(block)写无效数据。从而避免无效冗余操作,提升nand访问效率。

以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜