CN110908603A - 一种数据存储防错处理系统及方法 - Google Patents
一种数据存储防错处理系统及方法 Download PDFInfo
- Publication number
- CN110908603A CN110908603A CN201911057528.1A CN201911057528A CN110908603A CN 110908603 A CN110908603 A CN 110908603A CN 201911057528 A CN201911057528 A CN 201911057528A CN 110908603 A CN110908603 A CN 110908603A
- Authority
- CN
- China
- Prior art keywords
- data
- client
- module
- client data
- datastruct
- 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.)
- Granted
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 title abstract description 4
- 238000007689 inspection Methods 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 8
- 238000003672 processing method Methods 0.000 claims description 5
- 230000009286 beneficial effect Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0614—Improving the reliability of storage systems
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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
-
- 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/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明一种数据存储防错处理系统,包括客户数据DATA,与客户数据DATA连接的MCU处理器,与MCU处理器连接的FLASH存储器。客户数据DATA包括DATA1,DATA2,DATA3,…,DATAn。MCU处理器包括默认数据单元、数据处理单元,FLASH存储器,设有多个块BLOCK。数据处理单元包括数据读取模块,数据取反模块,求校验和模块,还包括组合数据结构模块,求异或值模块,数据判断模块,数据判断模块、默认数据模块分别与客户数据DATA连接,组合数据结构模块与FLASH存储器连接,FLASH存储器与数据读取模块连接。本发明提出一种能用FLASH存储器,代替EEPROM存储器的数据存储防错处理系统及方法。
Description
技术领域
本发明涉及车载多媒体技术领域,尤其涉及一种数据存储防错处理系统及方法。
背景技术
在汽车音响产品中,客户数据以及产品配置数据需要存储,目前,一般采用的方案是用EEPROM存储器,EEPROM存储器能掉电保存数据,并且支持写次数超过100万次。现有的FLASH存储器,一般用于存储运行程序,不需要多次擦写,擦写次数10多万次,不能满足数据存储的要求。本发明提出一种能用FLASH存储器,代替EEPROM存储器的数据存储防错处理系统及方法。
发明内容
本发明的发明目的在于解决现有的FLASH存储器,一般用于存储运行程序,不能满足数据存储的要求的问题。其具体解决方案如下:
一种数据存储防错处理系统,包括客户数据DATA,与客户数据DATA连接的MCU处理器,与MCU处理器连接的FLASH存储器。
所述客户数据DATA包括DATA1,DATA2,DATA3,…,DATAn。
所述MCU处理器包括默认数据单元、数据处理单元,所述FLASH存储器,设有多个块BLOCK。
所述默认数据单元设有默认数据模块,所述数据处理单元包括与客户数据DATA连接的数据读取模块,与数据读取模块连接的数据取反模块,分别与数据读取模块、数据取反模块连接的求校验和模块,还包括分别与数据读取模块、数据取反模块、求校验和模块连接的组合数据结构模块,与组合数据结构模块连接的求异或值模块,分别与组合数据结构模块、求异或值模块连接的数据判断模块,数据判断模块、默认数据模块分别与客户数据DATA连接,组合数据结构模块与FLASH存储器连接,FLASH存储器与数据读取模块连接。
进一步地,所述块BLOCK,包括BLOCK1,BLOCK2,BLOCK3,...BLOCKm。
进一步地,所述读取模块,从客户数据DATA中读取DATA1,DATA2,DATA3,…,DATAn,或从FLASH存储器中读取客户数据结构DataStruct。
进一步地,所述数据取反模块,将客户数据DATA二进位取反为DATA^1,DATA^2,DATA^3,…,DATA^n。
进一步地,所述求校验和模块,分别求客户数据DATA的校验和Checksum为Datasum、求客户数据DATA^的校验和Checksum为Datasum^。
进一步地,所述组合数据结构模块,组合客户数据结构DataStruct为DATA1,DATA^1,DATA2,DATA^2,…,Datasum,Datasum^,客户数据结构DataStruct存入所述块BLOCK中。
进一步地,所述求异或值模块,从读取的客户数据结构DataStruct中取出每个(DATAk,DATAk^),计算[DATAk,(DATAk^)^]异或值为sk,其中k=1,2,.....,n。
进一步地,所述数据判断模块,分别对校验和Datasum、Datasum^、异或值sk进行判断。
基于上述一种数据存储防错处理系统的一种数据存储防错处理方法,按照以下步骤进行:
步骤1,在FLASH存储器中,设置一个区域,该区域中包括多个块BLOCK1,BLOCK2,BLOCK3,...BLOCKm,m数量等于FLASH产品擦写的最大次数/10的商,取最大的整数;
步骤2,设置用户默认数据DEFVALUE1,DEFVALUE2,DEFVALUE3,...DEFVALUEn;
步骤3,当前客户数据DATA为DATA1,DATA2,DATA3,…,DATAn;
步骤4,对当前用户数据DATA按二进位取反,即DATA^为DATA^1,DATA^2,DATA^3,…,DATA^n;
步骤5,求客户数据DATA的校验和Checksum为Datasum;
步骤6,求客户数据DATA^的校验和Checksum为Datasum^;
步骤7,组合客户数据结构DataStruct为DATA1,DATA^1,DATA2,DATA^2,…,Datasum,Datasum^;
步骤8,第一次存储时,按客户数据结构DataStruct存储客户数据到FLASH存储器的BLOCK1中;
步骤9,第一次读取客户数据时,从FLASH存储器的BLOCK1中读取客户数据结构DataStruct的客户数据;
步骤10,按数据防错检验算法,对客户数据结构DataStruct的客户数据,进行数据完整性和准确性的检验;
步骤11,第二次存储时,按客户数据结构DataStruct存储客户数据到FLASH存储器的BLOCK2中;
步骤12,第二次读取客户数据时,从FLASH存储器的BLOCK2中读取客户数据结构DataStruct的客户数据,转步骤10;
步骤13,第m次存储时,按客户数据结构DataStruct存储客户数据到FLASH存储器的BLOCKm中;
步骤14,第m次读取客户数据时,从FLASH存储器的BLOCKm中读取客户数据结构DataStruct的客户数据转步骤10;
步骤15,第m+1次存储时,按客户数据结构DataStruct存储客户数据到FLASH存储器的BLOCK1中;
步骤16,第m+1次读取客户数据时,从FLASH存储器的BLOCK1中读取客户数据结构DataStruct的客户数据,转步骤10;
步骤17,循环执行步骤10至步骤16。
进一步地,所述数据防错检验算法,按以下步骤执行:
步骤1,从读取的客户数据结构DataStruct中,计算DATA1,DATA2,DATA3,…,DATAn的校验和Checksum为SUMDATA;
步骤2,从读取的客户数据结构DataStruct中,计算DATA^1,DATA^2,DATA^3,…,DATA^n的校验和Checksum为SUMDATA^;
步骤3,判断SUMDATA是否等于客户数据结构DataStruct中的Datasum?如果否,则转步骤5,如果是,则
步骤4,用DATA1,DATA2,DATA3,…,DATAn为客户数据DATA;
步骤5,判断SUMDATA^是否等于客户数据结构DataStruct中的Datasum^?如果否,则转步骤8,如果是,则
步骤6,用DATA^1,DATA^2,DATA^3,…,DATA^n取反二进位,生成客户数据DATA;
步骤7,用生成客户数据DATA;
步骤8,从读取的客户数据结构DataStruct中取出每个(DATAk,DATAk^),计算[DATAk,(DATAk^)^]异或值为sk,其中k=1,2,.....,n;
步骤9,判断sk是否为0?其中k=1,2,.....,n;
如果否,则转步骤11,如果是,则
步骤10,用DATAk为客户数据DATA;
步骤11,用默认数据DEFVALUEk为客户数据DATA。
综上所述,采用本发明的技术方案具有以下有益效果:
本发明解决了现有的FLASH存储器,一般用于存储运行程序,不能满足数据存储的要求的问题。本发明具有以下的优点:
(1)在FLASH存储器中,设有多个存储块BLOCK,通过循环擦写增加擦写次数(每次在不同的块BLOCK中存储与读取数据)。
(2)每个数据存储两种状态,即原始数据(比如客户数据DATA)和取反数据(客户数据DATA^),通过异或值sk是否等于0,判断数据是否被修改。
(3)用原始数据、判断原始数据是否被修改。
(4)用取反数据、判断取反数据是否被修改。
(5)一旦某一数据被修改,则用默认数据(比如用户默认数据DEFVALUE)代替。
(6)数据防错检验算法,能对客户数据结构DataStruct的客户数据,进行数据完整性和准确性的检验。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还能够根据这些附图获得其他的附图。
图1为本发明一种数据存储防错处理系统方框图;
图2为本发明的数据防错检验算法步骤图。
附图标识说明:
1-MCU处理器,2-FLASH存储器,3-默认数据单元,4-数据处理单元,5-数据读取模块,6-数据取反模块,7-求校验和模块,8-组合数据结构模块,9-求异或值模块,10-数据判断模块,11-默认数据模块,DATA-客户数据,BLOCK-块,DataStruct-客户数据结构,Checksum-校验和,sk-异或值,DEFVALUE-默认数据。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一种数据存储防错处理系统,包括客户数据DATA,与客户数据DATA连接的MCU处理器1,与MCU处理器1连接的FLASH存储器2。
客户数据DATA包括DATA1,DATA2,DATA3,…,DATAn。
MCU处理器1包括默认数据单元3、数据处理单元4,FLASH存储器2,设有多个块BLOCK。
默认数据单元3设有默认数据模块11,数据处理单元4包括与客户数据DATA连接的数据读取模块5,与数据读取模块5连接的数据取反模块6,分别与数据读取模块5、数据取反模块6连接的求校验和模块7,还包括分别与数据读取模块5、数据取反模块6、求校验和模块7连接的组合数据结构模块8,与组合数据结构模块8连接的求异或值模块9,分别与组合数据结构模块8、求异或值模块9连接的数据判断模块10,数据判断模块10、默认数据模块11分别与客户数据DATA连接,组合数据结构模块8与FLASH存储器2连接,FLASH存储器2与数据读取模块5连接。
进一步地,块BLOCK,包括BLOCK1,BLOCK2,BLOCK3,...BLOCKm。
进一步地,读取模块,从客户数据DATA中读取DATA1,DATA2,DATA3,…,DATAn,或从FLASH存储器中读取客户数据结构DataStruct。
进一步地,数据取反模块,将客户数据DATA二进位取反为DATA^1,DATA^2,DATA^3,…,DATA^n。比如取反:1010^=0101。
进一步地,求校验和模块,分别求客户数据DATA的校验和Checksum为Datasum、求客户数据DATA^的校验和Checksum为Datasum^。
进一步地,组合数据结构模块,组合客户数据结构DataStruct为DATA1,DATA^1,DATA2,DATA^2,…,Datasum,Datasum^,客户数据结构DataStruct存入块BLOCK中。
进一步地,求异或值模块,从读取的客户数据结构DataStruct中取出每个(DATAk,DATAk^),计算[DATAk,(DATAk^)^]异或值为sk,其中k=1,2,.....,n。
进一步地,所述数据判断模块,分别对校验和Datasum、Datasum^、异或值sk进行判断。
基于上述一种数据存储防错处理系统的一种数据存储防错处理方法,按照以下步骤进行:
步骤1,在FLASH存储器中,设置一个区域,该区域中包括多个块BLOCK1,BLOCK2,BLOCK3,...BLOCKm,m数量等于FLASH产品擦写的最大次数/10的商,取最大的整数;
步骤2,设置用户默认数据DEFVALUE1,DEFVALUE2,DEFVALUE3,...DEFVALUEn;
步骤3,当前客户数据DATA为DATA1,DATA2,DATA3,…,DATAn;
步骤4,对当前用户数据DATA按二进位取反,即DATA^为DATA^1,DATA^2,DATA^3,…,DATA^n;
步骤5,求客户数据DATA的校验和Checksum为Datasum;
步骤6,求客户数据DATA^的校验和Checksum为Datasum^;
步骤7,组合客户数据结构DataStruct为DATA1,DATA^1,DATA2,DATA^2,…,Datasum,Datasum^;
步骤8,第一次存储时,按客户数据结构DataStruct存储客户数据到FLASH存储器的BLOCK1中;
步骤9,第一次读取客户数据时,从FLASH存储器的BLOCK1中读取客户数据结构DataStruct的客户数据;
步骤10,按数据防错检验算法,对客户数据结构DataStruct的客户数据,进行数据完整性和准确性的检验;
步骤11,第二次存储时,按客户数据结构DataStruct存储客户数据到FLASH存储器的BLOCK2中;
步骤12,第二次读取客户数据时,从FLASH存储器的BLOCK2中读取客户数据结构DataStruct的客户数据,转步骤10;
步骤13,第m次存储时,按客户数据结构DataStruct存储客户数据到FLASH存储器的BLOCKm中;
步骤14,第m次读取客户数据时,从FLASH存储器的BLOCKm中读取客户数据结构DataStruct的客户数据,转步骤10;
步骤15,第m+1次存储时,按客户数据结构DataStruct存储客户数据到FLASH存储器的BLOCK1中;
步骤16,第m+1次读取客户数据时,从FLASH存储器的BLOCK1中读取客户数据结构DataStruct的客户数据,转步骤10;
步骤17,循环执行步骤10至步骤16。
如图2所示,进一步地,数据防错检验算法,按以下步骤执行:
步骤S1,从读取的客户数据结构DataStruct中,计算DATA1,DATA2,DATA3,…,DATAn的校验和Checksum为SUMDATA;
步骤S2,从读取的客户数据结构DataStruct中,计算DATA^1,DATA^2,DATA^3,…,DATA^n的校验和Checksum为SUMDATA^;
步骤S3,判断SUMDATA是否等于客户数据结构DataStruct中的Datasum?如果否,则转步骤S5,如果是,则
步骤S4,用DATA1,DATA2,DATA3,…,DATAn为客户数据DATA;
步骤S5,判断SUMDATA^是否等于客户数据结构DataStruct中的Datasum^?如果否,则转步骤S8,如果是,则
步骤S6,用DATA^1,DATA^2,DATA^3,…,DATA^n取反二进位,生成客户数据DATA;
步骤S7,用生成客户数据DATA;
步骤S8,从读取的客户数据结构DataStruct中取出每个(DATAk,DATAk^),计算[DATAk,(DATAk^)^]异或值为sk,其中k=1,2,.....,n;
步骤S9,判断sk是否为0?其中k=1,2,.....,n;
如果否,则转步骤S11,如果是,则
步骤S10,用DATAk为客户数据DATA;
步骤S11,用默认数据DEFVALUEk为客户数据DATA。
综上所述,采用本发明的技术方案具有以下有益效果:
本发明解决了现有的FLASH存储器,一般用于存储运行程序,不能满足数据存储的要求的问题。本发明具有以下的优点:
(1)在FLASH存储器2中,设有多个存储块BLOCK,通过循环擦写增加擦写次数(每次在不同的块BLOCK中存储与读取数据)。
(2)每个数据存储两种状态,即原始数据(比如客户数据DATA)和取反数据(客户数据DATA^),通过异或值sk是否等于0,判断数据是否被修改。
(3)用原始数据、判断原始数据是否被修改。
(4)用取反数据、判断取反数据是否被修改。
(5)一旦某一数据被修改,则用默认数据(比如用户默认数据DEFVALUE)代替。
(6)数据防错检验算法,能对客户数据结构DataStruct的客户数据,进行数据完整性和准确性的检验。
以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。
Claims (10)
1.一种数据存储防错处理系统,包括客户数据DATA,与客户数据DATA连接的MCU处理器,与MCU处理器连接的FLASH存储器,其特征在于:
所述客户数据DATA包括DATA1,DATA2,DATA3,…,DATAn;
所述MCU处理器包括默认数据单元、数据处理单元,所述FLASH存储器,设有多个块BLOCK;
所述默认数据单元设有默认数据模块,所述数据处理单元包括与客户数据DATA连接的数据读取模块,与数据读取模块连接的数据取反模块,分别与数据读取模块、数据取反模块连接的求校验和模块,还包括分别与数据读取模块、数据取反模块、求校验和模块连接的组合数据结构模块,与组合数据结构模块连接的求异或值模块,分别与组合数据结构模块、求异或值模块连接的数据判断模块,数据判断模块、默认数据模块分别与客户数据DATA连接,组合数据结构模块与FLASH存储器连接,FLASH存储器与数据读取模块连接。
2.根据权利要求1所述一种数据存储防错处理系统,其特征在于:所述块BLOCK,包括BLOCK1,BLOCK2,BLOCK3,...BLOCKm。
3.根据权利要求2所述一种数据存储防错处理系统,其特征在于:所述读取模块,从客户数据DATA中读取DATA1,DATA2,DATA3,…,DATAn,或从FLASH存储器中读取客户数据结构DataStruct。
4.根据权利要求3所述一种数据存储防错处理系统,其特征在于:所述数据取反模块,将客户数据DATA二进位取反为DATA^1,DATA^2,DATA^3,…,DATA^n。
5.根据权利要求4所述一种数据存储防错处理系统,其特征在于:所述求校验和模块,分别求客户数据DATA的校验和Checksum为Datasum、求客户数据DATA^的校验和Checksum为Datasum^。
6.根据权利要求5所述一种数据存储防错处理系统,其特征在于:所述组合数据结构模块,组合客户数据结构DataStruct为DATA1,DATA^1,DATA2,DATA^2,…,Datasum,Datasum^,客户数据结构DataStruct存入所述块BLOCK中。
7.根据权利要求6所述一种数据存储防错处理系统,其特征在于:所述求异或值模块,从读取的客户数据结构DataStruct中取出每个(DATAk,DATAk^),计算[DATAk,(DATAk^)^]异或值为sk,其中k=1,2,.....,n。
8.根据权利要求7所述一种数据存储防错处理系统,其特征在于:所述数据判断模块,分别对校验和Datasum、Datasum^、异或值sk进行判断。
9.基于权利要求8所述一种数据存储防错处理系统的一种数据存储防错处理方法,其特征在于,按照以下步骤进行:
步骤1,在FLASH存储器中,设置一个区域,该区域中包括多个块BLOCK1,BLOCK2,BLOCK3,...BLOCKm,m数量等于FLASH产品擦写的最大次数/10的商,取最大的整数;
步骤2,设置用户默认数据DEFVALUE1,DEFVALUE2,DEFVALUE3,...DEFVALUEn;
步骤3,当前客户数据DATA为DATA1,DATA2,DATA3,…,DATAn;
步骤4,对当前用户数据DATA按二进位取反,即DATA^为DATA^1,DATA^2,DATA^3,…,DATA^n;
步骤5,求客户数据DATA的校验和Checksum为Datasum;
步骤6,求客户数据DATA^的校验和Checksum为Datasum^;
步骤7,组合客户数据结构DataStruct为DATA1,DATA^1,DATA2,DATA^2,…,Datasum,Datasum^;
步骤8,第一次存储时,按客户数据结构DataStruct存储客户数据到FLASH存储器的BLOCK1中;
步骤9,第一次读取客户数据时,从FLASH存储器的BLOCK1中读取客户数据结构DataStruct的客户数据;
步骤10,按数据防错检验算法,对客户数据结构DataStruct的客户数据,进行数据完整性和准确性的检验;
步骤11,第二次存储时,按客户数据结构DataStruct存储客户数据到FLASH存储器的BLOCK2中;
步骤12,第二次读取客户数据时,从FLASH存储器的BLOCK2中读取客户数据结构DataStruct的客户数据,转步骤10;
步骤13,第m次存储时,按客户数据结构DataStruct存储客户数据到FLASH存储器的BLOCKm中;
步骤14,第m次读取客户数据时,从FLASH存储器的BLOCKm中读取客户数据结构DataStruct的客户数据,转步骤10;
步骤15,第m+1次存储时,按客户数据结构DataStruct存储客户数据到FLASH存储器的BLOCK1中;
步骤16,第m+1次读取客户数据时,从FLASH存储器的BLOCK1中读取客户数据结构DataStruct的客户数据,转步骤10;
步骤17,循环执行步骤10至步骤16。
10.根据权利要求9所述一种数据存储防错处理方法,其特征在于,所述数据防错检验算法,按以下步骤执行:
步骤1,从读取的客户数据结构DataStruct中,计算DATA1,DATA2,DATA3,…,DATAn的校验和Checksum为SUMDATA;
步骤2,从读取的客户数据结构DataStruct中,计算DATA^1,DATA^2,DATA^3,…,DATA^n的校验和Checksum为SUMDATA^;
步骤3,判断SUMDATA是否等于客户数据结构DataStruct中的Datasum?如果否,则转步骤5,如果是,则
步骤4,用DATA1,DATA2,DATA3,…,DATAn为客户数据DATA;
步骤5,判断SUMDATA^是否等于客户数据结构DataStruct中的Datasum^?如果否,则转步骤8,如果是,则
步骤6,用DATA^1,DATA^2,DATA^3,…,DATA^n取反二进位,生成客户数据DATA;
步骤7,用生成客户数据DATA;
步骤8,从读取的客户数据结构DataStruct中取出每个(DATAk,DATAk^),计算[DATAk,(DATAk^)^]异或值为sk,其中k=1,2,.....,n;
步骤9,判断sk是否为0?其中k=1,2,.....,n;
如果否,则转步骤11,如果是,则
步骤10,用DATAk为客户数据DATA;
步骤11,用默认数据DEFVALUEk为客户数据DATA。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911057528.1A CN110908603B (zh) | 2019-11-01 | 2019-11-01 | 一种数据存储防错处理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911057528.1A CN110908603B (zh) | 2019-11-01 | 2019-11-01 | 一种数据存储防错处理系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110908603A true CN110908603A (zh) | 2020-03-24 |
CN110908603B CN110908603B (zh) | 2024-01-19 |
Family
ID=69815028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911057528.1A Active CN110908603B (zh) | 2019-11-01 | 2019-11-01 | 一种数据存储防错处理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110908603B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030023933A1 (en) * | 2001-07-27 | 2003-01-30 | Sun Microsystems, Inc. | End-to-end disk data checksumming |
KR20050064887A (ko) * | 2003-12-24 | 2005-06-29 | 주식회사 포인칩스 | 오류 검출 능력이 강화된 플래시 메모리 및 다비트 오류검출 방법 |
EP1923786A1 (en) * | 2006-11-14 | 2008-05-21 | NEC Electronics Corporation | Volatile memory device and data integrity |
US20080240426A1 (en) * | 2007-03-28 | 2008-10-02 | Shay Gueron | Flexible architecture and instruction for advanced encryption standard (AES) |
CN101419841A (zh) * | 2008-12-09 | 2009-04-29 | 苏州大学 | 一种flash存储器擦写方法 |
CN102646453A (zh) * | 2011-02-18 | 2012-08-22 | 安凯(广州)微电子技术有限公司 | NandFlash控制器中错误校正码模块的测试方法及系统 |
CN102890656A (zh) * | 2012-09-25 | 2013-01-23 | Tcl光电科技(惠州)有限公司 | 提高flash使用寿命的方法 |
CN103455283A (zh) * | 2013-08-19 | 2013-12-18 | 华中科技大学 | 一种混合存储系统 |
US20170249207A1 (en) * | 2016-02-29 | 2017-08-31 | Sandisk Technologies Inc. | Non-volatile memory with corruption recovery |
US20180091172A1 (en) * | 2016-03-04 | 2018-03-29 | Western Digital Technologies, Inc. | Ecc and raid-type decoding |
US20180174662A1 (en) * | 2016-12-20 | 2018-06-21 | SK Hynix Inc. | Memory controller, memory system including the same and operating method thereof |
CN109343790A (zh) * | 2018-08-06 | 2019-02-15 | 百富计算机技术(深圳)有限公司 | 一种基于nand flash的数据存储方法、终端设备及存储介质 |
CN110162271A (zh) * | 2019-05-21 | 2019-08-23 | 四川虹美智能科技有限公司 | 一种eeprom数据处理方法及装置 |
CN110277131A (zh) * | 2019-05-30 | 2019-09-24 | 百富计算机技术(深圳)有限公司 | 基于nand flash存储器的校验方法、终端设备及存储介质 |
-
2019
- 2019-11-01 CN CN201911057528.1A patent/CN110908603B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030023933A1 (en) * | 2001-07-27 | 2003-01-30 | Sun Microsystems, Inc. | End-to-end disk data checksumming |
KR20050064887A (ko) * | 2003-12-24 | 2005-06-29 | 주식회사 포인칩스 | 오류 검출 능력이 강화된 플래시 메모리 및 다비트 오류검출 방법 |
EP1923786A1 (en) * | 2006-11-14 | 2008-05-21 | NEC Electronics Corporation | Volatile memory device and data integrity |
US20080240426A1 (en) * | 2007-03-28 | 2008-10-02 | Shay Gueron | Flexible architecture and instruction for advanced encryption standard (AES) |
CN101419841A (zh) * | 2008-12-09 | 2009-04-29 | 苏州大学 | 一种flash存储器擦写方法 |
CN102646453A (zh) * | 2011-02-18 | 2012-08-22 | 安凯(广州)微电子技术有限公司 | NandFlash控制器中错误校正码模块的测试方法及系统 |
CN102890656A (zh) * | 2012-09-25 | 2013-01-23 | Tcl光电科技(惠州)有限公司 | 提高flash使用寿命的方法 |
CN103455283A (zh) * | 2013-08-19 | 2013-12-18 | 华中科技大学 | 一种混合存储系统 |
US20170249207A1 (en) * | 2016-02-29 | 2017-08-31 | Sandisk Technologies Inc. | Non-volatile memory with corruption recovery |
US20180091172A1 (en) * | 2016-03-04 | 2018-03-29 | Western Digital Technologies, Inc. | Ecc and raid-type decoding |
US20180174662A1 (en) * | 2016-12-20 | 2018-06-21 | SK Hynix Inc. | Memory controller, memory system including the same and operating method thereof |
CN109343790A (zh) * | 2018-08-06 | 2019-02-15 | 百富计算机技术(深圳)有限公司 | 一种基于nand flash的数据存储方法、终端设备及存储介质 |
CN110162271A (zh) * | 2019-05-21 | 2019-08-23 | 四川虹美智能科技有限公司 | 一种eeprom数据处理方法及装置 |
CN110277131A (zh) * | 2019-05-30 | 2019-09-24 | 百富计算机技术(深圳)有限公司 | 基于nand flash存储器的校验方法、终端设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110908603B (zh) | 2024-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102279776B (zh) | 一种错误检查与纠正能力的测试方法及装置 | |
CN108170555A (zh) | 一种数据恢复方法及设备 | |
CN104217761B (zh) | 数据储存装置及其错误校正方法 | |
CN102741819A (zh) | 用于解码码字的方法、设备和计算机程序 | |
CN101310342A (zh) | 测试装置以及测试方法 | |
US20170199784A1 (en) | Method of data recovery when errors failing to be corrected through ecc occur to nand flash | |
EP3121719A1 (en) | Systems and methods to improve the reliability and lifespan of flash memory | |
CN111192620A (zh) | 一种SSD中优化NAND Flash读参考电压的方法 | |
EP3567734A1 (en) | Method and apparatus for processing rate matching of polar codes | |
CN110888851B (zh) | 压缩文件创建和解压的方法及装置、以及电子和存储设备 | |
CN112558875A (zh) | 数据校验方法、装置、电子设备及存储介质 | |
CN105302924A (zh) | 一种文件管理方法及装置 | |
CN108108263B (zh) | 一种固态硬盘的数据处理方法及装置 | |
CN110908603A (zh) | 一种数据存储防错处理系统及方法 | |
CN115858396B (zh) | 用于芯片验证的方法及装置、电子设备、存储介质 | |
CN105989095B (zh) | 顾及数据不确定性的关联规则显著性检验方法及装置 | |
CN116841811A (zh) | 芯片寄存器的测试方法、装置、电子设备及存储介质 | |
CN107844273B (zh) | 一种数据写入方法及装置、验证方法及装置 | |
CN110968255A (zh) | 数据处理方法、装置、存储介质以及处理器 | |
US11836430B2 (en) | FPGA-based resequencing analysis method and device | |
CN114490547A (zh) | 数据压缩方法、装置、设备及介质 | |
CN105630425B (zh) | 一种数据管理方法、装置及终端 | |
WO2019007315A1 (zh) | 闪存设备中数据写入的方法及设备 | |
CN115695590A (zh) | 一种can信号解析方法、设备及存储介质 | |
CN106155581B (zh) | 数据储存装置及其数据维护方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |