CN109254929A - 实现数据被可靠写入芯片的方法 - Google Patents

实现数据被可靠写入芯片的方法 Download PDF

Info

Publication number
CN109254929A
CN109254929A CN201811029997.8A CN201811029997A CN109254929A CN 109254929 A CN109254929 A CN 109254929A CN 201811029997 A CN201811029997 A CN 201811029997A CN 109254929 A CN109254929 A CN 109254929A
Authority
CN
China
Prior art keywords
data
mirror image
page
written
protection
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
Application number
CN201811029997.8A
Other languages
English (en)
Other versions
CN109254929B (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.)
State Grid Information and Telecommunication Co Ltd
Beijing Smartchip Microelectronics Technology Co Ltd
Original Assignee
State Grid Information and Telecommunication Co Ltd
Beijing Smartchip Microelectronics 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 State Grid Information and Telecommunication Co Ltd, Beijing Smartchip Microelectronics Technology Co Ltd filed Critical State Grid Information and Telecommunication Co Ltd
Priority to CN201811029997.8A priority Critical patent/CN109254929B/zh
Publication of CN109254929A publication Critical patent/CN109254929A/zh
Application granted granted Critical
Publication of CN109254929B publication Critical patent/CN109254929B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • 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/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes

Landscapes

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

Abstract

本发明公开了一种实现数据被可靠写入芯片的方法。该方法包括:将写保护标志位进行置位,将数据写入RAM缓冲区,若完成该写入操作,则将该写保护标志清除;将写入RAM缓冲区的数据提交到镜像缓冲区;将镜像缓冲区保护标记进行置位,将所述镜像缓冲区的数据写入目标区,该目标区具有一个或多个目标地址。根据本发明的实现数据被可靠写入芯片的方法能够避免发生意外掉电时写入芯片的数据不可靠。

Description

