CN112347002B - flash数据的保存方法、***、计算机设备及存储介质 - Google Patents

flash数据的保存方法、***、计算机设备及存储介质 Download PDF

Info

Publication number
CN112347002B
CN112347002B CN202011268987.7A CN202011268987A CN112347002B CN 112347002 B CN112347002 B CN 112347002B CN 202011268987 A CN202011268987 A CN 202011268987A CN 112347002 B CN112347002 B CN 112347002B
Authority
CN
China
Prior art keywords
data
group
sector
last
writing
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
CN202011268987.7A
Other languages
English (en)
Other versions
CN112347002A (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.)
Xiamen Reliable Intellectual Property Service Co ltd
Original Assignee
Hangzhou Xinjushi Artificial Intelligence 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 Hangzhou Xinjushi Artificial Intelligence Technology Co ltd filed Critical Hangzhou Xinjushi Artificial Intelligence Technology Co ltd
Priority to CN202011268987.7A priority Critical patent/CN112347002B/zh
Publication of CN112347002A publication Critical patent/CN112347002A/zh
Application granted granted Critical
Publication of CN112347002B publication Critical patent/CN112347002B/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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请涉及一种flash数据的保存方法、装置、计算机设备和存储介质。其中,方法包括以下步骤:配置A、B两个扇区,将每个扇区分为n组;读取A和B扇区中同一组数据的有效标记值,根据两个扇区中同一组数据的有效标记值寻找上次数据记录的位置;结合特定组的有效标记值判断无效扇区,擦除无效扇区的数据;新数据由上次数据记录的位置的下一组写入。本申请技术方案通过每组的有效标记值寻找上次数据记录的位置,并且判断两个扇区中的无效扇区,写入数据前删除无效扇区的数据,同时,数据从上次数据记录位置的下一组写入,提升有效写入地址,减少扇区擦除操作,提升时效性。

Description

