一种基于NAND FLASH的序列号和MAC地址储存方法
文献发布时间:2023-06-19 12:22:51
技术领域
本发明涉及存储技术领域,特别涉及一种基于NAND FLASH的序列号和MAC地址储存方法。
背景技术
随着科技的不断发展,特别是NAND FLASH技术的发展。现有技术中,产品制造商为了更好管理每一台设备程序升级、用户认证等操作需要验证“产品的合法身份”需要写入序列号及MAC地址,目前普遍做法是将序列号和MAC地址在烧写到EEPROM、EFUSE或者FLASH指定分区。将FLASH划分多个分区,基本包括引导程序分区、内核分区、文件系统分区以及序列号和MAC地址分区等。
现有技术中存在的缺陷在于:
1、EEPROM需要增加电路和芯片,额外增加产品成本。
2、EFUSE只能写一次,不能修改,空间有限。
3、序列号和MAC地址分区在全擦FLASH时需要重写。
4、数据读写没有保护和校验机制。
现有技术中的常用术语包括:
EEPROM:Electrically Erasable Programmable ROM,电可擦除可编程的存储器。
EFUSE:和EEPROM类似,属于一次性可编程存储器。
NAND FLASH:一种非易失性存储器,即断电数据也不会丢失。
块(BLOCK):NAND FLASH擦除操作单位,一般容量128KB,包含64个2KB页。
坏块:是指在NAND FLASH中出现不能进行擦写操作的区域。
MTD:Memory Technology Device即内存技术设备,在Linux内核中MTD层为NORFLASH和NAND FLASH设备提供统一接口。MTD将文件系统与底层FLASH存储器进行了隔离。
序列号(SN):Serial Number的缩写。序列号是一组数字和字符组合的标识符,通常都包含产品型号、版本号、生产厂商、日期、流水号等信息,具有唯一性。
MAC地址:Medium/Media Access Control地址,译为媒体存取控制位址,也叫硬件地址物理地址。采用十六进制数,共六个字节的标识符表示在网络上一个站点位置。具有全球唯一性。
发明内容
为了解决上述问题,本发明的目的在于:提供一种简单的方法克服现有技术中的问题,能够不增加额外电路和芯片,不占用EFUSE有限空间。
具体地,本发明提供一种基于NAND FLASH的序列号和MAC地址储存方法,包括以下步骤:
S1,在NAND FLASH最后分割预留部分存储序列号和MAC地址区域;
S2,在擦写序列号和MAC地址区域遇到坏块时标记坏块,并找到下一个好块位置保存数据;
S3,将序列号和MAC地址区域设置为MTD管理层不可见;
S4,所述序列号和MAC地址区域必须通过指定接口读写。
所述步骤S3中,将序列号和MAC地址区域设置为MTD管理层不可见是通过在MTD管理层上得到的FLASH存储空间减去了所述预留部分的大小而实现。
所述的步骤S2,进一步包括:
S2.1,MAC地址开始对应第N块开始,根据MAC大小分别存储MAC地址长度、MAC地址数据;
S2.2,当擦写进行到第Z块,发现第Z块是坏块,则标记第Z块为坏块;
S2.3,从第Z+1块开始继续存储,根据序列号大小分别存储序列号长度、序列号数据。
由此,本申请的优势在于:通过本方法:
1、既方便修改,又可兼容安全性。
2、全擦FLASH时不影响序列号和MAC地址保存区域。
3、操作方便,提高生产效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。
图1是本发明方法的示意流程图。
图2是本发明方法的示意框图。
具体实施方式
为了能够更清楚地理解本发明的技术内容及优点,现结合附图对本发明进行进一步的详细说明。
如图1所示,本发明涉及一种基于NAND FLASH的序列号和MAC地址储存方法,包括以下步骤:
S1,在NAND FLASH最后分割预留部分存储序列号和MAC地址区域;
S2,在擦写序列号和MAC地址区域遇到坏块时标记坏块,并找到下一个好块位置保存数据;
S3,将序列号和MAC地址区域设置为MTD管理层不可见;
S4,所述序列号和MAC地址区域必须通过指定接口读写。
所述的预留部分大于序列号和MAC地址大小之和。
所述的预留部分为2M空间,即8个块。
所述步骤S3中,将序列号和MAC地址区域设置为MTD管理层不可见是通过在MTD管理层上得到的FLASH存储空间减去了所述预留部分的大小而实现。
应用程序和烧录工具通过指定接口读写所述序列号和MAC地址区域。
全擦FLASH时不影响序列号和MAC地址存储区域。
所述的步骤S2,进一步包括:
S2.1,MAC地址开始对应第N块开始,根据MAC大小分别存储MAC地址长度、MAC地址数据;
S2.2,当擦写进行到第Z块,发现第Z块是坏块,则标记第Z块为坏块;
S2.3,从第Z+1块开始继续存储,根据序列号大小分别存储序列号长度、序列号数据。
本发明还可以进一步解释为是在NAND FLASH最后分割一部份空间存储序列号和MAC地址。由于NAND FLASH工艺特性不能保证所有存储区域都是好块,所以给序列号和MAC地址存储区域预留2M空间(8个块),在擦写序列号和MAC地址区域遇到坏块时将标记坏块并找到下一个好块位置保存数据。
如图2所示,在MTD管理层上得到的FLASH存储空间减去了2MB的大小,也就是说对序列号和MAC地址存储区域是不可见的,应用程序和烧录工具必须通过指定接口读写该区域。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 一种基于NAND FLASH的序列号和MAC地址储存方法
- 一种向网络电视写入序列号和MAC地址的方法及装置