CN106951342B - 一种TF卡片内Flash的纠错方法 - Google Patents

一种TF卡片内Flash的纠错方法 Download PDF

Info

Publication number
CN106951342B
CN106951342B CN201710160668.6A CN201710160668A CN106951342B CN 106951342 B CN106951342 B CN 106951342B CN 201710160668 A CN201710160668 A CN 201710160668A CN 106951342 B CN106951342 B CN 106951342B
Authority
CN
China
Prior art keywords
flash
piece
application program
application
check value
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
CN201710160668.6A
Other languages
English (en)
Other versions
CN106951342A (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.)
XINGTANG COMMUNICATIONS CO Ltd
Data Communication Institute Of Science And Technology
Original Assignee
XINGTANG COMMUNICATIONS CO Ltd
Data Communication Institute Of Science And Technology
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 XINGTANG COMMUNICATIONS CO Ltd, Data Communication Institute Of Science And Technology filed Critical XINGTANG COMMUNICATIONS CO Ltd
Priority to CN201710160668.6A priority Critical patent/CN106951342B/zh
Publication of CN106951342A publication Critical patent/CN106951342A/zh
Application granted granted Critical
Publication of CN106951342B publication Critical patent/CN106951342B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明涉及一种TF卡片内Flash的纠错方法,采用握手超时机制区分下载应用程序和启动应用程序,若在预设时间内接收到正确的握手信号,则接收上位机的应用程序,并写入片内Flash的应用程序区和片外Flash的应用程序备份区,计算应用程序数据的CRC校验值作为标准校验值写入片外Flash的应用程序校验码区;从片外Flash的应用程序校验码区读取全部的标准校验值至RAM中,对片内Flash中的应用程序空间存储的有效数据求取CRC校验值,如果求取的CRC校验值与标准校验值存在偏差,则从片外Flash的应用程序备份区读取备份数据,并将备份数据写入到片内Flash中覆盖原始数据,启动应用程序。本发明的错误检出率高,纠错能力强,大大提高了片内Flash的可靠性和启动性能,降低了功耗。

Description