flash数据的保存方法、***、计算机设备及存储介质
技术领域
本申请涉及深度相机技术领域,特别是涉及一种flash数据的保存方法、***、计算机设备及存储介质。
背景技术
现如今的计算机***里面,挂载几个flash芯片,以达到能够永久保存更多数据的做法,已经不是什么新鲜事了。存储芯片的容量越做越大,也意味着其保存的数据也越来越多,这样一来,如何高效安全的读写flash芯片,显得尤为重要。此外,嵌入式设备越做越小,越难以植入UPS供电***,此时flash芯片的异常掉电处理,同样值得关注。
在当前的flash数据写入过程,一般是分为两个步骤,即先擦除指定地址所在的扇区,再在指定地址上写入数据。当一些数据需要频繁的写入,以这种粗暴的操作方式会导致以下问题:每次读写都在一个固定的地址,但是flash可读写次数是固定的,这样会导致flash过早损坏,同时,每次写数据前,都要擦除整个扇区,当程序需要频繁的往flash中写数据时,擦除过程将会耗费极大的时间,严重影响程序的时效性。
发明内容
基于此,有必要针对上述技术问题,提供一种flash数据的保存方法。
一种flash数据的保存方法,包括以下步骤:
配置A、B两个扇区,将每个扇区分为n组;
读取A和B扇区中同一组数据的有效标记值,根据两个扇区中同一组数据的有效标记值寻找上次数据记录的位置;
结合特定组的有效标记值判断无效扇区,擦除无效扇区的数据;
新数据由上次数据记录的位置的下一组写入。
在一个实施例中,还包括以下步骤:
根据上次数据记录的位置,读取其下一组的数据;
判断读取的该组数据是否存在;
若数据存在,则表征上次掉电导致数据写入失败,并记录上次写入失败标记。
在一个实施例中,所述根据两个扇区中同一组数据的有效标记值寻找上次数据记录的位置,具体包括以下步骤:
读取A扇区和B扇区的第一组数据的有效标记值;
根据两个第一组数据的有效标记值寻找上次数据记录的位置。
在一个实施例中,所述根据两个第一组数据的有效标记值寻找上次数据记录的位置,具体包括以下步骤:
A扇区第一组数据记为A1,B扇区第一组数据记为B1;
分为读取A1和B1内的有效标记值,A1的有效标记值记为X,B1的有效标记值记为Y,同时,有效标记值的数值为0xFF时表征该组数据无效,有效标记值的数值为0x7F时表征该组数据有效;
若X、Y都等于0xFF,则表征A扇区和B扇区的数据均无效,默认An或Bn为上次数据记录的位置,下次读取数据时读取An或Bn的数据,An为A扇区的最后一组数据,Bn为B扇区的最后一组数据;
若X、Y都等于0x7F,则须再读取An内的有效标记值Z,若Z等于0xFF,则上次数据记录的位置在A1;若Z不等于0xFF,则上次数据记录的位置在B1;
若X等于0xFF,Y等于0x7F,则从B扇区的最后一组数据往前读取,寻找第一个有效标记值为0x7F的组数据Bt即为上次数据记录的位置,Bt表示为B扇区第t组的数据;
若X等于0x7F,Y等于0xFF,则从A扇区的最后一组数据往前读取,寻找第一个有效标记值为0x7F的组数据At即为上次数据记录的位置,At表示为A扇区第t组的数据。
在一个实施例中,所述结合特定组的有效标记值判断无效扇区,擦除无效扇区的数据,具体包括以下步骤:
当X、Y都等于0x7F,则须再读取An内的有效标记值Z,若Z等于0xFF,则擦除B扇区内所有数据;若Z不等于0xFF,则擦除A扇区内所有数据。
在一个实施例中,还包括以下步骤:
判断上次掉电中是否存在擦除扇区失败;
若上次数据记录的位置在A扇区,则读取Bn的有效标记值;当Bn的有效标记值不等于0xFF时,则重新擦除B扇区;
若上次数据记录的位置在B扇区,则读取An的有效标记值;当An的有效标记值不等于0xFF时,则重新擦除A扇区。
在一个实施例中,还包括以下步骤:
新数据写入操作时,解析上次写入失败标记的值;
若上次写入失败标记表征为失败时,则需跳过上次写入操作失败的组别;
若上次写入失败标记表征为成功时,则正常判断写入。
在一个实施例中,所述若上次写入失败标记表征为失败时,则需跳过上次写入操作失败的组别,具体包括以下步骤:
若读取的组别为扇区的最后一组,则擦除另一扇区的数据,写入时,切换至刚擦除的扇区的第一组进行写入,写入完成后擦除之前写满的扇区;
若读取的组别为扇区的倒数第二组,则写入时,切换至另一扇区的第一组进行写入,写入完成后擦除之前写满的扇区;
若读取的组别为除上述两种情况外的任意一组,则写入读取组别的下一组;
除上述情况外,所述若上次写入失败标记表征为成功时,则正常判断写入,具体包括以下步骤:
若读取的组别为扇区的最后一组,则写入时,切换至另一扇区的第一组进行写入,写完后擦除之前写满的扇区;
若读取的组别是不为最后一组的任意一组,则写入读取组别的下一组。
一种flash数据的保存***,包括:
配置模块,用于配置A、B两个扇区,将每个扇区分为n组;
寻找模块,用于读取A和B扇区中同一组数据的有效标记值,根据两个扇区中同一组数据的有效标记值寻找上次数据记录的位置;
擦除模块,用于结合特定组的有效标记值判断无效扇区,擦除无效扇区的数据;及
写入模块,用于新数据由上次数据记录的位置的下一组写入。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现flash数据的保存方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现flash数据的保存方法的步骤。
上述方法采用一种flash内存空间分区管理办法,在内存中,将所需要存储特定数据的存储空间划分为两个扇区大小进行管理,每个扇区依据特定数据的大小,划分为各个组次,flash的读写均以组为单位进行操作;写入操作时,先读取扇区内的信息,判断本次写入的地址,数据写入时,数据末尾外加一个特定的有效标记值,用于表示此组数据是否有效,防止数据写入一半时掉电,导致数据不可靠。同时,写入完成后,立即读取写入的数据,将读出的数据与写入的数据进行对比,不一致则进行flash寿命耗尽预警。
擦除扇区操作,只在写入数据的地址是当前扇区的第一组时,擦除另一个扇区。此举避免了每次写入数据前,都要进行擦除所在扇区,所影响程序运行时效的问题。
读取操作时,先读取各扇区的信息,判断本次读取的地址。对读到的数据进行标识判断,保证数据的真实有效性。若无效,可考虑取用上一次写入的数据。
附图说明
图1为一个实施例中flash数据的保存方法的应用环境图;
图2为一个实施例中flash数据的保存方法的流程示意图;
图3为一个实施例中flash数据的保存***的结构框图;
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的flash数据的保存方,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑等,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种flash数据的保存方法。接下来以该方法应用于图1中的终端为例进行说明,该方法包括以下步骤:
S100、配置A、B两个扇区,将每个扇区分为n组。
S200、读取A和B扇区中同一组数据的有效标记值,根据两个扇区中同一组数据的有效标记值寻找上次数据记录的位置。
S300、结合特定组的有效标记值判断无效扇区,擦除无效扇区的数据;
S400、新数据由上次数据记录的位置的下一组写入。
步骤S100的具体内容包括以下步骤:
上电运行后,设置各变量值的初始状态。配置A、B两个扇区用于存放特定数据,记录A、B扇区的首地址分别为Paddr1、Paddr2,A、B扇区内各组别的有效标记值Fvalue2=0x7F,扇区标记Fsection=0,组号Fgroup=0,flash寿命报警标记Ferror=0,上次写入失败标记Fw_fail=0。其中Fsection=1时是A扇区,Fsection=2时是B扇区,Fvalue2=0xFF表示为数据无效(默认时设置为有效,即Fvalue2=0x7F)。
在另一实施例中,步骤S100中还包括以下步骤:
在配置各变量值的初始状态时,同时,配置一个地址Paddr0存放启用标记值Fvalue1=0xAA55。
各变量值的初始状态配置后,首选检测flash数据的保存方法是否已启用,从地址Paddr0读取两字节数据,记为T:
若T等于Fvalue1,表明flash数据的保存方法已启用,不必擦除A、B扇区;
若T不等于Fvalue1,表明flash数据的保存方法未启用,需擦除A、B扇区,再在Paddr0地址上写入Fvalue1。
将每个扇区均分为n组,A扇区的n组数据分别为A1-An,B扇区的n组数据分别为B1-Bn,组的大小为特定数据的大小加一字节(用于放有效标记值),因此,上述的组号Fgroup=(1,2,3……n)。若扇区空间在均分后还剩余不够一组的空间,则放弃使用该空间。
步骤S200和步骤S300的具体内容包括以下步骤:
根据两个扇区中同一组数据的有效标记值寻找上次数据记录的位置,这个同一组数据可以为扇区中任一一组的数据,如可以通过A1和B1的有效标记值寻找上次数据记录的位置,也可以通过An和Bn寻找,也可以通过At和Bt寻找(At为A扇区中第t个组别的数据,Bt为B扇区中第t个组别的数据,t为1-n中的任意数字)。
在本实施例中,以A1和B1举例进行详细说明:
分为读取A1和B1内的有效标记值,A1的有效标记值记为X,B1的有效标记值记为Y(X、Y仅代表各组别内的标记值,无其它具体含义,下Z同理),同时,有效标记值的数值为0xFF时表征该组数据无效,有效标记值的数值为0x7F时表征该组数据有效;
若X、Y都等于0xFF,则表征A扇区和B扇区的数据均无效,默认An或Bn为上次数据记录的位置,下次读取数据时读取An或Bn的数据,An为A扇区的最后一组数据,Bn为B扇区的最后一组数据,此时,将初始变量置为Fsection=1或Fsection=2,Fgroup=n;
若X、Y都等于0x7F,则须再读取An内的有效标记值Z,若Z等于0xFF,则上次数据记录的位置在A1,同时,置初始变量Fsection=1,擦除B扇区内所有数据;若Z不等于0xFF,则上次数据记录的位置在B1,同时,置初始变量Fsection=2,擦除A扇区内所有数据;
若X等于0xFF,Y等于0x7F,则从B扇区的最后一组数据往前读取,寻找第一个有效标记值为0x7F的组数据Bt即为上次数据记录的位置,Bt表示为B扇区第t组的数据,此时,置初始变量Fsection=2,Fgroup=t;
若X等于0x7F,Y等于0xFF,则从A扇区的最后一组数据往前读取,寻找第一个有效标记值为0x7F的组数据At即为上次数据记录的位置,At表示为A扇区第t组的数据,此时,置初始变量Fsection=1,Fgroup=t。
考虑到特殊情况影响方法的准确性,因此,进行上次掉电是否存在擦除扇区失败的判断S500,步骤S500具体包括以下步骤:
若上次数据记录的位置在A扇区(Fsection=1),则读取Bn的有效标记值;当Bn的有效标记值不等于0xFF时,则重新擦除B扇区;
若上次数据记录的位置在B扇区(Fsection=2),则读取An的有效标记值;当An的有效标记值不等于0xFF时,则重新擦除A扇区。
在另一实施例中,新数据写入前,先进行掉电写入判断步骤S600,步骤S600具体包括以下步骤:
根据上次数据记录的位置,读取其下一组的数据;
判断读取的该组数据是否存在无效数据;
若存在无效数据(即其中有数据不等于0xFF),则表征上次掉电导致数据写入失败,并记录上次写入失败标记,此时,置上次写入失败标记Fw_fail=1。
在上述过程中,读取的是下一组操作地址的数据,操作地址计算公式如下:
若Fsection=1,操作地址=Paddr1+(Fgroup-1)*(数据大小+1);
若Fsection=2,操作地址=Paddr2+(Fgroup-1)*(数据大小+1)。
步骤S400的具体内容包括以下步骤:
新数据写入操作时,解析上次写入失败标记的值;
若上次写入失败标记表征为失败(Fw_fail=1)时,则需跳过上次写入操作失败的组别;
若上次写入失败标记表征为成功(Fw_fail=0)时,则正常判断写入。
其中,若Fw_fail=1,具体包括以下步骤:
若读取的组别为扇区的最后一组(即Fgroup=n,此时表明上次在另一扇区的第1组写入时失败),则擦除另一扇区的数据,新数据写入时,切换至刚擦除的扇区的第一组进行写入,写入完成后擦除之前写满的扇区,置上次写入失败标记Fw_fail=0,同时,在写入完成后,读取写入的数据与目标数据进行对比,若不一致,则置flash寿命报警标记Ferror=1;
若读取的组别为扇区的倒数第二组(即Fgroup+1=n,此时表明是上次扇区最后一组写入时失败),则新数据写入时,切换至另一扇区的第一组进行写入,写入完成后擦除之前写满的扇区,置入上次写入失败标记Fw_fail=0,同时,在写入完成后,读取写入的数据与目标数据进行对比,若不一致,则置flash寿命报警标记Ferror=1;
若读取的组别为除上述两种情况外的任意一组(即Fgroup+1<n),则新数据写入读取组别的下一组(即Fgroup=Fgroup+1),同时,在写入完成后,置上次写入失败标记Fw_fail=0。随后读取写入的数据与目标数据进行对比,若不一致,则置flash寿命报警标记Ferror=1;
若Fw_fail=0,具体包括以下步骤:
若读取的组别为扇区的最后一组(即Fgroup=n),则写入时,切换至另一扇区的第一组进行写入,写完后擦除之前写满的扇区,同时,在写入完成后,读取写入的数据与目标数据进行对比,若不一致,则置flash寿命报警标记Ferror=1;
若读取的组别是不为最后一组的任意一组(即Fgroup<n),则写入读取组别的下一组,同时,在写入完成后,读取写入的数据与目标数据进行对比,若不一致,则置flash寿命报警标记Ferror=1。
由于数据写入时有flash寿命报警标记Ferror,所以本发明的flash数据的保存方法可以进行预警,避免读出的数据不可信赖,影响其正常运行。
在另一实施例中,本发明的flash数据的保存方法还包括如下步骤:
读取操作时,可根据Fw_fail的值以及Fsection和Fgroup代表的操作地址,确定是读取的最后一次的数据是写入成功的数据,还是上次写入失败的数据。
本发明的flash数据的保存方法通过分区分组存储,解决了每次读写都在一个固定的地址,频繁写入导致flash过早损坏的问题,延长了flash的使用寿命,同时,可查询到历史写入的数据;采用扇区写满才执行擦除操作的策略,解决了每次写数据前,都要擦除整个扇区,导致的耗时较多的问题,优化了运行时效;通过对比有效标记值,解决了数据写入操作过程中出现掉电,导致下次上电启用时,数据不真实,影响其正常运行;
在一个实施例中,如图3所示,一种flash数据的保存***,还***包括配置模块1、寻找模块2、擦除模块3及写入模块4。配置模块1用于配置A、B两个扇区,将每个扇区分为n组;寻找模块2用于读取A和B扇区中同一组数据的有效标记值,根据两个扇区中同一组数据的有效标记值寻找上次数据记录的位置;擦除模块3用于结合特定组的有效标记值判断无效扇区,擦除无效扇区的数据;写入模块4用于新数据由上次数据记录的位置的下一组写入。
关于上述flash数据的保存***的具体限定可以参见上文中对于flash数据的保存方法的限定,在此不再赘述。上述装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储上述基于红外图像的人脸活体检测方法的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于红外图像的人脸活体检测方法。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
S100、配置A、B两个扇区,将每个扇区分为n组。
S200、读取A和B扇区中同一组数据的有效标记值,根据两个扇区中同一组数据的有效标记值寻找上次数据记录的位置。
S300、结合特定组的有效标记值判断无效扇区,擦除无效扇区的数据。
S400、新数据由上次数据记录的位置的下一组写入。
步骤S100的具体内容包括以下步骤:
上电运行后,设置各变量值的初始状态。配置A、B两个扇区用于存放特定数据,记录A、B扇区的首地址分别为Paddr1、Paddr2,A、B扇区内各组别的有效标记值Fvalue2=0x7F,扇区标记Fsection=0,组号Fgroup=0,flash寿命报警标记Ferror=0,上次写入失败标记Fw_fail=0。其中Fsection=1时是A扇区,Fsection=2时是B扇区,Fvalue2=0xFF表示为数据无效(默认时设置为有效,即Fvalue2=0x7F)。
在另一实施例中,步骤S100中还包括以下步骤:
在配置各变量值的初始状态时,同时,配置一个地址Paddr0存放启用标记值Fvalue1=0xAA55。
各变量值的初始状态配置后,首选检测flash数据的保存方法是否已启用,从地址Paddr0读取两字节数据,记为T:
若T等于Fvalue1,表明flash数据的保存方法已启用,不必擦除A、B扇区;
若T不等于Fvalue1,表明flash数据的保存方法未启用,需擦除A、B扇区,再在Paddr0地址上写入Fvalue1。
将每个扇区均分为n组,A扇区的n组数据分别为A1-An,B扇区的n组数据分别为B1-Bn,组的大小为特定数据的大小加一字节(用于放有效标记值),因此,上述的组号Fgroup=(1,2,3……n)。若扇区空间在均分后还剩余不够一组的空间,则放弃使用该空间。
步骤S200和步骤S300的具体内容包括以下步骤:
根据两个扇区中同一组数据的有效标记值寻找上次数据记录的位置,这个同一组数据可以为扇区中任一一组的数据,如可以通过A1和B1的有效标记值寻找上次数据记录的位置,也可以通过An和Bn寻找,也可以通过At和Bt寻找(At为A扇区中第t个组别的数据,Bt为B扇区中第t个组别的数据,t为1-n中的任意数字)。
在本实施例中,以A1和B1举例进行详细说明:
分为读取A1和B1内的有效标记值,A1的有效标记值记为X,B1的有效标记值记为Y(X、Y仅代表各组别内的标记值,无其它具体含义,下Z同理):,同时,有效标记值的数值为0xFF时表征该组数据无效,有效标记值的数值为0x7F时表征该组数据有效;
若X、Y都等于0xFF,则表征A扇区和B扇区的数据均无效,默认An或Bn为上次数据记录的位置,下次读取数据时读取An或Bn的数据,An为A扇区的最后一组数据,Bn为B扇区的最后一组数据,此时,将初始变量置为Fsection=1或Fsection=2,Fgroup=n;
若X、Y都等于0x7F,则须再读取An内的有效标记值Z,若Z等于0xFF,则上次数据记录的位置在A1,同时,置初始变量Fsection=1,擦除B扇区内所有数据;若Z不等于0xFF,则上次数据记录的位置在B1,同时,置初始变量Fsection=2,擦除A扇区内所有数据;
若X等于0xFF,Y等于0x7F,则从B扇区的最后一组数据往前读取,寻找第一个有效标记值为0x7F的组数据Bt即为上次数据记录的位置,Bt表示为B扇区第t组的数据,此时,置初始变量Fsection=2,Fgroup=t;
若X等于0x7F,Y等于0xFF,则从A扇区的最后一组数据往前读取,寻找第一个有效标记值为0x7F的组数据At即为上次数据记录的位置,At表示为A扇区第t组的数据,此时,置初始变量Fsection=1,Fgroup=t。
考虑到特殊情况影响方法的准确性,因此,进行上次掉电是否存在擦除扇区失败的判断S500,步骤S500具体包括以下步骤:
若上次数据记录的位置在A扇区(Fsection=1),则读取Bn的有效标记值;当Bn的有效标记值不等于0xFF时,则重新擦除B扇区;
若上次数据记录的位置在B扇区(Fsection=2),则读取An的有效标记值;当An的有效标记值不等于0xFF时,则重新擦除A扇区。
在另一实施例中,新数据写入前,先进行掉电写入判断步骤S600,步骤S600具体包括以下步骤:
根据上次数据记录的位置,读取其下一组的数据;
判断读取的该组数据是否存在无效数据;
若存在无效数据(即其中有数据不等于0xFF),则表征上次掉电导致数据写入失败,并记录上次写入失败标记,此时,置上次写入失败标记Fw_fail=1。
在上述过程中,读取的是下一组操作地址的数据,操作地址计算公式如下:
若Fsection=1,操作地址=Paddr1+(Fgroup-1)*(数据大小+1);
若Fsection=2,操作地址=Paddr2+(Fgroup-1)*(数据大小+1)。
步骤S400的具体内容包括以下步骤:
新数据写入操作时,解析上次写入失败标记的值;
若上次写入失败标记表征为失败(Fw_fail=1)时,则需跳过上次写入操作失败的组别;
若上次写入失败标记表征为成功(Fw_fail=0)时,则正常判断写入。
其中,若Fw_fail=1,具体包括以下步骤:
若读取的组别为扇区的最后一组(即Fgroup=n,此时表明上次在另一扇区的第1组写入时失败),则擦除另一扇区的数据,新数据写入时,切换至刚擦除的扇区的第一组进行写入,写入完成后擦除之前写满的扇区,置上次写入失败标记Fw_fail=0,同时,在写入完成后,读取写入的数据与目标数据进行对比,若不一致,则置flash寿命报警标记Ferror=1;
若读取的组别为扇区的倒数第二组(即Fgroup+1=n,此时表明是上次扇区最后一组写入时失败),则新数据写入时,切换至另一扇区的第一组进行写入,写入完成后擦除之前写满的扇区,置上次写入失败标记Fw_fail=0,同时,在写入完成后,读取写入的数据与目标数据进行对比,若不一致,则置flash寿命报警标记Ferror=1;
若读取的组别为除上述两种情况外的任意一组(即Fgroup+1<n),则新数据写入读取组别的下一组(即Fgroup=Fgroup+1),同时,在写入完成后,置上次写入失败标记Fw_fail=0。随后读取写入的数据与目标数据进行对比,若不一致,则置flash寿命报警标记Ferror=1和上次写入失败标记Fw_fail=0;
若Fw_fail=0,具体包括以下步骤:
若读取的组别为扇区的最后一组(即Fgroup=n),则写入时,切换至另一扇区的第一组进行写入,写完后擦除之前写满的扇区,同时,在写入完成后,读取写入的数据与目标数据进行对比,若不一致,则置flash寿命报警标记Ferror=1;
若读取的组别是不为最后一组的任意一组(即Fgroup<n),则写入读取组别的下一组,同时,在写入完成后,读取写入的数据与目标数据进行对比,若不一致,则置flash寿命报警标记Ferror=1。
由于数据写入时有flash寿命报警标记Ferror,所以本发明的flash数据的保存方法可以进行预警,避免读出的数据不可信赖,影响其正常运行。
在另一实施例中,本发明的flash数据的保存方法还包括如下步骤:
读取操作时,可根据Fw_fail的值以及Fsection和Fgroup代表的操作地址,确定是读取的最后一次的数据是写入成功的数据,还是上次写入失败的数据。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
S100、配置A、B两个扇区,将每个扇区分为n组。
S200、读取A和B扇区中同一组数据的有效标记值,根据两个扇区中同一组数据的有效标记值寻找上次数据记录的位置。
S300、结合特定组的有效标记值判断无效扇区,擦除无效扇区的数据。
S400、新数据由上次数据记录的位置的下一组写入。
步骤S100的具体内容包括以下步骤:
上电运行后,设置各变量值的初始状态。配置A、B两个扇区用于存放特定数据,记录A、B扇区的首地址分别为Paddr1、Paddr2,A、B扇区内各组别的有效标记值Fvalue2=0x7F,扇区标记Fsection=0,组号Fgroup=0,flash寿命报警标记Ferror=0,上次写入失败标记Fw_fail=0。其中Fsection=1时是A扇区,Fsection=2时是B扇区,Fvalue2=0xFF表示为数据无效(默认时设置为有效,即Fvalue2=0x7F)。
在另一实施例中,步骤S100中还包括以下步骤:
在配置各变量值的初始状态时,同时,配置一个地址Paddr0存放启用标记值Fvalue1=0xAA55。
各变量值的初始状态配置后,首选检测flash数据的保存方法是否已启用,从地址Paddr0读取两字节数据,记为T:
若T等于Fvalue1,表明flash数据的保存方法已启用,不必擦除A、B扇区;
若T不等于Fvalue1,表明flash数据的保存方法未启用,需擦除A、B扇区,再在Paddr0地址上写入Fvalue1。
将每个扇区均分为n组,A扇区的n组数据分别为A1-An,B扇区的n组数据分别为B1-Bn,组的大小为特定数据的大小加一字节(用于放有效标记值),因此,上述的组号Fgroup=(1,2,3……n)。若扇区空间在均分后还剩余不够一组的空间,则放弃使用该空间。
步骤S200和步骤S300的具体内容包括以下步骤:
根据两个扇区中同一组数据的有效标记值寻找上次数据记录的位置,这个同一组数据可以为扇区中任一一组的数据,如可以通过A1和B1的有效标记值寻找上次数据记录的位置,也可以通过An和Bn寻找,也可以通过At和Bt寻找(At为A扇区中第t个组别的数据,Bt为B扇区中第t个组别的数据,t为1-n中的任意数字)。
在本实施例中,以A1和B1举例进行详细说明:
分为读取A1和B1内的有效标记值,A1的有效标记值记为X,B1的有效标记值记为Y(X、Y仅代表各组别内的标记值,无其它具体含义,下Z同理):,同时,有效标记值的数值为0xFF时表征该组数据无效,有效标记值的数值为0x7F时表征该组数据有效;
若X、Y都等于0xFF,则表征A扇区和B扇区的数据均无效,默认An或Bn为上次数据记录的位置,下次读取数据时读取An或Bn的数据,An为A扇区的最后一组数据,Bn为B扇区的最后一组数据,此时,将初始变量置为Fsection=1或Fsection=2,Fgroup=n;
若X、Y都等于0x7F,则须再读取An内的有效标记值Z,若Z等于0xFF,则上次数据记录的位置在A1,同时,置初始变量Fsection=1,擦除B扇区内所有数据;若Z不等于0xFF,则上次数据记录的位置在B1,同时,置初始变量Fsection=2,擦除A扇区内所有数据;
若X等于0xFF,Y等于0x7F,则从B扇区的最后一组数据往前读取,寻找第一个有效标记值为0x7F的组数据Bt即为上次数据记录的位置,Bt表示为B扇区第t组的数据,此时,置初始变量Fsection=2,Fgroup=t;
若X等于0x7F,Y等于0xFF,则从A扇区的最后一组数据往前读取,寻找第一个有效标记值为0x7F的组数据At即为上次数据记录的位置,At表示为A扇区第t组的数据,此时,置初始变量Fsection=1,Fgroup=t。
考虑到特殊情况影响方法的准确性,因此,进行上次掉电是否存在擦除扇区失败的判断S500,步骤S500具体包括以下步骤:
若上次数据记录的位置在A扇区(Fsection=1),则读取Bn的有效标记值;当Bn的有效标记值不等于0xFF时,则重新擦除B扇区;
若上次数据记录的位置在B扇区(Fsection=2),则读取An的有效标记值;当An的有效标记值不等于0xFF时,则重新擦除A扇区。
在另一实施例中,新数据写入前,先进行掉电写入判断步骤S600,步骤S600具体包括以下步骤:
根据上次数据记录的位置,读取其下一组的数据;
判断读取的该组数据是否存在无效数据;
若存在无效数据(即其中有数据不等于0xFF),则表征上次掉电导致数据写入失败,并记录上次写入失败标记,此时,置上次写入失败标记Fw_fail=1。
在上述过程中,读取的是下一组操作地址的数据,操作地址计算公式如下:
若Fsection=1,操作地址=Paddr1+(Fgroup-1)*(数据大小+1);
若Fsection=2,操作地址=Paddr2+(Fgroup-1)*(数据大小+1)。
步骤S400的具体内容包括以下步骤:
新数据写入操作时,解析上次写入失败标记的值;
若上次写入失败标记表征为失败(Fw_fail=1)时,则需跳过上次写入操作失败的组别;
若上次写入失败标记表征为成功(Fw_fail=0)时,则正常判断写入。
其中,若Fw_fail=1,具体包括以下步骤:
若读取的组别为扇区的最后一组(即Fgroup=n,此时表明上次在另一扇区的第1组写入时失败),则擦除另一扇区的数据,新数据写入时,切换至刚擦除的扇区的第一组进行写入,写入完成后擦除之前写满的扇区,置上次写入失败标记Fw_fail=0,同时,在写入完成后,读取写入的数据与目标数据进行对比,若不一致,则置flash寿命报警标记Ferror=1;
若读取的组别为扇区的倒数第二组(即Fgroup+1=n,此时表明是上次扇区最后一组写入时失败),则新数据写入时,切换至另一扇区的第一组进行写入,写入完成后擦除之前写满的扇区,置上次写入失败标记Fw_fail=0,同时,在写入完成后,读取写入的数据与目标数据进行对比,若不一致,则置flash寿命报警标记Ferror=1;
若读取的组别为除上述两种情况外的任意一组(即Fgroup+1<n),则新数据写入读取组别的下一组(即Fgroup=Fgroup+1),同时,在写入完成后,置上次写入失败标记Fw_fail=0。随后读取写入的数据与目标数据进行对比,若不一致,则置flash寿命报警标记Ferror=1;
若Fw_fail=0,具体包括以下步骤:
若读取的组别为扇区的最后一组(即Fgroup=n),则写入时,切换至另一扇区的第一组进行写入,写完后擦除之前写满的扇区,同时,在写入完成后,读取写入的数据与目标数据进行对比,若不一致,则置flash寿命报警标记Ferror=1;
若读取的组别是不为最后一组的任意一组(即Fgroup<n),则写入读取组别的下一组,同时,在写入完成后,读取写入的数据与目标数据进行对比,若不一致,则置flash寿命报警标记Ferror=1。
由于数据写入时有flash寿命报警标记Ferror,所以本发明的flash数据的保存方法可以进行预警,避免读出的数据不可信赖,影响其正常运行。
在另一实施例中,本发明的flash数据的保存方法还包括如下步骤:
读取操作时,可根据Fw_fail的值以及Fsection和Fgroup代表的操作地址,确定是读取的最后一次的数据是写入成功的数据,还是上次写入失败的数据。
本发明采用一种flash内存空间分区管理办法,在内存中,将所需要存储特定数据的存储空间划分为两个扇区大小进行管理,每个扇区依据特定数据的大小,划分为各个组次,flash的读写均以组为单位进行操作;写入操作时,先读取扇区内的信息,判断本次写入的地址,数据写入时,数据末尾外加一个特定的有效标记值,用于表示此组数据是否有效,防止数据写入一半时掉电,导致数据不可靠。同时,写入完成后,立即读取写入的数据,将读出的数据与写入的数据进行对比,不一致则进行flash寿命耗尽预警。
擦除扇区操作,只在写入数据的地址是当前扇区的第一组时,擦除另一个扇区。此举避免了每次写入数据前,都要进行擦除所在扇区,所影响程序运行时效的问题。
读取操作时,先读取各扇区的信息,判断本次读取的地址。对读到的数据进行标识判断,保证数据的真实有效性。若无效,可考虑取用上一次写入的数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种flash数据的保存方法,其特征在于,包括以下步骤:
配置A、B两个扇区,将每个扇区分为n组;
读取A和B扇区中同一组数据的有效标记值,根据两个扇区中同一组数据的有效标记值寻找上次数据记录的位置;
结合特定组的有效标记值判断无效扇区,擦除无效扇区的数据;
新数据由上次数据记录的位置的下一组写入;
所述根据两个扇区中同一组数据的有效标记值寻找上次数据记录的位置,具体包括以下步骤:
读取A扇区和B扇区的第一组数据的有效标记值;
根据两个第一组数据的有效标记值寻找上次数据记录的位置;
A扇区第一组数据记为A1,B扇区第一组数据记为B1;
分为读取A1和B1内的有效标记值,A1的有效标记值记为X,B1的有效标记值记为Y,同时,有效标记值的数值为0xFF时表征该组数据无效,有效标记值的数值为0x7F时表征该组数据有效;
若X、Y都等于0xFF,则表征A扇区和B扇区的数据均无效,默认An或Bn为上次数据记录的位置,下次读取数据时读取An或Bn的数据,An为A扇区的最后一组数据,Bn为B扇区的最后一组数据;
若X、Y都等于0x7F,则须再读取An内的有效标记值Z,若Z等于0xFF,则上次数据记录的位置在A1;若Z不等于0xFF,则上次数据记录的位置在B1;
若X等于0xFF,Y等于0x7F,则从B扇区的最后一组数据往前读取,寻找第一个有效标记值为0x7F的组数据Bt即为上次数据记录的位置,Bt表示为B扇区第t组的数据;
若X等于0x7F,Y等于0xFF,则从A扇区的最后一组数据往前读取,寻找第一个有效标记值为0x7F的组数据At即为上次数据记录的位置,At表示为A扇区第t组的数据。
2.根据权利要求1所述的flash数据的保存方法,其特征在于,还包括以下步骤:
根据上次数据记录的位置,读取其下一组的数据;
判断读取的该组数据是否存在;
若数据存在,则表征上次掉电导致数据写入失败,并记录上次写入失败标记。
3.根据权利要求1所述的flash数据的保存方法,其特征在于,所述结合特定组的有效标记值判断无效扇区,擦除无效扇区的数据,具体包括以下步骤:
当X、Y都等于0x7F,则须再读取An内的有效标记值Z,若Z等于0xFF,则擦除B扇区内所有数据;若Z不等于0xFF,则擦除A扇区内所有数据。
4.根据权利要求1或3所述的flash数据的保存方法,其特征在于,还包括以下步骤:
判断上次掉电中是否存在擦除扇区失败;
若上次数据记录的位置在A扇区,则读取Bn的有效标记值;当Bn的有效标记值不等于0xFF时,则重新擦除B扇区;
若上次数据记录的位置在B扇区,则读取An的有效标记值;当An的有效标记值不等于0xFF时,则重新擦除A扇区。
5.根据权利要求2所述的flash数据的保存方法,其特征在于,还包括以下步骤:
新数据写入操作时,解析上次写入失败标记的值;
若上次写入失败标记表征为失败时,则需跳过上次写入操作失败的组别;
若上次写入失败标记表征为成功时,则正常判断写入。
6.根据权利要求5所述的flash数据的保存方法,其特征在于,所述若上次写入失败标记表征为失败时,则需跳过上次写入操作失败的组别,具体包括以下步骤:
若读取的组别为扇区的最后一组,则擦除另一扇区的数据,写入时,切换至刚擦除的扇区的第一组进行写入,写入完成后擦除之前写满的扇区;
若读取的组别为扇区的倒数第二组,则写入时,切换至另一扇区的第一组进行写入,写入完成后擦除之前写满的扇区;
若读取的组别为除上述两种情况外的任意一组,则写入读取组别的下一组;
除上述情况外,所述若上次写入失败标记表征为成功时,则正常判断写入,具体包括以下步骤:
若读取的组别为扇区的最后一组,则写入时,切换至另一扇区的第一组进行写入,写完后擦除之前写满的扇区;
若读取的组别是不为最后一组的任意一组,则写入读取组别的下一组。
7.一种flash数据的保存***,其特征在于,包括:
配置模块,用于配置A、B两个扇区,将每个扇区分为n组;
寻找模块,用于读取A和B扇区中同一组数据的有效标记值,根据两个扇区中同一组数据的有效标记值寻找上次数据记录的位置;
所述根据两个扇区中同一组数据的有效标记值寻找上次数据记录的位置,具体包括以下步骤:
读取A扇区和B扇区的第一组数据的有效标记值;
根据两个第一组数据的有效标记值寻找上次数据记录的位置;
A扇区第一组数据记为A1,B扇区第一组数据记为B1;
分为读取A1和B1内的有效标记值,A1的有效标记值记为X,B1的有效标记值记为Y,同时,有效标记值的数值为0xFF时表征该组数据无效,有效标记值的数值为0x7F时表征该组数据有效;
若X、Y都等于0xFF,则表征A扇区和B扇区的数据均无效,默认An或Bn为上次数据记录的位置,下次读取数据时读取An或Bn的数据,An为A扇区的最后一组数据,Bn为B扇区的最后一组数据;
若X、Y都等于0x7F,则须再读取An内的有效标记值Z,若Z等于0xFF,则上次数据记录的位置在A1;若Z不等于0xFF,则上次数据记录的位置在B1;
若X等于0xFF,Y等于0x7F,则从B扇区的最后一组数据往前读取,寻找第一个有效标记值为0x7F的组数据Bt即为上次数据记录的位置,Bt表示为B扇区第t组的数据;
若X等于0x7F,Y等于0xFF,则从A扇区的最后一组数据往前读取,寻找第一个有效标记值为0x7F的组数据At即为上次数据记录的位置,At表示为A扇区第t组的数据;
擦除模块,用于结合特定组的有效标记值判断无效扇区,擦除无效扇区的数据;及
写入模块,用于新数据由上次数据记录的位置的下一组写入。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202011268987.7A 2020-11-13 2020-11-13 flash数据的保存方法、***、计算机设备及存储介质 Active CN112347002B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011268987.7A CN112347002B (zh) 2020-11-13 2020-11-13 flash数据的保存方法、***、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011268987.7A CN112347002B (zh) 2020-11-13 2020-11-13 flash数据的保存方法、***、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN112347002A CN112347002A (zh) 2021-02-09
CN112347002B true CN112347002B (zh) 2023-07-28

