CN113311988A - 一种确保nand flash中序列号和mac地址存储正确的方法 - Google Patents
一种确保nand flash中序列号和mac地址存储正确的方法 Download PDFInfo
- Publication number
- CN113311988A CN113311988A CN202010118407.XA CN202010118407A CN113311988A CN 113311988 A CN113311988 A CN 113311988A CN 202010118407 A CN202010118407 A CN 202010118407A CN 113311988 A CN113311988 A CN 113311988A
- Authority
- CN
- China
- Prior art keywords
- mac address
- serial number
- sequence number
- block
- nand flash
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
- G06F11/106—Correcting systematically all correctable errors, i.e. scrubbing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供一种确保NAND FLASH中序列号和MAC地址存储正确的方法,包括以下步骤:S1,在NAND FLASH最后分割预留部分存储序列号和MAC地址区域;S2,在擦写序列号和MAC地址区域遇到坏块时标记坏块,并找到下一个好块位置保存数据;S3,读写所述序列号和MAC地址区域必须通过指定接口;S4,在读写序列号和MAC地址时通过CRC进行校验。提供一种简单的方法克服现有技术中的问题,能够不增加额外电路和芯片,不占用EFUSE有限空间,特别是能够有效校验序列号和MAC地址存储是否正确。
Description
技术领域
本发明涉及存储技术领域,特别涉及一种确保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除法”)这个选定的除数。因为在发送端发送数据帧之前就已通过附加的一个数,做了“去余”处理(已经能整除),所以结果应该是没有余数。如果有余数,则表明该帧在传输过程中出现了差错。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种确保NAND FLASH中序列号和MAC地址存储正确的方法,其特征在于,包括以下步骤:
S1,在NAND FLASH最后分割预留部分存储序列号和MAC地址区域;
S2,在擦写序列号和MAC地址区域遇到坏块时标记坏块,并找到下一个好块位置保存数据;
S3,读写所述序列号和MAC地址区域必须通过指定接口;
S4,在读写序列号和MAC地址时通过CRC进行校验。
2.根据权利要求1所述的一种确保NAND FLASH中序列号和MAC地址存储正确的方法,其特征在于,所述的预留部分大于序列号和MAC地址大小之和。
3.根据权利要求2所述的一种确保NAND FLASH中序列号和MAC地址存储正确的方法,其特征在于,所述的预留部分为2M空间,即8个块。
4.根据权利要求1所述的一种确保NAND FLASH中序列号和MAC地址存储正确的方法,其特征在于,应用程序和烧录工具通过指定接口读写所述序列号和MAC地址区域。
5.根据权利要求1所述的一种确保NAND FLASH中序列号和MAC地址存储正确的方法,其特征在于,全擦FLASH时不影响序列号和MAC地址存储区域。
6.根据权利要求1所述的一种确保NAND FLASH中序列号和MAC地址存储正确的方法,其特征在于,所述步骤S2进一步包括:存储
S2.1,MAC地址开始对应第N块开始,根据MAC大小分别存储MAC地址长度、CRC校验值、MAC地址数据;
S2.2,当擦写进行到第Z块,发现第Z块是坏块,则标记第Z块为坏块;
S2.3,从第Z+1块开始继续存储,根据序列号大小分别存储序列号长度、CRC校验值、序列号数据。
7.根据权利要求1所述的一种确保NAND FLASH中序列号和MAC地址存储正确的方法,其特征在于,还包括:通过在MTD管理层上得到的FLASH存储空间减去了所述预留部分的大小从而实现序列号和MAC地址区域为MTD管理层不可见。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010118407.XA CN113311988A (zh) | 2020-02-26 | 2020-02-26 | 一种确保nand flash中序列号和mac地址存储正确的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010118407.XA CN113311988A (zh) | 2020-02-26 | 2020-02-26 | 一种确保nand flash中序列号和mac地址存储正确的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113311988A true CN113311988A (zh) | 2021-08-27 |
Family
ID=77370120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010118407.XA Pending CN113311988A (zh) | 2020-02-26 | 2020-02-26 | 一种确保nand flash中序列号和mac地址存储正确的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113311988A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105280240A (zh) * | 2015-11-18 | 2016-01-27 | 致象尔微电子科技(上海)有限公司 | 一种Nand Flash参数的读取方法 |
CN106126113A (zh) * | 2016-06-14 | 2016-11-16 | 烽火通信科技股份有限公司 | 一种家庭网关业务数据分类存储管理的方法 |
CN106776106A (zh) * | 2016-11-11 | 2017-05-31 | 南京南瑞集团公司 | 一种基于NandFlash的数据存储方法 |
CN106937275A (zh) * | 2017-02-13 | 2017-07-07 | 深圳盈达信息科技有限公司 | 一种在安卓系统下保存系统唯一标识及硬件id的设备 |
CN108363549A (zh) * | 2017-12-27 | 2018-08-03 | 北京兆易创新科技股份有限公司 | 一种Nand flash元件及其通信控制方法和装置 |
CN108958963A (zh) * | 2018-06-01 | 2018-12-07 | 杭州电子科技大学 | 一种基于ldpc和循环冗余校验码的nand flash差错控制方法 |
CN110083573A (zh) * | 2019-04-30 | 2019-08-02 | 维沃移动通信有限公司 | 一种文件管理方法和移动终端 |
-
2020
- 2020-02-26 CN CN202010118407.XA patent/CN113311988A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105280240A (zh) * | 2015-11-18 | 2016-01-27 | 致象尔微电子科技(上海)有限公司 | 一种Nand Flash参数的读取方法 |
CN106126113A (zh) * | 2016-06-14 | 2016-11-16 | 烽火通信科技股份有限公司 | 一种家庭网关业务数据分类存储管理的方法 |
CN106776106A (zh) * | 2016-11-11 | 2017-05-31 | 南京南瑞集团公司 | 一种基于NandFlash的数据存储方法 |
CN106937275A (zh) * | 2017-02-13 | 2017-07-07 | 深圳盈达信息科技有限公司 | 一种在安卓系统下保存系统唯一标识及硬件id的设备 |
CN108363549A (zh) * | 2017-12-27 | 2018-08-03 | 北京兆易创新科技股份有限公司 | 一种Nand flash元件及其通信控制方法和装置 |
CN108958963A (zh) * | 2018-06-01 | 2018-12-07 | 杭州电子科技大学 | 一种基于ldpc和循环冗余校验码的nand flash差错控制方法 |
CN110083573A (zh) * | 2019-04-30 | 2019-08-02 | 维沃移动通信有限公司 | 一种文件管理方法和移动终端 |
Non-Patent Citations (1)
Title |
---|
黄健著: "《嵌入式Linux系统 开发原理与实战》", 北京理工大学出版社, pages: 167 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100531192B1 (ko) | 비휘발성 메모리의 제어방법 | |
CN101124639B (zh) | 访问非易失性计算机存储器的系统和方法 | |
JP4956068B2 (ja) | 半導体記憶装置およびその制御方法 | |
US8954705B2 (en) | Memory space management method and memory controller and memory storage device and memory storage using the same | |
CN107957959B (zh) | 具有文件级安全擦除的存储器系统及其操作方法 | |
US8856427B2 (en) | Memory controller and non-volatile storage device | |
US6839798B1 (en) | Flash memory capable of storing frequently rewritten data | |
US20070091697A1 (en) | Device recoverable purge for flash storage device | |
CN113885808B (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
CN112596668A (zh) | 一种存储器的坏块处理方法及系统 | |
JP2009064238A (ja) | メモリシステム | |
JPH07302175A (ja) | 半導体ディスク装置 | |
CN101308702B (zh) | 适用于闪存的数据结构及其数据写入方法和数据读取方法 | |
TWI521345B (zh) | 回應讀取方法及資料傳輸系統 | |
TW201908957A (zh) | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 | |
US10824368B2 (en) | Data storing method, memory control circuit unit and memory storage device | |
CN113311988A (zh) | 一种确保nand flash中序列号和mac地址存储正确的方法 | |
KR100692982B1 (ko) | 배드 블럭 정보가 기록된 난드 타입의 플래시 메모리 | |
CN108108118B (zh) | 数据写入方法以及存储控制器 | |
JP3620478B2 (ja) | 記憶装置、この記憶装置を用いたデータ処理システム及びデータ読み出し方法 | |
JP4266742B2 (ja) | フラッシュメモリ搭載電子装置、そのメモリデータ管理方法およびプログラム | |
CN107239224B (zh) | 数据保护方法、存储器控制电路单元与存储器存储装置 | |
CN113312273A (zh) | 一种基于nand flash的序列号和mac地址储存方法 | |
JP2004145964A (ja) | 半導体メモリ、半導体メモリ製造方法、メモリカードおよび半導体メモリ制御方法 | |
US11954329B2 (en) | Memory management method, memory storage device and memory control circuit unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |