掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及存储技术领域,特别涉及一种确保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地址,译为媒体存取控制位址,也叫硬件地址物理地址。采用十六进制数,共六个字节的标识符表示在网络上一个站点位置。具有全球唯一性。

CRC(简称:循环码),循环冗余校验码(cyclie redundancy check),是一种能力相当强的检错、纠错码,并且实现编码和检码的电路比较简单,常用于串行传送(二进制位串沿一条信号线逐位传送)的辅助存储器与主机的数据通信和计算机网络中。

发明内容

为了解决上述问题,本发明的目的在于:提供一种简单的方法克服现有技术中的问题,能够不增加额外电路和芯片,不占用EFUSE有限空间,特别是能够有效校验序列号和MAC地址存储是否正确。

具体地,本发明提供一种确保NAND FLASH中序列号和MAC地址存储正确的方法,包括以下步骤:

S1,在NAND FLASH最后分割预留部分存储序列号和MAC地址区域;

S2,在擦写序列号和MAC地址区域遇到坏块时标记坏块,并找到下一个好块位置保存数据;

S3,读写所述序列号和MAC地址区域必须通过指定接口;

S4,在读写序列号和MAC地址时通过CRC进行校验。

所述步骤S2进一步包括:存储

S2.1,MAC地址开始对应第N块开始,根据MAC大小分别存储MAC地址长度、CRC校验值、MAC地址数据;

S2.2,当擦写进行到第Z块,发现第Z块是坏块,则标记第Z块为坏块;

S2.3,从第Z+1块开始继续存储,根据序列号大小分别存储序列号长度、CRC校验值、序列号数据。

由此,本申请的优势在于,通过本方法:

1、既方便修改,又可兼容安全性。

2、全擦FLASH时不影响序列号和MAC地址保存区域。

3、读写增加CRC校验,保证序列号和MAC地址正确性和安全性。

4、操作方便,提高生产效率。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。

图1是本发明方法的示意流程图。

图2是本发明方法的示意框图。

具体实施方式

为了能够更清楚地理解本发明的技术内容及优点,现结合附图对本发明进行进一步的详细说明。

如图1所示,本发明涉及一种确保NAND FLASH中序列号和MAC地址存储正确的方法,包括以下步骤:

S1,在NAND FLASH最后分割预留部分存储序列号和MAC地址区域;

S2,在擦写序列号和MAC地址区域遇到坏块时标记坏块,并找到下一个好块位置保存数据;

S3,读写所述序列号和MAC地址区域必须通过指定接口;

S4,在读写序列号和MAC地址时通过CRC进行校验。

所述的预留部分大于序列号和MAC地址大小之和。

所述的预留部分为2M空间,即8个块。

应用程序和烧录工具通过指定接口读写所述序列号和MAC地址区域。

全擦FLASH时不影响序列号和MAC地址存储区域。

所述步骤S2进一步包括:存储

S2.1,MAC地址开始对应第N块开始,根据MAC大小分别存储MAC地址长度、CRC校验值、MAC地址数据;

S2.2,当擦写进行到第Z块,发现第Z块是坏块,则标记第Z块为坏块;

S2.3,从第Z+1块开始继续存储,根据序列号大小分别存储序列号长度、CRC校验值、序列号数据。

还包括:通过在MTD管理层上得到的FLASH存储空间减去了所述预留部分的大小从而实现序列号和MAC地址区域为MTD管理层不可见。

本发明还可以进一步解释为是在NAND FLASH最后分割一部份空间存储序列号和MAC地址。由于NAND FLASH工艺特性不能保证所有存储区域都是好块,所以给序列号和MAC地址存储区域预留2M空间(8个块),在擦写序列号和MAC地址区域遇到坏块时将标记坏块并找到下一个好块位置保存数据。

如图2所示,在MTD管理层上得到的FLASH存储空间减去了2MB的大小,也就是说对序列号和MAC地址存储区域是不可见的,应用程序和烧录工具必须通过指定接口读写该区域。在读写序列号和MAC地址时可通过CRC进行校验,从而保证序列号和MAC地址正确性和安全性。

一般来说,CRC校验原理简单来说,先在要发送的帧后面附加一个数(用来校验的校验码,数是二进制序列的),从而生成一个新帧发送给接收端。这个附加的数并非任意的,而是使得所生成的新帧能与发送端和接收端共同选定的某个特定数整除(例如,采用一种称之为“模2除法”)。到达接收端后,再把接收到的新帧除以(同样采用“模2除法”)这个选定的除数。因为在发送端发送数据帧之前就已通过附加的一个数,做了“去余”处理(已经能整除),所以结果应该是没有余数。如果有余数,则表明该帧在传输过程中出现了差错。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种确保NAND FLASH中序列号和MAC地址存储正确的方法
  • 一种确保存储产品定制BIOS版本刷新正确的控制方法
技术分类

06120113270613