System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种基于nand flash的前照灯数据存储方法,属于汽车电子。
技术介绍
1、目前,随着现代汽车电子系统的快速发展和技术的提升,前照灯所需的数据存储量也在逐渐增大,大量数据都需要在前照灯系统中进行存储和管理。
2、在现代汽车电子中,nand flash由于其高密度,低成本,非易失性,功耗低,读写和擦除速度快等优点,被广泛应用于数据存储。nand flash由logic unit(lun)、plane、block(块)、page组成,擦除是以block为单位。然而,nand flash存储设备不可避免的会存在坏块问题,除了在出厂时会存在一定比例的坏块,此外在使用过程中,也可能产生新的坏块。由于坏块无法完成正常的擦除/读写操作,这些坏块可能导致数据的丢失、损坏,因此需要采用一种简单快捷的坏块管理方法,屏蔽坏块的使用,使得数据始终在有效块上操作。
3、由于前照灯系统对数据的可靠性和实时性要求较高,坏块问题对于前照灯的影响可能更加严重,甚至会导致灯光效果失真、故障诊断错误等问题。因此,如何在前照灯系统中有效管理nand flash存储设备进行数据存储,同时避免坏块产生的问题就变得至关重要,而现有的基于nand flash的车灯数据存储和坏块管理方法相对复杂且存在一定的局限性。
技术实现思路
1、本专利技术所要解决的技术问题是,克服现有技术的不足,提供一种基于nand flash的前照灯数据存储方法,以提高存储设备的可靠性和数据完整性。
2
3、一种基于nandflash的前照灯数据存储方法,它包括:
4、步骤s1、将前照灯数据的nand flash存储设备划分为数据存储区和数据备份区,同时提供一个初始的坏块表用于坏块管理;
5、步骤s2、遍历全盘block块,对初始坏块进行检测,选取数据备份区的有效块对坏块进行替换,并重新分配地址,完成对初始坏块表的更新维护;
6、步骤s3、将数据存储区的逻辑地址按序划分为多个固定大小的地址区域,每个地址区域内存放单个多媒体资源数据;
7、步骤s4、在固定的地址区域内存放数据,读取存入的数据并通过ecc校验判断是否存在问题;依次对单个block块或多媒体资源存储块单元或整份多媒体资源数据进行处理;更改逻辑地址到物理地址的映射,进行重新分配,保证逻辑地址连续且指向有效块,完成坏块表的更新维护。
8、进一步,所述数据存储区用于正常记录数据,所述数据备份区用于存储有效块,所述有效块用于替换坏块。
9、进一步,所述步骤s2具体包括如下步骤:
10、步骤s21、遍历nand flash中的每一个block块,首先定位到数据存储的第一个block块no.0;
11、步骤s22、检测坏块标志,判断是否存在坏块;
12、步骤s23、等待所有block坏块检测完成,结束对初始坏块表的更新维护。
13、进一步,所述步骤s22具体包括如下步骤:
14、读取当前block的spare区域中第1、2个page的第1个byte,判断其值是否为00h;
15、若是00h,则判定为初始坏块,然后选择数据备份区中有效块的逻辑地址到物理地址的地址映射与当前坏块的地址映射进行替换,更新维护坏块表;
16、若不是00h,则判定不存在坏块,继续检测下一个block块是否为坏块。
17、进一步,所述步骤s3具体包括如下步骤:
18、将所述数据存储区的逻辑地址按序划分为固定大小的地址区域,每个所述地址区域内存放单个多媒体资源数据,将所述地址区域内的多个block块按一定数量整合为一个多媒体资源存储块单元。
19、进一步,所述步骤s4具体包括如下步骤:
20、步骤s41、进行数据存储,将每个媒体资源存储块单元按区域内的块地址顺序写入到固定地址区域;
21、步骤s42、对写入的数据进行读取,通过ecc校验判断已写入的数据是否出现错误,若没有错误,则继续进行后续数据操作;若出现错误,则执行步骤s43;
22、步骤s43、当ecc校验出现错误时,若目标存储块通过ecc纠正后仍然达到预设阈值或无法进行纠正,则判断寄存器ecc_s[1:0]的值,若寄存器ecc_s[1:0]的值为10b或11b,则判定存在坏块;
23、步骤s44、检查数据备份区是否已经存满坏块,即判断寄存器bbmt_f的值,若bbmt_f=1,则认定坏块表已满,备份区无有效块可替换,则操作失败;否则,进入执行步骤s45;
24、步骤s45、选取数据备份区剩余的有效块,将数据从坏块中转移至用于替换的有效块,重新读取替换的有效块中的数据,并进行ecc校验,若出现错误,则执行步骤s46,若没有错误,则执行步骤s49;
25、步骤s46、判断数据备份区剩余有效块的数量是否足够支持多媒体资源存储块单元的数据转移,若足够,则执行步骤s47;
26、步骤s47、将坏块所在的多媒体资源存储块单元中的数据转移至数据备份区的有效块中,再次对数据进行ecc校验,若存在错误,则执行步骤s48,若没有错误,则执行步骤s49;
27、步骤s48、在数据备份区中重新选取一定数量的有效块,将整份多媒体资源数据重新处理;
28、步骤s49、通过坏块表写入指令,更改逻辑地址到物理地址的映射,进行重新分配,保证逻辑地址连续且指向有效块,完成坏块表的更新维护。
29、采用了上述技术方案,本专利技术提供了前照灯数据的存储、坏块检测和坏块管理功能,为用户提供了一个虚拟的、连续的、无坏块的存储空间,并划分出多个固定的地址区域存储数据,实现存储数据按块进行连续写入、连续擦除、连续读取等操作。同时采用坏块替换策略,进行坏块管理。因此,与现有技术中的坏块跳过策略相比,在存储数据时不需要“跳过”坏块,提高了nand flash的访问效率,本专利技术采用简单高效的方法对坏块表进行更新维护,在发现坏块的第一时间进行纠正和替换,将数据转移至备份区对应的有效块中,以确保存储设备的可靠性和数据的完整性。
本文档来自技高网...【技术保护点】
1.一种基于NAND Flash的前照灯数据存储方法,其特征在于,它包括:
2.根据权利要求1所述的基于NAND Flash的前照灯数据存储方法,其特征在于:所述数据存储区用于正常记录数据,所述数据备份区用于存储有效块,所述有效块用于替换坏块。
3.根据权利要求1所述的基于NAND Flash的前照灯数据存储方法,其特征在于,所述步骤S2具体包括如下步骤:
4.根据权利要求3所述的基于NAND Flash的前照灯数据存储方法,其特征在于,所述步骤S22具体包括如下步骤:
5.根据权利要求1所述的基于NAND Flash的前照灯数据存储方法,其特征在于,所述步骤S3具体包括如下步骤:
6.根据权利要求1所述的基于NAND Flash的前照灯数据存储方法,其特征在于,所述步骤S4具体包括如下步骤:
【技术特征摘要】
1.一种基于nand flash的前照灯数据存储方法,其特征在于,它包括:
2.根据权利要求1所述的基于nand flash的前照灯数据存储方法,其特征在于:所述数据存储区用于正常记录数据,所述数据备份区用于存储有效块,所述有效块用于替换坏块。
3.根据权利要求1所述的基于nand flash的前照灯数据存储方法,其特征在于,所述步骤s2具体包括如下步骤:...
【专利技术属性】
技术研发人员:朱润辰,唐金腾,孙加勇,贾强强,
申请(专利权)人:常州星宇车灯股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。