实现数据被可靠写入芯片的方法
技术领域
本发明是关于芯片设计领域,特别是关于一种实现数据被可靠写入芯片的方法。
背景技术
处理意外掉电事件是芯片数据读写机制的重要功能之一。芯片的使用者可能对卡片的操作规范并不了解,一个用户使用电卡给电表充值,在等待两秒后将电卡拔出,如果卡片在拔出的瞬间正在进行存储区的写操作,这样在卡片意外掉电的情况下业务数据可能一半写成功而其余数据仍然是旧数据,导致业务数据的混乱。因此基于上述问题,需要设置可靠的数据读写保护机制,保证业务数据在发生意外掉电时避免发生混乱。现有的数据读写保护机制多为镜像保护机制,其原理是在存储器中开辟一块区域对数据进行备份保护,该区域称为镜像缓冲区,存储区的读写过程不将数据直接写入目标区,而是将数据写入镜像缓冲区,然后将镜像区的数据写回目标区。该镜像区由非易失性存储器实现,这样当发生意外掉电等特殊情况后,待芯片重新上电之后,从镜像缓冲区保存的数据中可以恢复数据。
图1示出了现有的一种基于镜像机制的写保护流程。该写保护流程包括:开始写入数据时,将写保护标志位置位,开启每一步的写操作,所有步骤的写操作都存入镜像缓冲区之后,则将写保护标志位清除,设置镜像标记,然后将镜像标记置位,将镜像缓冲区的数据提交给目标地址,然后清除镜像标记。该数据读写保护机制的掉电处理方法是假设掉电过程瞬间完成的,但是在实际应用场景中,掉电发生后,掉电波形是具有斜率的曲线。图2示出了一个掉电过程的电平下降沿变化过程,电压经过16us完成整个掉电过程。该过程大致分为3个阶段:1、3V到2.7V阶段,此阶段芯片欠电压但是通常可以正常工作;2、2.7V到0.9V阶段,芯片在此阶段为不稳定工作状态;3、0.9V以下阶段,芯片处于不工作状态。在掉电的第1和第3阶段中,芯片处于确定的状态,不会对掉电过程产生干扰。但是在第2阶段芯片工作不稳定,这意味着即使芯片写存储区成功,其数据也未必正常。例如在欠电压工作时,镜像缓冲区写入的电荷数量不足,写入成功即使进行读出比对其结果也是正确的,但随着时间流逝,写入的电荷逃逸,导致用户数据最后失效。
当掉电发生在数据从镜像缓冲区提交到目标区的阶段,此阶段无论目标区的数据如何混乱,芯片重新上电后都可以从镜像缓冲区恢复。然而当数据提交完成后,需要擦除镜像标志,如果掉电下降沿横跨这两个操作,即数据提交的最后数微秒发生掉电导致目标区写入操作不可靠的完成了,而清除镜像标志的操作也随后的数微秒完成,在随后的操作中欠电压的情况下写入的电荷可能发生逃逸从而导致芯片数据失效,即便是重新上电,由于镜像标志被清除了,因此无法再恢复数据。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
本发明的目的在于提供一种实现数据被可靠写入芯片的方法,其能够避免发生意外掉电时写入芯片的数据不可靠。
为实现上述目的,本发明提供了一种实现数据被可靠写入芯片的方法,其包括:将写保护标志位进行置位,将数据写入RAM缓冲区,若完成该写入操作,则将该写保护标志清除;将写入RAM缓冲区的数据提交到镜像缓冲区;将镜像缓冲区保护标记进行置位,将所述镜像缓冲区的数据写入目标区,该目标区具有一个或多个目标地址。
在一优选的实施方式中,所述RAM缓冲区包括:RAM缓冲区保护页、RAM缓冲区保护标记、RAM缓冲区保护数量标记、RAM缓冲区目标地址标记。RAM缓冲区保护页用于存储写入RAM缓冲区的保护数据。RAM缓冲区保护标记与所述RAM缓冲区保护页相耦合,用于表示所述RAM缓冲区保护页的数据是否有效。RAM缓冲区保护页数量标记与所述RAM缓冲区保护页相耦合,用于表示RAM缓冲区的已用的保护页数量。RAM缓冲区目标地址标记,与所述RAM缓冲区保护页相耦合,用于表示所述RAM缓冲区保护页对应的目标地址。
在一优选的实施方式中,所述将数据写入RAM缓冲区包括:计算待写入所述RAM缓冲区的数据的目标地址所对应的所述RAM缓冲区保护页的起始位置;判断所述待写入所述RAM缓冲区的数据的目标地址对应的页地址数据是否已经被缓冲,若所述页地址数据已经被缓冲,则将所述待写入RAM缓冲区的数据拼入该页地址数据对应的保护页,若所述页地址数据没有被缓冲,则将所述目标地址的页地址读出,将待写入RAM缓冲区的数据拼入该页。
在一优选的实施方式中,若所述页地址数据已经被缓冲,则将所述待写入RAM缓冲区的数据拼入该页地址数据对应的保护页包括:在所述RAM缓冲区中找到该页地址数据对应的保护页;将所述待写入RAM缓冲区的数据按照页内偏移拼入该保护页;将所述待写入RAM缓冲区的数据的源地址偏移本次写入长度,数据长度减少本次写入长度。
在一优选的实施方式中,若所述页地址数据没有被缓冲,则将所述目标地址的页地址读出,将待写入RAM缓冲区的数据拼入该页包括:将所述目标地址的页地址读出,该页作为新的保护页;将所述目标页地址保存在RAM缓冲区的目标地址并修改所述保护页的数量;将所述待写入RAM缓冲区的数据按照页内偏移拼入所述新的保护页;将所述待写入RAM缓冲区的数据的源地址偏移本次写入长度,数据长度减少本次写入长度。
在一优选的实施方式中,所述镜像缓冲区包括:镜像缓冲区保护页、所述镜像缓冲区保护标记、镜像缓冲区保护页数量标记、镜像缓冲区保护页数量标记。镜像缓冲区保护页用于存储写入镜像缓冲区的保护数据。所述镜像缓冲区保护标记与所述镜像缓冲区保护页相耦合,所述镜像缓冲区保护标记是通过对镜像区的数据计算CRC而获得,根据该镜像保护标志能够确定是否从镜像缓冲区向目标区写入数据,且在芯片上电后是否从镜像缓冲区恢复目标区的数据,以及如果进行数据恢复则所恢复的数据的页地址范围。镜像缓冲区保护页数量标记与所述镜像缓冲区保护页相耦合,用于表示已用的镜像缓冲区保护页数量。镜像缓冲区保护页数量标记与所述镜像缓冲区保护页相耦合,用于表示所述镜像缓冲区保护页对应的目标地址。
在一优选的实施方式中,将所述镜像缓冲区的数据写入目标区包括:读取所述镜像缓冲区的保护页的数量及所述保护页对应的目标地址;依次读出所有保护页的数据并写入对应的目标地址。
在一优选的实施方式中,所述实现数据被可靠写入芯片的方法还包括:在每次芯片上电后,根据所述镜像缓冲区保护标记,确定是否从镜像缓冲区恢复所述目标区的数据以及所恢复的数据的页地址范围。
在一优选的实施方式中,所述实现数据被可靠写入芯片的方法还包括:在读取目标地址的数据时,先根据所述镜像缓冲区目标地址标记以及所述镜像缓冲区保护标记判断所述目标地址的数据的分布情况,若所述镜像缓冲区存在一部分该目标地址的数据,则从所述镜像缓冲区读取该部分目标地址的数据,且将另一部分目标地址的数据从目标区中读出;若所述镜像缓冲区存在全部的该目标地址的数据,则从所述镜像缓冲区读取全部的该目标地址的数据;若所述镜像缓冲区不存在该目标地址的数据,则从目标区中将该目标地址的全部数据读出。
在一优选的实施方式中,所述RAM缓冲区用RAM存储器实现,所述镜像缓冲区用非易失性存储器实现。
与现有技术相比,根据本发明的一种实现数据被可靠写入芯片的方法具有如下优点:本发明设计了二级缓冲,先通过RAM缓冲区进行缓冲,再通过镜像缓冲区进行二级缓冲,在RAM缓冲区多次写操作合并为一个整体,这样的写操作减少了写入RAM存储器的实际次数,提升效率。另外本发明中设置的镜像缓冲区保护标记不会在镜像数据提交完毕后擦除,这样在每次芯片上电后,根据所述镜像缓冲区保护标记,就可以确定是否从镜像缓冲区恢复目标区的数据。这样就可以避免现有技术中由于数据在欠电压情况下不可靠地完成了写入目标区的操作,随着时间流逝数据失效后由于镜像标记已被清除而无法从镜像区恢复数据的问题。并且该镜像保护标记是通过计算CRC(循环冗余校验)获得,通过该操作使得该镜像缓冲区保护标记在表示是否从镜像缓冲区向目标区写入数据的基础上,还能够表示在芯片上电后恢复哪些数据。
附图说明
图1是根据现有技术的一种基于镜像机制的写保护流程;
图2是根据现有技术的写保护机制的掉电过程的电平下降沿变化过程;
图3是根据本发明一实施方式的实现数据被可靠写入芯片的方法流程图;
图4是根据本发明一实施方式的RAM缓冲区的结构;
图5是根据本发明一实施方式的镜像缓冲区的结构;
图6是根据本发明一实施方式的一级缓冲过程。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
为了解决掉电事件所导致的写入芯片的数据可能发生混乱或者芯片数据不可靠地被写入的问题,本发明提供了一种实现数据被可靠写入芯片的方法,该方法运用RAM存储器实现的RAM缓冲区对准备写入芯片目标区的数据进行一级缓冲,采用如flash或EEPROM等非易失性存储器实现的镜像缓冲区对准备写入芯片目标区的数据进行二级缓冲,最后再写入目标区。
图3是根据本发明一实施方式的实现数据被可靠写入芯片的方法流程图。
该实现数据被可靠写入芯片的方法包括以下步骤:S1-S3。
在步骤S1中将写保护标志位置位,将数据写入RAM缓冲区,若完成该写入操作,则将该写保护标志清除。这个过程通过RAM缓冲区完成了对准备写入芯片目标区的数据的一级缓冲过程。
在步骤S2中将写入RAM缓冲区的数据提交到由flash或EEPROM等非易失性存储器所实现的镜像缓冲区。该过程通过镜像缓冲区完成了对准备写入芯片目标区的数据的二级缓冲过程。
在步骤S3中将镜像缓冲区保护标记置位,将所述镜像缓冲区的数据写入目标区。
上述S1中,写数据时可以整体写入也可以分次写入,该图中是分了3次写操作完成数据的整体写入,在第1次写操作、第2次写操作、第3次写操作过程中,随时可以放弃当前写操作,已经完成的写操作不会被写入后续的镜像缓冲区,只有当该整体的写操作过程完成之后,才会被一起写入后续的镜像缓冲区。在S1中先通过RAM缓冲区进行缓冲,再通过镜像缓冲区进行二级缓冲,在RAM缓冲区多次写操作合并为一个整体,这样的写操作减少了写入RAM存储器的实际次数,提升效率。
优选地,在该实施方式中,上述S3中,可以将镜像缓冲区保护标记通过对镜像缓冲区计算CRC(循环冗余校验)获得,通过该操作使得该镜像缓冲区保护标记在表示是否从镜像缓冲区向目标区写入数据的基础上,还能够表示在芯片上电后是否需要从镜像缓冲区恢复目标区的数据,以及如果进行数据恢复则应该恢复哪些数据。
进一步地,在该实施方式中,RAM缓冲区的结构可以设计为如图4所示的结构。
该RAM缓冲区的结构包括RAM缓冲区管理页10和RAM缓冲区保护页11。该RAM缓冲区管理页进一步地包括:RAM缓冲区保护标记10a、RAM缓冲区保护页数量标记10b、RAM缓冲区目标地址标记10c。
RAM缓冲区保护页11用于存储写入RAM缓冲区的保护数据。RAM缓冲区保护标记10a用于表示所述RAM缓冲区保护页11的数据是否有效。RAM缓冲区保护页数量标记10b用于表示RAM缓冲区的已用的保护页数量。RAM缓冲区目标地址标记10c用于表示所述RAM缓冲区保护页11对应的目标地址。
优选地,为了便于进行数据操作,在该实施方式中可以将镜像缓冲区的结构设计成与RAM缓冲区相同的结构,该结构如图5所示。
该镜像缓冲区的结构包括镜像缓冲区管理页20和镜像缓冲区保护页21。该镜像缓冲区管理页进一步地包括:镜像缓冲区保护标记20a、镜像缓冲区保护页数量标记20b、镜像缓冲区目标地址标记20c。
镜像缓冲区保护页21用于存储写入镜像缓冲区的保护数据。
所述镜像缓冲区保护标记20a是通过对镜像区的数据计算CRC而获得,根据该镜像保护标志能够确定是否从镜像缓冲区向目标区写入数据,且在芯片上电后是否从镜像缓冲区恢复目标区的数据,以及如果进行数据恢复则所恢复的数据的页地址范围。
镜像缓冲区保护页数量标记20b用于表示已用的镜像缓冲区保护页21的数量。
镜像缓冲区目标地址标记20c用于表示所述镜像缓冲区保护页21对应的目标地址。
基于图4所示的RAM缓冲区和图5所示的镜像缓冲区,在一实施方式中,实现数据被可靠写入芯片的方法具体包括:
1,如图6所示的一级缓冲过程:
计算待写入所述RAM缓冲区的数据的目标地址所对应的所述RAM缓冲区保护页的起始位置;
判断所述待写入所述RAM缓冲区的数据的目标地址对应的页地址数据是否已经被缓冲;
若所述页地址数据已经被缓冲,则在所述RAM缓冲区中找到该页地址数据对应的保护页;将所述待写入RAM缓冲区的数据按照页内偏移拼入该保护页;将所述待写入RAM缓冲区的数据的源地址偏移本次写入长度,数据长度减少本次写入长度;
若所述页地址数据没有被缓冲,则将所述目标地址的页地址读出,该页作为新的保护页;将所述目标页地址保存在RAM缓冲区的目标地址并修改所述保护页的数量,将保护页的数据加1;将所述待写入RAM缓冲区的数据按照页内偏移拼入所述新的保护页;将所述待写入RAM缓冲区的数据的源地址偏移本次写入长度,数据长度减少本次写入长度。
2,二级缓冲过程:
由于RAM缓冲区和镜像缓冲区结构相同,在数据提交时,直接将RAM缓冲区的数据写入镜像缓冲区的起始地址,然后对镜像区数据计算CRC获得镜像保护标记,并将镜像保护标记置位。
3,写入目标区:
读取所述镜像缓冲区的保护页的数量及所述保护页对应的目标地址,依次读出所有保护页的数据按页导入目标区的相应目标地址。
能够看出该实施方式中,对镜像保护区标记做了特别处理,通过CRC计算获得,并且可以这个过程中没有清除镜像保护标记的操作,这样在每次芯片上电后,根据所述镜像缓冲区保护标记,就可以确定是否从镜像缓冲区恢复目标区的数据、若需要恢复数据,则应该恢复哪些数据。这样就能够保证在掉电的情况下,数据即便没有被可靠地写入,还是可以通过镜像缓冲区进行恢复的。
在该实施方式中,读取数据的过程如下:在读取目标地址的数据时,先根据所述镜像缓冲区目标地址标记以及所述镜像缓冲区保护标记判断所述目标地址的数据的分布情况,若所述镜像缓冲区存在一部分该目标地址的数据,则从所述镜像缓冲区读取该部分目标地址的数据,且将另一部分目标地址的数据从目标区中读出;若所述镜像缓冲区存在全部的该目标地址的数据,则从所述镜像缓冲区读取全部的该目标地址的数据;若所述镜像缓冲区不存在该目标地址的数据,则从目标区中将该目标地址的全部数据读出。
综上,根据本发明的一种实现数据被可靠写入芯片的方法设计了二级缓冲,先通过RAM缓冲区进行缓冲,再通过镜像缓冲区进行二级缓冲,在RAM缓冲区多次写操作合并为一个整体,这样的写操作减少了写入RAM存储器的实际次数,提升效率。另外本发明中设置的镜像缓冲区保护标记不会在镜像数据提交完毕后擦除,这样在每次芯片上电后,根据所述镜像缓冲区保护标记,就可以确定是否从镜像缓冲区恢复目标区的数据。这样就可以避免现有技术中由于数据在欠电压情况下不可靠地完成了写入目标区的操作,随着时间流逝数据失效后由于镜像标记已被清除而无法从镜像去恢复数据的问题。并且该镜像保护标记是通过计算CRC(循环冗余校验)获得,通过该操作使得该镜像缓冲区保护标记在表示是否从镜像缓冲区向目标区写入数据的基础上,还能够表示在芯片上电后恢复哪些数据。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用于说明本发明的技术方案而非对其保护范围的限制,尽管参照上述实施例对本申请进行了详细的说明,所属领域的普通技术人员应当理解:本领域技术人员阅读本申请后依然可对申请的具体实施方式进行种种变更、修改或者等同替换,但这些变更、修改或者等同替换,均在申请待批的权利要求保护范围之内。