Family

ID=74363648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011268987.7A Active CN112347002B (zh) 2020-11-13 2020-11-13 flash数据的保存方法、***、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN112347002B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220239A (zh) * 2021-05-24 2021-08-06 厦门四信通信科技有限公司 一种flash存储的擦写方法、装置、设备及可读存储介质
CN113656081B (zh) * 2021-08-05 2023-08-22 深圳市同泰怡信息技术有限公司 同步基板管理控制器配置信息的方法、装置、计算机设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2582487B2 (ja) * 1991-07-12 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 半導体メモリを用いた外部記憶システム及びその制御方法
CN1937077B (zh) * 2005-09-22 2011-03-23 康佳集团股份有限公司 闪存介质中的数据多状态管理方法
JP4910360B2 (ja) * 2005-10-20 2012-04-04 ソニー株式会社 記憶装置、コンピュータシステム、およびデータ書き込み方法
JP2010061705A (ja) * 2008-09-01 2010-03-18 Toshiba Storage Device Corp 記憶装置の制御方法および記憶装置
EP2413329B1 (en) * 2010-07-28 2014-03-26 Fujitsu Semiconductor Europe GmbH Electronic apparatuses
CN102890656B (zh) * 2012-09-25 2016-09-28 Tcl光电科技(惠州)有限公司 提高flash使用寿命的方法
US9424176B2 (en) * 2013-02-25 2016-08-23 Freescale Semiconductor, Inc. Robust sector ID scheme for tracking dead sectors to automate search and copydown
TWI557744B (zh) * 2015-01-27 2016-11-11 緯創資通股份有限公司 資料儲存方法及嵌入式系統
US10528273B2 (en) * 2017-11-07 2020-01-07 Nxp Usa, Inc. Dynamic compression in an electrically erasable programmble read only memory (EEPROM) emulation system
CN110209349B (zh) * 2019-04-25 2022-12-09 广东科华乾昇云计算科技有限公司 数据处理的方法及终端设备