一种TF卡片内Flash的纠错方法
技术领域
本发明涉及存储技术领域,尤其涉及一种TF卡片内Flash的纠错方法。
背景技术
便携式移动终端的应用渗透到了人们工作生活的每个角落,TF卡以其体积小、存储能力强大并且采用高效的SD接口传输,在便携设备中获得良好的推广和长足的发展。现今,TF卡形态的产品已经不仅适用于存储领域,其在蓝牙、无线通信及密码安全领域也占据一席之地。对于支持热插拔的TF卡,启动时间越短则提供给用户更好的体验。当前多数TF卡采用挂接在SPI总线的片外Flash,这种Flash不支持CPU直接访问,所以TF卡上电后需要CPU通过SPI接口将片外Flash中的代码读取到RAM,在RAM中执行代码。受SPI总线及片外Flash的性能限制,读取片外Flash的速率相比于片内Flash会有明显下降,所以部分用户选择片内Flash作为程序存储和运行空间。由于片内Flash对芯片生产工艺会有比较高的要求,所以片内Flash容易出现故障,其中一种故障类型为:随着擦写次数的增加,Flash内部存储单元出现电平翻转错误的概率急剧上升,直接导致程序运行出错,造成TF卡故障甚至无法使用。该类问题在芯片出厂时的出现概率较低,通常在芯片投入使用后随着Flash擦写次数的增加才会逐步出现,导致TF卡使用寿命降低。
对于上述故障,通常采用纠错或者备份的方式减轻其对整个TF卡系统的危害。纠错方式是指事先采用纠错算法(常见ECC算法)处理Flash中存储的有效数据并生成纠错码,在芯片上电后立即调用纠错算法处理Flash中存储的有效数据,对出现电平翻转的存储单元及时处理,降低Flash出错的概率。备份方式非常直观,即在Flash开辟一块与应用程序空间同样大的区域,对应用程序作完整备份,上电后即对比两片区域,发现错误后则将备份区域的数据覆盖到原始区域。
但是,这两种方式都存在一些问题:
纠错方式的问题在于纠错效果和时间性能的冲突,ECC算法只能纠正1bit错误,对于2个bit以上的错误则纠错失败,要想纠错效果更上一层楼,需要大大增加算法的复杂度,势必会降低时间性能。
备份方式纠错效果好,方法简单高效,但对片内Flash的容量要求较高,需要至少2倍于应用程序的空间,Flash容量增加直接导致芯片的体积和功耗增大。对于主要应用于移动便携设备的TF卡,体积和功耗是非常重要的因素,因此备份方式并不十分适用于TF卡的片内Flash故障。
发明内容
鉴于上述的分析,本发明旨在提供一种TF卡片内Flash的纠错方法,用以解决现有TF卡片内Flash随着擦写次数的增加出现电平翻转故障的问题。
本发明的目的主要是通过以下技术方案实现的:
一种TF卡片内Flash的纠错方法,包括以下步骤:
步骤S1:TF卡上电后,进行软硬件初始化;
步骤S2:等待上位机的握手信号,若在预设时间内接收到正确的握手信号,执行步骤S3;若等待握手信号超时,执行步骤S4;
步骤S3:下载应用程序;
步骤S4:对应用程序进行检错和纠错,启动应用程序。
所述步骤S3包括以下步骤:
步骤S301:接收上位机的应用程序;
步骤S302:将从上位机接收的应用程序写入片内Flash的应用程序区;
步骤S303:将从上位机接收的应用程序写入片外Flash的应用程序备份区;
步骤S304:计算步骤S303应用程序数据的CRC校验值作为标准校验值写入片外Flash的应用程序校验码区。
从上位机每接收到256字节数据,执行步骤S302,不足256字节数据按实际长度处理。
片内Flash的起始地址存放纠错代码,后续存放应用程序;片外Flash的起始地址存放应用程序的标准校验值,后续存放应用程序的备份。
所述步骤S4包括以下步骤:
步骤S401:从片外Flash的应用程序校验码区读取全部的标准校验值至RAM中;
步骤S402:对片内Flash中的应用程序空间存储的有效数据求取CRC校验值;
步骤S403:如果求取的CRC校验值与从片外Flash读取至RAM中的标准校验值存在偏差,则对应用程序进行纠错;
步骤S404:纠错完成后,关闭片外Flash的时钟和电源,跳转到应用程序的起始地址启动应用程序。
片外Flash无数据读写时关闭其独立电源时钟,只在使用时开启。
所述步骤S402中,对于片内Flash中的应用程序空间存储的有效数据,每256字节求取一个8bit的CRC校验值,不足256字节按实际长度处理。
步骤S403所述的对应用程序进行纠错,从片外Flash的应用程序备份区读取备份数据,并将备份数据写入到片内Flash中覆盖原始数据。
应用程序运行过程中,当终端设备访问TF卡时,TF卡自动从低功耗模式恢复到正常模式,纠错代码对应用程序进行检错和纠错,纠错完成后继续运行应用程序。
本发明有益效果如下:
本发明通过在TF卡的硬件结构中增加挂接在主控芯片上的片外Flash,配合CRC校验与备份结合的软件机制,提供了一种TF卡片内Flash的纠错方法,错误的检出率高,纠错能力强,大大提高了片内Flash的可靠性;程序启动前的纠错工作采用首先检错,检出错误后再启用备份数据的方式,在一定程度上提高了启动性能;采用片外Flash扩展存储空间,无数据读写时可独立关闭其电源时钟,降低功耗。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为TF卡内部结构示意图;
图2为Flash的存储空间分配示意图;
图3为TF卡片内Flash的纠错方法流程图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。
本发明实施例提供了一种TF卡片内Flash的纠错方法,包括以下步骤:
步骤S1:TF卡上电后,进行软硬件初始化。
如图1所示,所述TF卡包括主控芯片、片外Flash、SPI总线和NAND Flash;
所述主控芯片包括SD接口、时钟控制模块和片内Flash;
具体地,所述软硬件初始化包括初始化时钟、SD接口、片内Flash和片外Flash。
步骤S2:等待上位机的握手信号,若在预设时间内接收到正确的握手信号,执行步骤S3;若等待握手信号超时,执行步骤S4。
优选地,采用握手超时机制区分下载应用程序和启动应用程序。
步骤S3:下载应用程序。
具体地,如图3所示,接收上位机的应用程序,每接收到256字节数据,先将其写入片内Flash的应用程序区,然后写入片外Flash的应用程序备份区,最后计算256字节数据的CRC校验值作为标准校验值并写入片外Flash的应用程序校验码区(不足256字节数据按实际长度处理);
图2为片内Flash和片外Flash的存储空间分配示意图,片内Flash的起始地址存放纠错代码,后续存放应用程序,PC指针可以在纠错程序和应用程序之间相互跳转;片外Flash的起始地址存放应用程序的标准校验值,后续存放应用程序的备份;
所述纠错代码同时具备下载应用程序及启动应用程序的功能。
步骤S4:对应用程序进行检错和纠错,启动应用程序。
优选地,程序启动前首先进行检错,检出错误后再启用备份数据;检错动作只需要从片外Flash中获取全部的标准校验值,只有在校验出错时才会从片外Flash中读取应用程序备份区的备份数据写入片内Flash覆盖原始数据,在一定程度上提高了应用程序的启动性能;
采用片外Flash扩展存储空间,相比于扩展片内Flash存储空间的方式,在扩展空间使用频率较低的情况下,片外Flash无数据读写时可关闭其独立电源时钟,而只在使用时开启,以降低功耗。
具体地,所述步骤S4包括以下步骤:
步骤S401:从片外Flash的应用程序校验码区读取全部的标准校验值至RAM中;
步骤S402:对片内Flash中的应用程序空间存储的有效数据求取CRC校验值;
具体地,对于片内Flash中的应用程序空间存储的有效数据,每256字节求取一个8bit的CRC校验值(不足256字节按实际长度处理);
步骤S403:如果求取的CRC校验值与从片外Flash读取至RAM中的标准校验值存在偏差,则对应用程序进行纠错;
具体地,如图3所示,如果求取的CRC校验值与从片外Flash读取至RAM中的标准校验值存在偏差,则认为该区间由于存储单元电平跳变而导致数据出错,则从片外Flash的应用程序备份区的相应位置读取备份数据,并将备份数据写入到片内Flash中覆盖原始数据;
步骤S403:纠错完成后,关闭片外Flash的时钟和电源,跳转到应用程序的起始地址启动应用程序。
优选地,纠错代码在TF卡上电时对片内Flash内的应用程序进行检错和纠错,但在应用程序实时运行过程中片内Flash区域也随时可能出错,所以TF卡每次从低功耗模式恢复到正常模式时,纠错代码均会对应用程序进行检错和纠错;
具体地,当终端设备没有访问TF卡的需求时,TF卡会自动进入低功耗模式,且不再执行任何外设访问操作;当终端设备访问TF卡时,TF卡自动从低功耗模式恢复到正常模式,然后纠错代码对应用程序进行检错和纠错,纠错完成后继续运行应用程序。在TF卡由低功耗模式恢复正常模式时对应用程序进行检错和纠错,选择了合适的纠错时机,提高了纠错频率,进一步提升了片内Flash存储的可靠性。
综上所述,本发明实施例提供了一种TF卡片内Flash的纠错方法,在TF卡主控芯片外挂接Flash,配合CRC校验与备份结合的软件机制,错误的检出率高,纠错能力强,大大提高了片内Flash的可靠性;程序启动前的纠错工作采用首先检错,检出错误后再启用备份数据的方式,在一定程度上提高了启动性能;采用片外Flash扩展存储空间,无数据读写时可独立关闭其电源时钟,降低功耗。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (8)