Claims (10)

1.一种实现数据被可靠写入芯片的方法,其特征在于,包括:
将写保护标志位进行置位,将数据写入RAM缓冲区,若完成该写入操作,则将该写保护标志清除;
将写入RAM缓冲区的数据提交到镜像缓冲区;以及
将镜像缓冲区保护标记进行置位,将所述镜像缓冲区的数据写入目标区,该目标区具有一个或多个目标地址。
2.如权利要求1所述的实现数据被可靠写入芯片的方法,其特征在于,所述RAM缓冲区包括:
RAM缓冲区保护页,用于存储写入RAM缓冲区的保护数据;
RAM缓冲区保护标记,与所述RAM缓冲区保护页相耦合,用于表示所述RAM缓冲区保护页的数据是否有效;
RAM缓冲区保护页数量标记,与所述RAM缓冲区保护页相耦合,用于表示RAM缓冲区的已用的保护页数量;以及
RAM缓冲区目标地址标记,与所述RAM缓冲区保护页相耦合,用于表示所述RAM缓冲区保护页对应的目标地址。
3.如权利要求2所述的实现数据被可靠写入芯片的方法,其特征在于,所述将数据写入RAM缓冲区包括:
计算待写入所述RAM缓冲区的数据的目标地址所对应的所述RAM缓冲区保护页的起始位置;以及
判断所述待写入所述RAM缓冲区的数据的目标地址对应的页地址数据是否已经被缓冲,若所述页地址数据已经被缓冲,则将所述待写入RAM缓冲区的数据拼入该页地址数据对应的保护页,若所述页地址数据没有被缓冲,则将所述目标地址的页地址读出,将待写入RAM缓冲区的数据拼入该页。
4.如权利要求3所述的实现数据被可靠写入芯片的方法,其特征在于,若所述页地址数据已经被缓冲,则将所述待写入RAM缓冲区的数据拼入该页地址数据对应的保护页包括:
在所述RAM缓冲区中找到该页地址数据对应的保护页;
将所述待写入RAM缓冲区的数据按照页内偏移拼入该保护页;以及
将所述待写入RAM缓冲区的数据的源地址偏移本次写入长度,数据长度减少本次写入长度。
5.如权利要求3所述的实现数据被可靠写入芯片的方法,其特征在于,若所述页地址数据没有被缓冲,则将所述目标地址的页地址读出,将待写入RAM缓冲区的数据拼入该页包括:
将所述目标地址的页地址读出,该页作为新的保护页;
将所述目标页地址保存在RAM缓冲区的目标地址并修改所述保护页的数量;
将所述待写入RAM缓冲区的数据按照页内偏移拼入所述新的保护页;以及
将所述待写入RAM缓冲区的数据的源地址偏移本次写入长度,数据长度减少本次写入长度。
6.如权利要求1所述的实现数据被可靠写入芯片的方法,其特征在于,所述镜像缓冲区包括:
镜像缓冲区保护页,用于存储写入镜像缓冲区的保护数据;
所述镜像缓冲区保护标记,与所述镜像缓冲区保护页相耦合,所述镜像缓冲区保护标记是通过对镜像区的数据计算CRC而获得,根据该镜像保护标志能够确定是否从镜像缓冲区向目标区写入数据,且在芯片上电后是否从镜像缓冲区恢复目标区的数据,以及如果进行数据恢复则所恢复的数据的页地址范围;
镜像缓冲区保护页数量标记,与所述镜像缓冲区保护页相耦合,用于表示已用的镜像缓冲区保护页数量;以及
镜像缓冲区目标地址标记,与所述镜像缓冲区保护页相耦合,用于表示所述镜像缓冲区保护页对应的目标地址。
7.如权利要求6所述的实现数据被可靠写入芯片的方法,其特征在于,将所述镜像缓冲区的数据写入目标区包括:
读取所述镜像缓冲区的保护页的数量及所述保护页对应的目标地址;以及
依次读出所有保护页的数据并写入对应的目标地址。
8.如权利要求6所述的实现数据被可靠写入芯片的方法,其特征在于,所述实现数据被可靠写入芯片的方法还包括:
在每次芯片上电后,根据所述镜像缓冲区保护标记,确定是否从镜像缓冲区恢复所述目标区的数据以及所恢复的数据的页地址范围。
9.如权利要求8所述的实现数据被可靠写入芯片的方法,其特征在于,所述实现数据被可靠写入芯片的方法还包括:
在读取目标地址的数据时,先根据所述镜像缓冲区目标地址标记以及所述镜像缓冲区保护标记判断所述目标地址的数据的分布情况,若所述镜像缓冲区存在一部分该目标地址的数据,则从所述镜像缓冲区读取该部分目标地址的数据,且将另一部分目标地址的数据从目标区中读出;若所述镜像缓冲区存在全部的该目标地址的数据,则从所述镜像缓冲区读取全部的该目标地址的数据;若所述镜像缓冲区不存在该目标地址的数据,则从目标区中将该目标地址的全部数据读出。
10.如权利要求1所述的实现数据被可靠写入芯片的方法,其特征在于,所述RAM缓冲区用RAM存储器实现,所述镜像缓冲区用非易失性存储器实现。
CN201811029997.8A 2018-09-05 2018-09-05 实现数据被可靠写入芯片的方法 Active CN109254929B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811029997.8A CN109254929B (zh) 2018-09-05 2018-09-05 实现数据被可靠写入芯片的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811029997.8A CN109254929B (zh) 2018-09-05 2018-09-05 实现数据被可靠写入芯片的方法

