【技术实现步骤摘要】
减少嵌入式系统存储介质读取干扰的方法
[0001]本专利技术涉及存储器数据缓存
,更具体地,涉及一种减少嵌入式系统存储介质读取干扰的方法。
技术介绍
[0002]嵌入式系统一般基于Nandflash作为存储介质设计嵌入式文件系统,然后在文件系统上存储业务数据。根据各个业务不同特点,有些业务可能会频繁访问某些数据,而这些数据并不连续。在每次读取Nandflash的某页数据时,由于FN(Fowler
‑
Nordheim)隧穿效应,都会对同一个块内的其它页上的数据产生轻微影响,也就是Read Disturb
‑
读取干扰;随着读取次数增多,积累的干扰超过ECC纠错阈值时,那么数据就无法正常读回;例如在SLC Nandflash中,对一个块读1KK次会出现读干扰问题,在MLC Nandflsh中,100K甚至20K读取就可能出现读取干扰问题。通常业界使用硬件电路缓存的方式减少对Nandflash的读取次数,从而降低读取干扰;或者监测存储单元受到的干扰程度,当干扰程度达到某个阈值时,将受干扰存储 ...
【技术保护点】
【技术特征摘要】
1.一种减少嵌入式系统存储介质读取干扰的方法,所述式系统包括MCU芯片,其特征在于,所述方法包括:使用所述MCU芯片的ram内存对需要高频读取的业务数据进行缓存,并采用嵌入式文件系统存储数据,其中每个缓存节点具有特定的数据结构;数据缓存过程中:通过缓存链表管理所有缓存节点,并动态分配缓存节点;通过所述嵌入式文件系统的读接口完成缓存数据的初始化、读取、更新和校验;通过所述嵌入式文件系统的写接口对缓存数据进行更新;通过管理缓存节点的读次数,动态释放当前访问频率低的缓存节点。2.根据权利要求1所述的减少嵌入式系统存储介质读取干扰的方法,其特征在于,每个缓存节点的数据结构的参数均包括:文件唯一标识fileID、读取起始地址startAddr、读取长度len、缓存数据*data、crc16校验值、指向下一节点的指针*pNext以及该缓存节点的读次数readNum;其中,第一个缓存节点被定义为一个全局变量Head,类型为记录节点,所述第一个数据缓存节点的数据结构中的fileID、*data及*pNext均被被初始化为Null,该缓存节点的readNum被初始化为0。3.根据权利要求2所述的减少嵌入式系统存储介质读取干扰的方法,其特征在于,所述通过所述嵌入式文件系统的读接口完成缓存数据的初始化、读取、更新和校验,包括:当首次调用所述嵌入式文件系统的读接口时,根据所述读接口传入的参数,将第一个数据缓存节点数据结构中的各个参数进行初始化,包括:使用文件起始簇号初始化fileID;使用要读取的偏移地址初始化startAddr;使用要读取的数据长度初始化len,同时动态分配len字节长度的内存缓存读到的数据;计算从fileID到缓存数据的CRC16校验值;将该缓存节点的readNum设置为1。4.根据权利要求3所述的减少嵌入式系统存储介质读取干扰的方法,其特征在于,所述通过管理缓存节点的读次数,动态释放当前访问频率低的缓存节点,包括:当非首次调用文件系统的读接口时,根据所读数据的文件标识、起始地址、读取长度,判断所要读取的数据是否在已有的缓存链表中:若所读数据完全在已有的缓存链表中,则判断缓...
【专利技术属性】
技术研发人员:王招凯,洪岩,缪云青,刘锋,
申请(专利权)人:航天信息股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。