1.一种TF卡片内Flash的纠错方法,其特征在于,包括以下步骤:
步骤S1:TF卡上电后,进行软硬件初始化;
步骤S2:等待上位机的握手信号,若在预设时间内接收到正确的握手信号,执行步骤S3;若等待握手信号超时,执行步骤S4;
步骤S3:下载应用程序;
步骤S4:对应用程序进行检错和纠错,启动应用程序;
所述步骤S4包括以下步骤:
步骤S401:从片外Flash的应用程序校验码区读取全部的标准校验值至RAM中;
步骤S402:对片内Flash中的应用程序空间存储的有效数据求取CRC校验值;
步骤S403:如果求取的CRC校验值与从片外Flash读取至RAM中的标准校验值存在偏差,则对应用程序进行纠错;
步骤S404:纠错完成后,关闭片外Flash的时钟和电源,跳转到应用程序的起始地址启动应用程序。
2.根据权利要求1所述的方法,其特征在于,所述步骤S3包括以下步骤:
步骤S301:接收上位机的应用程序;
步骤S302:将从上位机接收的应用程序写入片内Flash的应用程序区;
步骤S303:将从上位机接收的应用程序写入片外Flash的应用程序备份区;
步骤S304:计算步骤S303应用程序数据的CRC校验值作为标准校验值写入片外Flash的应用程序校验码区。
3.根据权利要求2所述的方法,其特征在于,从上位机每接收到256字节数据,执行步骤S302,不足256字节数据按实际长度处理。
4.根据权利要求2或3所述的方法,其特征在于,片内Flash的起始地址存放纠错代码,后续存放应用程序;片外Flash的起始地址存放应用程序的标准校验值,后续存放应用程序的备份。
5.根据权利要求1所述的方法,其特征在于,片外Flash无数据读写时关闭其独立电源时钟,只在使用时开启。
6.根据权利要求1所述的方法,其特征在于,所述步骤S402中,对于片内Flash中的应用程序空间存储的有效数据,每256字节求取一个8bit的CRC校验值,不足256字节按实际长度处理。
7.根据权利要求1所述的方法,其特征在于,步骤S403所述的对应用程序进行纠错,从片外Flash的应用程序备份区读取备份数据,并将备份数据写入到片内Flash中覆盖原始数据。
8.根据权利要求7所述的方法,其特征在于,应用程序运行过程中,当终端设备访问TF卡时,TF卡自动从低功耗模式恢复到正常模式,纠错代码对应用程序进行检错和纠错,纠错完成后继续运行应用程序。
CN201710160668.6A 2017-03-17 2017-03-17 一种TF卡片内Flash的纠错方法 Active CN106951342B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710160668.6A CN106951342B (zh) 2017-03-17 2017-03-17 一种TF卡片内Flash的纠错方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710160668.6A CN106951342B (zh) 2017-03-17 2017-03-17 一种TF卡片内Flash的纠错方法