Publications (2)

Publication Number Publication Date
CN109254929A true CN109254929A (zh) 2019-01-22
CN109254929B CN109254929B (zh) 2020-09-08

Family

ID=65047290

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811029997.8A Active CN109254929B (zh) 2018-09-05 2018-09-05 实现数据被可靠写入芯片的方法

Country Status (1)

Country Link
CN (1) CN109254929B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111464662A (zh) * 2020-06-18 2020-07-28 北京国科天迅科技有限公司 一种多节点主从式网络系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI818194B (zh) * 2020-09-17 2023-10-11 新唐科技股份有限公司 處理裝置及其資料存取方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063380A (zh) * 2010-12-31 2011-05-18 北京握奇数据系统有限公司 一种向非易失性存储器写入数据的方法及装置
CN102508723A (zh) * 2011-09-28 2012-06-20 山东神思电子技术股份有限公司 一种面向ic卡的掉电保护方法
CN106155596A (zh) * 2016-08-03 2016-11-23 深圳市文鼎创数据科技有限公司 数据写入方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063380A (zh) * 2010-12-31 2011-05-18 北京握奇数据系统有限公司 一种向非易失性存储器写入数据的方法及装置
CN102508723A (zh) * 2011-09-28 2012-06-20 山东神思电子技术股份有限公司 一种面向ic卡的掉电保护方法
CN106155596A (zh) * 2016-08-03 2016-11-23 深圳市文鼎创数据科技有限公司 数据写入方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111464662A (zh) * 2020-06-18 2020-07-28 北京国科天迅科技有限公司 一种多节点主从式网络系统
CN111464662B (zh) * 2020-06-18 2021-03-05 北京国科天迅科技有限公司 一种多节点主从式网络系统

