CN104216791B - 一种校验Flash存储数据的方法 - Google Patents

一种校验Flash存储数据的方法 Download PDF

Info

Publication number
CN104216791B
CN104216791B CN201310209256.9A CN201310209256A CN104216791B CN 104216791 B CN104216791 B CN 104216791B CN 201310209256 A CN201310209256 A CN 201310209256A CN 104216791 B CN104216791 B CN 104216791B
Authority
CN
China
Prior art keywords
data
block
flash
write
unit
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.)
Active
Application number
CN201310209256.9A
Other languages
English (en)
Other versions
CN104216791A (zh
Inventor
陈辉
刘启林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maitian cloud (Hangzhou) Information Technology Co.,Ltd.
Original Assignee
Shanghai Feixun Data Communication Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Feixun Data Communication Technology Co Ltd filed Critical Shanghai Feixun Data Communication Technology Co Ltd
Priority to CN201310209256.9A priority Critical patent/CN104216791B/zh
Publication of CN104216791A publication Critical patent/CN104216791A/zh
Application granted granted Critical
Publication of CN104216791B publication Critical patent/CN104216791B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明公开了一种校验Flash存储数据的方法,其属于数据校验技术领域,采用Flash驱动装置对Flash存储数据进行校验,校验方法包括:数据写入单元向Flash存储设备的一个存储块中写入一段数据块;每段数据块具有一个唯一的标识信息;数据写入单元提取数据块的标识信息并保存至存储单元中;数据读取单元读取刚写入数据块的存储块中保存的数据,每个存储块中保存的数据具有一个唯一的验证信息;数据读取单元提取验证信息,并将验证信息与标识信息进行比对,若验证信息与标识信息一致,则判断数据块写入正确;上述技术方案的有益效果是:在数据写入的过程中及时发现错误并及时解决,并不影响其他存储块中的数据写入;且校验过程对使用者不透明。

Description

一种校验Flash存储数据的方法
技术领域
本发明涉及数据校验技术领域,尤其涉及一种校验Flash存储数据的方法。
背景技术
在传统的校验机制中,经常会对整个文件进行校验,即在对整个系统镜像升级完成之后,再回读写入的系统镜像文件,获取按照一定规则编写的校验码,并与原始的校验码进行比对,如果不一致,则表明数据写入过程中被写入的数据发生了错误,此时需要重新进行整体的数据写入操作。这样的校验方式意味着整个过程中如果有任何数据产生错误,都会导致整个数据写入过程的失败,从而需要重新开始进行数据写入操作。一方面,这种校验方法需要上层应用软件开发人员引入额外的校验程序,另一方面又在整体的重复输入数据上消耗了大量时间,而且对于普通用户来说这个过程是可以被感知到的,降低了用户体验的流畅度。
中国专利(CN102932332A)公开了一种数据校验系统和数据校验方法,包括:加载单元,用于将校验规则库加载至服务器并缓存至内存中;获取单元,用于在服务器接收到客户端的数据后,从校验规则库中获取数据对应的窗体的校验规则,以及在服务器接收到客户端的页面请求后,从校验规则库中获取所请求页面包含的窗体的校验规则;校验单元,用于按数据对应的窗体的校验规则对数据进行校验,以及按照校验脚本对客户端的数据进行校验;脚本生成单元,用于按所请求页面包含的窗口的校验规则生成校验脚本并发送至客户端。上述技术方案采用多种数据校验规则,并根据需要选择一种数据校验规则,而并未涉及到关于Flash存储数据的分段校验。
中国专利(CN101183565)公开了一种存储介质中的数据校验方法,包括:组织ECC数据矩阵;对数据编码,产生行校验码和列校验码;在对ECC数据矩阵进行数据操作时,使用行校验码和列校验码对数据进行校验。上述技术方案并未涉及在Flash存储介质中对块数据进行校验的方法。
发明内容
根据现有技术中存在的缺陷,现提供一种校验Flash存储数据的方法,具体包括:
一种校验Flash存储数据的方法,适用于Flash存储设备;所述Flash存储设备中包括多个相同大小的存储块;其中,采用Flash读写驱动装置校验写入Flash存储设备中的存储数据,所述Flash读写驱动装置将所述Flash存储数据分为多个数据块,并将每段所述数据块保存入一个所述存储块中;
所述Flash读写驱动单元包括数据写入单元、数据读取单元和存储单元;所述存储单元分别连接所述数据读取单元和所述数据写入单元;
校验Flash存储数据的方法具体包括:
所述Flash读写驱动装置开始对一个所述存储块进行数据写入操作;
所述数据写入单元向所述Flash存储设备的一个所述存储块中写入一段所述数据块;每个所述数据块具有一个唯一的标识信息;所述数据写入单元提取所述数据块的所述标识信息并保存至所述存储单元中;
所述数据读取单元读取刚写入所述数据块的所述存储块中保存的数据,每个所述存储块中保存的所述数据具有一个唯一的验证信息;
所述数据读取单元提取所述验证信息,并将所述验证信息与所述标识信息进行比对,若所述验证信息与所述标识信息一致,则判断所述数据块写入正确;
所述Flash读写驱动装置结束对所述存储块的所述数据写入操作。
优选的,该校验Flash存储数据的方法,其中,若所述验证信息与所述标识信息不一致,则判断所述数据块写入错误。
优选的,该校验Flash存储数据的方法,其中,当所述数据写入单元向所述Flash存储设备的一个所述存储块中写入一段所述数据块时,所述数据写入单元同时将所述数据块写入一个数据缓存单元中;所述数据缓存单元分别连接所述数据写入单元和所述数据读取单元。
优选的,该校验Flash存储数据的方法,其中,当所述验证信息与所述标识信息不一致时,所述数据写入单元从所述数据缓存单元中重新读取所述数据块并重新写入到相应的所述存储块中。
优选的,该校验Flash存储数据的方法,其中,当所述数据写入单元重新写入所述数据块达到预定的次数时,所述数据写入单元停止重新写入所述数据块,所述Flash读写驱动装置判断所述数据块写入错误。
优选的,该校验Flash存储数据的方法,其中,所述数据写入单元重新向所述Flash存储设备中写入数据前,所述Flash读写驱动装置预先擦除所述Flash存储设备的所有所述存储块中的数据。
优选的,该校验Flash存储数据的方法,其中,当所述数据写入单元第一次向所述Flash存储设备中写入数据前,所述Flash读写驱动装置不预先擦除所述Flash存储设备的所有所述存储块中的数据。
优选的,该校验Flash存储数据的方法,其中,所述标识信息和所述验证信息均为MD5信息。
上述技术方案的有益效果是:在数据写入的过程中及时发现错误并及时解决,并不影响其他存储块中的数据写入;且校验过程不对使用者透明,使用者并不会感知到数据写入过程中的修复操作。
附图说明
图1是本发明的实施例中,对Flash存储数据进行校验的基础装置结构示意图;
图2是本发明的实施例中,校验Flash存储数据的流程示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
Flash(闪存)存储设备是是存储芯片的一种,通过特定的程序可以修改里面的数据。Flash存储设备是一种块存储设备,即整个存储芯片的存储空间被分为若干个相同大小的存储块(Sector),对于Flash存储芯片的数据写入操作实质上是对若干个存储块的数据写入操作。因此可以针对上述特征,采用对每个存储块进行数据校验的方式校验整个数据写入操作的正确性,从而避免由于微小的错误导致的重新写入整段数据。
本发明的实施例中对Flash存储数据进行校验时,采用如图1所示的校验装置。该校验装置的核心是Flash数据读写驱动装置;驱动装置与上层的应用程序连接。驱动装置包括数据写入单元、数据读取单元和数据存储单元,其中数据写入单元和数据读取单元分别连接数据存储单元。驱动程序还包括一个数据缓存单元,数据缓存单元与数据写入单元连接。上述数据写入和数据读取单元分别负责数据的写入和读取,数据存储单元中保存有数据的验证标识,数据缓存单元中暂时保存已经写入存储块中的相应数据。
由于Flash存储设备是分块存储的,因此存入Flash存储设备中的数据也是分段的。因此相应的,对Flash存储数据进行校验的方法具体如图2所示:
下述对Flash存储数据的校验过程均在Flash存储数据写入操作过程中进行。
数据写入单元向每个存储块中写入相应的数据块;每个数据块中包括一个标识信息,一个数据块与一个标识信息一一对应,标识信息起到唯一标识该数据块完整性的作用;数据写入单元在写入每个数据块的同时,提取该数据块的标识信息并存入数据存储单元中;
同时,数据写入单元将对应写入的数据块暂时存入数据缓存单元中。
当一个存储块中的数据块全部写入后,数据读取单元读取该存储块中保存的数据,存储块中保存的数据也具有一个唯一的验证信息;驱动装置比对对应同一个存储块的上述验证信息和标识信息;若验证信息与标识信息相同,则判断保存在存储块中的数据即为刚被写入的数据块,数据写入过程未出现差错;若验证信息与标识信息不符,则判断存储块中的数据与被写入的数据块不一致,不一致的原因可能为在写入过程中发生错误,或者未擦除存储块中原本存储的数据等。
当判断出数据错误后,数据写入单元擦除出现错误的存储块中的数据,并重新写入暂存在数据缓存单元中的相应数据块;驱动装置重新对该存储块中的数据进行校验,并判断数据写入是否发生错误;若仍然发生错误,则数据写入单元继续重写数据;
上述重写数据的次数可由系统限定,或者由使用者自行设置;在本发明的实施例中,上述重写次数为3次。当重写次数达到3次后,经过数据校验仍然发现数据写入错误,则驱动装置上报该错误信息,并由上层应用进行相应处理。
数据写入单元重写数据前,首先擦除存储设备中所有存储块内保存的数据。
当数据写入单元重写数据成功后,数据写入单元擦除保存于数据缓存单元中的相应数据块。
在本发明的实施例中,当驱动装置首次向Flash存储设备中写入数据时(即不是重写过程时),由于此时Flash存储设备的相应存储块中并没有存储数据,因此无需进行擦除步骤。
本发明的实施例中,上述标识信息和验证信息可以是MD5校验码,换言之,本发明的实施例中,可以采用MD5校验方法,在对Flash存储设备进行写入操作时对所写入的Flash存储数据进行分块校验。当然,在本发明的其他实施例中,也可以采用其他校验方法进行校验,并不仅限于MD5这一种校验方法。
本发明的实施例中所述的Flash存储数据分段式校验方法,综合来讲是在普通的Flash驱动程序中添加自动的基于Flash存储块的分段式校验功能,而使上层应用软件的开发人员无需单独进行数据的校验工作,同时,由于校验过程在底层的驱动程序中进行,对于普通用户而言是隐藏的。而校验失败后进行的数据块修复仅针对个别特定的数据块,而不是整个Flash存储空间,可以节约修复时间,提高存储效率,节省上层开发人员的工作时间。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。

Claims (8)

1.一种校验Flash 存储数据的方法,适用于Flash 存储设备;所述Flash 存储设备中包括多个相同大小的存储块;其特征在于,采用Flash 读写驱动装置校验写入Flash 存储设备中的Flash 存储数据,所述Flash 读写驱动装置将所述Flash 存储数据分为多个数据块,并将每段所述数据块保存入一个所述存储块中;
所述Flash 读写驱动装置包括数据写入单元、数据读取单元和存储单元;所述存储单元分别连接所述数据读取单元和所述数据写入单元;
校验Flash 存储数据的方法具体包括:
所述Flash 读写驱动装置开始对一个所述存储块进行数据写入操作;
所述数据写入单元向所述Flash 存储设备的一个所述存储块中写入一段所述数据块;
每段所述数据块具有一个唯一的标识信息;所述数据写入单元提取所述数据块的所述标识信息并保存至所述存储单元中;
所述数据读取单元读取刚写入所述数据块的所述存储块中保存的数据,每个所述存储块中保存的所述数据具有一个唯一的验证信息;
所述数据读取单元提取所述验证信息,并将所述验证信息与所述标识信息进行比对,所述验证信息与所述标识信息一致,则判断所述数据块写入正确;
所述Flash 读写驱动装置结束对所述存储块的所述数据写入操作。
2.如权利要求1 所述的校验Flash 存储数据的方法,其特征在于,若所述验证信息与所述标识信息不一致,则判断所述数据块写入错误。
3.如权利要求1 所述的校验Flash 存储数据的方法,其特征在于,当所述数据写入单元向所述Flash 存储设备的一个所述存储块中写入一段所述数据块时,所述数据写入单元同时将所述数据块写入一个数据缓存单元中;所述数据缓存单元分别连接所述数据写入单元和所述数据读取单元。
4.如权利要求3 所述的校验Flash 存储数据的方法,其特征在于,当所述验证信息与所述标识信息不一致时,所述数据写入单元从所述数据缓存单元中重新读取所述数据块并重新写入到相应的所述存储块中。
5.如权利要求4 所述的校验Flash 存储数据的方法,其特征在于,当所述数据写入单元重新写入所述数据块达到预定的次数时,所述数据写入单元停止重新写入所述数据块,所述Flash 读写驱动装置判断所述数据块写入错误。
6.如权利要求5 所述的校验Flash 存储数据的方法,其特征在于,所述数据写入单元重新向所述Flash 存储设备中写入数据前,所述Flash 读写驱动装置预先擦除所述Flash存储设备的所有所述存储块中的数据。
7.如权利要求6 所述的校验Flash 存储数据的方法,其特征在于,当所述数据写入单元第一次向所述Flash 存储设备中写入数据前,所述Flash 读写驱动装置不预先擦除所述Flash 存储设备的所有所述存储块中的数据。
8.如权利要求1 所述的校验Flash 存储数据的方法,其特征在于,所述标识信息和所述验证信息均为MD5 信息。
CN201310209256.9A 2013-05-30 2013-05-30 一种校验Flash存储数据的方法 Active CN104216791B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310209256.9A CN104216791B (zh) 2013-05-30 2013-05-30 一种校验Flash存储数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310209256.9A CN104216791B (zh) 2013-05-30 2013-05-30 一种校验Flash存储数据的方法

Publications (2)

Publication Number Publication Date
CN104216791A CN104216791A (zh) 2014-12-17
CN104216791B true CN104216791B (zh) 2018-05-01

Family

ID=52098312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310209256.9A Active CN104216791B (zh) 2013-05-30 2013-05-30 一种校验Flash存储数据的方法

Country Status (1)

Country Link
CN (1) CN104216791B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488419A (zh) * 2015-12-09 2016-04-13 上海斐讯数据通信技术有限公司 一种固件安全升级方法及路由设备
CN106326398A (zh) * 2016-08-19 2017-01-11 东软集团股份有限公司 数据一致性对比的方法及装置
CN106325773B (zh) * 2016-08-23 2019-05-28 浪潮(北京)电子信息产业有限公司 一种存储系统数据的一致性保障方法、系统及缓存装置
CN106407056B (zh) * 2016-09-21 2019-06-11 哈尔滨工业大学 面向空间信息处理的可编程计算单元的检测修复系统及方法
CN107609427A (zh) * 2017-09-18 2018-01-19 中国科学院微电子研究所 一种eeprom数据的存储方法及系统
CN108196975B (zh) * 2017-11-21 2021-09-17 深信服科技股份有限公司 基于多校验和的数据验证方法、装置及存储介质
CN108595125A (zh) * 2018-04-27 2018-09-28 江苏华存电子科技有限公司 一种纠正闪存写入错误处理方法
CN109086004A (zh) * 2018-07-19 2018-12-25 江苏华存电子科技有限公司 一种闪存中块类型的识别方法
CN108897499A (zh) * 2018-07-19 2018-11-27 江苏华存电子科技有限公司 一种闪存内块的类型识别方法
CN111008389B (zh) * 2019-12-05 2020-10-20 成都星时代宇航科技有限公司 基于卫星中文件系统的数据处理方法及装置
CN111176568B (zh) * 2019-12-26 2021-12-10 苏州浪潮智能科技有限公司 一种数据分析的方法和装置
CN113282244A (zh) * 2021-06-10 2021-08-20 辽宁警察学院 一种数据存储方法及装置
CN116185512B (zh) * 2023-04-25 2023-07-21 深圳艾为电气技术有限公司 用于ptc驱动器的驱动加载方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101118517A (zh) * 2007-08-14 2008-02-06 北京佳讯飞鸿电气股份有限公司 一种基于nor flash芯片的数据存储实现方法
US7511646B2 (en) * 2006-05-15 2009-03-31 Apple Inc. Use of 8-bit or higher A/D for NAND cell value
CN101446921A (zh) * 2008-12-23 2009-06-03 青岛海信宽带多媒体技术股份有限公司 一种Flash存储器的动态存储方法
CN102081577A (zh) * 2011-01-12 2011-06-01 厦门雅迅网络股份有限公司 Flash存储器的数据存储结构及其数据操作方式
CN102650949A (zh) * 2012-04-24 2012-08-29 深圳创维数字技术股份有限公司 一种存储设备的固件升级的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7511646B2 (en) * 2006-05-15 2009-03-31 Apple Inc. Use of 8-bit or higher A/D for NAND cell value
CN101118517A (zh) * 2007-08-14 2008-02-06 北京佳讯飞鸿电气股份有限公司 一种基于nor flash芯片的数据存储实现方法
CN101446921A (zh) * 2008-12-23 2009-06-03 青岛海信宽带多媒体技术股份有限公司 一种Flash存储器的动态存储方法
CN102081577A (zh) * 2011-01-12 2011-06-01 厦门雅迅网络股份有限公司 Flash存储器的数据存储结构及其数据操作方式
CN102650949A (zh) * 2012-04-24 2012-08-29 深圳创维数字技术股份有限公司 一种存储设备的固件升级的方法及装置

Also Published As

Publication number Publication date
CN104216791A (zh) 2014-12-17

Similar Documents

Publication Publication Date Title
CN104216791B (zh) 一种校验Flash存储数据的方法
US10540289B2 (en) Data storage device and flash memory control method
CN107391300B (zh) 一种提高闪存数据存储可靠性的方法及系统
JP2013522792A (ja) メタデータタグを介した不規則なパリティ分布の検出
CN108664418A (zh) 数据储存装置以及其操作方法
CN104699417B (zh) 数据储存装置以及其数据存取方法
CN105005450B (zh) 数据写入方法、存储器存储装置及存储器控制电路单元
CN103577275B (zh) 一种数据校验的方法、设备和系统
CN103425589A (zh) 控制装置、存储装置以及存储控制方法
CN106681848B (zh) 一种纠删码raid的数据一致性保障方法及系统
CN104166601B (zh) 一种存储数据的备份方法和装置
CN110347330A (zh) 存储器系统及其操作方法
CN104978148A (zh) 数据写入方法及装置、数据读取方法及装置
CN106155582B (zh) 非挥发性储存装置与控制器
CN104898989B (zh) 一种大容量数据存储设备、方法及装置
WO2017143843A1 (zh) 元数据修复方法及装置
CN105892932A (zh) 用于磁盘数据管理的方法和装置
TW201324518A (zh) 位元層次記憶體控制器及控制方法
CN103176859A (zh) 一种flash数据备份/恢复方法、设备及信号源
CN102237143B (zh) 一种闪存块信息的重建方法、系统及重建设备
CN107168650B (zh) 一种对bios的存储器中的数据的处理方法及装置
CN104461379A (zh) 提高nand闪存的稳定性的方法和nand闪存
CN109542671A (zh) 校验数据生成方法及固态硬盘
CN105867833B (zh) 数据存储装置及数据存储方法
CN105095352B (zh) 应用于分布式系统的数据处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201116

Address after: Room 10242, No. 260, Jiangshu Road, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Hangzhou Jiji Intellectual Property Operation Co., Ltd

Address before: 201616 Shanghai city Songjiang District Guangfulin road 4855 Lane 20, No. 90

Patentee before: Phicomm (Shanghai) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210609

Address after: 310000 room 1704, building 2, dingchuang wealth center, Cangqian street, Yuhang District, Hangzhou City, Zhejiang Province

Patentee after: Maitian cloud (Hangzhou) Information Technology Co.,Ltd.

Address before: Room 10242, No. 260, Jiangshu Road, Xixing street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee before: Hangzhou Jiji Intellectual Property Operation Co., Ltd