Publications (2)

Publication Number Publication Date
CN106951342A CN106951342A (zh) 2017-07-14
CN106951342B true CN106951342B (zh) 2019-07-19

Family

ID=59472322

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710160668.6A Active CN106951342B (zh) 2017-03-17 2017-03-17 一种TF卡片内Flash的纠错方法

Country Status (1)

Country Link
CN (1) CN106951342B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107748704A (zh) * 2017-10-13 2018-03-02 郑州云海信息技术有限公司 基于fpga的内存镜像实现的方法及装置
CN108132853A (zh) * 2017-11-24 2018-06-08 北京动力机械研究所 用于发动机控制器软件的上电校验双冗余引导加载方法
CN110287059B (zh) * 2019-05-21 2023-12-15 广东九联科技股份有限公司 一种spi flash的多备份方法
CN112181725B (zh) * 2020-09-25 2023-07-25 江苏恒宝智能系统技术有限公司 一种嵌入式系统的片内外数据掉电防拔备份方法及系统
CN112114888B (zh) * 2020-09-29 2024-05-17 上海大郡动力控制技术有限公司 一种电动汽车电控系统通用客户端引导程序生成方法
CN111966525B (zh) * 2020-10-23 2021-03-26 中国人民解放军国防科技大学 星载导航设备的dsp程序运行方法及其dsp系统
CN117369733B (zh) * 2023-12-07 2024-02-23 上海励驰半导体有限公司 集成电路、数据处理系统和车辆

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102545574A (zh) * 2010-12-27 2012-07-04 北京中电华大电子设计有限责任公司 一种soc芯片的低功耗电源网络设计方法
CN105653384A (zh) * 2015-12-30 2016-06-08 惠州市伟乐科技股份有限公司 一种软核cpu复位方法及主从式系统
CN106066684A (zh) * 2016-05-27 2016-11-02 中国电子科技集团公司第二十四研究所 主从式soc芯片低功耗控制电路

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7756495B2 (en) * 2005-09-29 2010-07-13 Intel Corporation High speed receiver

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102545574A (zh) * 2010-12-27 2012-07-04 北京中电华大电子设计有限责任公司 一种soc芯片的低功耗电源网络设计方法
CN105653384A (zh) * 2015-12-30 2016-06-08 惠州市伟乐科技股份有限公司 一种软核cpu复位方法及主从式系统
CN106066684A (zh) * 2016-05-27 2016-11-02 中国电子科技集团公司第二十四研究所 主从式soc芯片低功耗控制电路