Also Published As

Publication number Publication date
CN109254929B (zh) 2020-09-08

Similar Documents

Publication Publication Date Title
US7694094B2 (en) Transaction method for managing the storing of persistent data in a transaction stack
CN106227680B (zh) 一种数据处理及防掉电数据保护方法
US20080005510A1 (en) Compression Method for Managing the Storing of Persistent Data From a Non-Volatile Memory to a Backup Buffer
US7725646B2 (en) Method of using a flash memory for a circular buffer
CN103914407B (zh) 一种sd卡掉电保护、恢复方法以及带有掉电保护的sd卡
CN113785275B (zh) Flash数据掉电保护方法及设备
CN109254929A (zh) 实现数据被可靠写入芯片的方法
US20070011416A1 (en) Data storage device and medium and related method of storing backup data
CN107463341A (zh) Flash芯片的擦除方法、装置和移动终端
CN105205019B (zh) 基于高通平台手机的nv参数读写系统及方法
CN103488572B (zh) 数据储存装置及数据清除方法
CN105808378A (zh) 元数据修复方法及装置
CN102789404A (zh) 一种用于ic卡更新数据时防掉电数据存储的方法
US7257030B2 (en) Operating a storage component
CN105867833B (zh) 数据存储装置及数据存储方法
CN107239229B (zh) 用于执行数据更新的方法
JP2009009602A (ja) Icカード及びicカードプログラム
CN103646467A (zh) 一种逻辑加密卡脱机交易数据处理方法及装置
JP4211890B2 (ja) トランザクションにおけるメモリカードのデータの変更方法
US20170337104A1 (en) Counter in a flash memory
JP2003178281A (ja) Icカード及びその情報処理方法
US20170185334A1 (en) Storage in flash memory
IL168472A (en) Secure method for modifying data recorded in a memory card
CN106648989B (zh) 一种针对西数硬盘停转故障的修复方法
JP2008146742A (ja) 不揮発性半導体記憶装置及びその処理方法

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