Also Published As

Publication number Publication date
CN112347002A (zh) 2021-02-09

Similar Documents

Publication Publication Date Title
CN107168647B (zh) Flash数据读写方法及***
US9075740B2 (en) Memory system
US7246268B2 (en) Method and apparatus for dynamic degradation detection
KR100977899B1 (ko) 비휘발성 메모리 시스템에서 아웃-오브-시퀀스 기록 프로세스를 효과적으로 수행하기 위한 방법 및 장치
US20170139839A1 (en) Data storage device and data maintenance method thereof
CN112347002B (zh) flash数据的保存方法、***、计算机设备及存储介质
JP2005258851A (ja) メモリカード
CN109597571B (zh) 数据存储方法、数据读取方法、装置和计算机设备
CN111475425B (zh) 管理闪存模块的方法及相关的闪存控制器与电子装置
CN114089915B (zh) 基于flash存储器的文件追加写操作方法及装置
CN111324549B (zh) 一种存储器及其控制方法和装置
KR101826778B1 (ko) 플래쉬 라이프 사이클 및 성능 개선을 고려한 eeprom 에뮬레이션 구현 방법
US11347433B2 (en) Method for performing sudden power off recovery management, associated memory device and controller thereof, and associated electronic device
CN112800123B (zh) 数据处理方法、装置、计算机设备和存储介质
CN112783866B (zh) 数据读取方法、装置、计算机设备和存储介质
CN109960611B (zh) 数据恢复的方法、装置、电子设备及机器可读存储介质
CN110471623B (zh) 硬盘文件写入方法、装置、计算机设备和存储介质
CN113885791A (zh) Flash存储器的数据写入方法、读取方法和装置
CN108062203B (zh) 一种闪存数据管理方法、装置及存储器
CN115729439A (zh) 数据管理方法、装置及固态硬盘
CN112579004A (zh) 快速删除flash数据的方法、***、计算机设备及存储介质
CN112433959A (zh) 实现数据存储处理的方法、装置、计算机存储介质及终端
CN111091861A (zh) 一种基于高速非易失性存储器的固态硬盘掉电保护方法
CN111090542A (zh) 基于异常掉电的异常块识别方法、装置及计算机设备
CN111708487A (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
TA01 Transfer of patent application right

Effective date of registration: 20230324

Address after: Room 418, Building 1, No. 66, Dongxin Avenue, Puyan Street, Binjiang District, Hangzhou City, Zhejiang Province, 310000

Applicant after: Hangzhou Xinjushi Artificial Intelligence Technology Co.,Ltd.

Address before: 310051 rooms 1505 and 1506, 5th floor, building 1, Edie building, 66 Dongxin Avenue, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: HANGZHOU AIXIN INTELLIGENT TECHNOLOGY CO.,LTD.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20240613

Address after: Room 501, 85 Xiaguang Dongli, Haicang District, Xiamen City, Fujian Province, 361000

Patentee after: Xiamen reliable intellectual property service Co.,Ltd.

Country or region after: China

Address before: Room 418, Building 1, No. 66, Dongxin Avenue, Puyan Street, Binjiang District, Hangzhou City, Zhejiang Province, 310000

Patentee before: Hangzhou Xinjushi Artificial Intelligence Technology Co.,Ltd.

Country or region before: China