Also Published As

Publication number Publication date
CN106951342A (zh) 2017-07-14

Similar Documents

Publication Publication Date Title
CN106951342B (zh) 一种TF卡片内Flash的纠错方法
JP6049716B2 (ja) セキュアなストレージのハイジャック保護のための技術
US6392925B2 (en) Mobile communication device having integrated embedded flash and SRAM memory
US9286164B2 (en) Electronic device to restore MBR, method thereof, and computer-readable medium
CN103930878A (zh) 用于存储器验证的方法、装置及系统
US8726097B2 (en) Debugging method and computer system using the same
JP2014519662A (ja) ホストから見たデバイスファームウェア更新の影響の管理
CN113495799B (zh) 一种内存故障处理方法及相关设备
CN106909352A (zh) 一种嵌入式设备的固件升级方法
WO2014173211A1 (en) Code coverage testing method, device and system
CN103810004A (zh) 嵌入式系统升级的方法、装置及设备
US8301981B2 (en) Data access method for flash memory and storage system and controller thereof
US9218249B2 (en) Electronic apparatus, method of restoring guid partition table (GPT) and computer-readable recording medium
KR102207110B1 (ko) 메모리 초기화 방법 및 이를 지원하는 전자 장치
CN104615387B (zh) 基于xpe系统的车载设备及其设计方法
JP5754287B2 (ja) Icチップ、icチップにおける処理方法、uim、携帯端末、及びicチップ用処理プログラム
US20130132648A1 (en) Portable storage device and the method of dynamically adjusting the operating modes thereof
CN111159123B (zh) 一种嵌入式可靠参数储存文件系统及方法
CN113778485A (zh) 电子芯片的系统运行方法、装置、电子芯片和存储介质
CN109857469B (zh) 显示屏控制方法及相关产品
CN110297595B (zh) 主机存储器缓冲区配置方法、储存装置与控制电路单元
EP3523707B1 (en) System-on-chip, electronic device including the same, and driving method thereof
CN107704270B (zh) 基于二取二架构的μC/OS-II系统启动引导方法及装置
US10417030B2 (en) Apparatus and method for compile time construction of memory structures
CN102566935A (zh) 应用于bios的虚拟磁盘实现方法

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