CN112711378A - 数据储存方法及读写设备 - Google Patents

数据储存方法及读写设备 Download PDF

Info

Publication number
CN112711378A
CN112711378A CN202011526923.2A CN202011526923A CN112711378A CN 112711378 A CN112711378 A CN 112711378A CN 202011526923 A CN202011526923 A CN 202011526923A CN 112711378 A CN112711378 A CN 112711378A
Authority
CN
China
Prior art keywords
mark
mark number
marks
recording area
main
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
CN202011526923.2A
Other languages
English (en)
Other versions
CN112711378B (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.)
Sichuan Jiuzhou Electric Group Co Ltd
Original Assignee
Sichuan Jiuzhou Electric Group 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 Sichuan Jiuzhou Electric Group Co Ltd filed Critical Sichuan Jiuzhou Electric Group Co Ltd
Priority to CN202011526923.2A priority Critical patent/CN112711378B/zh
Publication of CN112711378A publication Critical patent/CN112711378A/zh
Application granted granted Critical
Publication of CN112711378B publication Critical patent/CN112711378B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-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

本发明实施例提供一种数据储存方法及读写设备,将Flash存储器的内存空间预先成多个子空间,每个子空间包括用于记录数据的记录区和用于储存标记数的标记区,对于确定的每一对主标记数和备用标记数,使用其中的主标记数所在的子空间的记录区记录数据,在该记录区写满前擦除其中的备用标记数所在的子空间的记录区并将所述备用标记数调整为下一主标记数。如此,交替使用多个记录区记录数据且提前擦除要使用的下一记录区,不仅能提高数据的可靠性,还能提高设备的可用性。

Description

数据储存方法及读写设备
技术领域
本发明涉及存储技术领域,具体而言,涉及一种数据储存方法及读写设备。
背景技术
闪存(Flash Memory),一般简称为“Flash”,是一种非易失性(Non-Volatile)内存。闪存的特性和优点在于在没有电流供应的条件下也能长久地保持数据,因此闪存作为存储介质被广泛应用于各类电子设备中。例如,在单片机开发中程序直接在Flash中运行,单片机掉电后程序数据也能有效保持。
由于物理特性的原因,Flash器件的写入操作只能在已擦除状态的单元中进行。因此,大多数情况下,在执行写入操作之前必须先执行擦除操作。擦除某一内存空间表示使该内存空间包括的所有储存单元(每个储存单元与一个二进制位对应)都存入“1”,换言之,当该内存空间包括的所有储存单元都存入“1”表示该内存空间处于已擦除状态。
现有技术中,有些做法是:每次将数据写入Flash器件的内存区域时,对该内存区域执行完擦除操作后立即开始写入该数据(以下简称为“擦写操作”)。如此,擦写操作期间,一旦该Flash器件的电源发生掉电事件(例如,关机、异常掉电等),由于擦写操作包含擦除操作需要较长时间以及擦写操作频繁,很有可能出现掉电事件生效前数据还没来得及全部录入而导致数据丢失或出错,降低了数据的可靠性。
还有一些做法是:对Flash器件中用于记录数据的区域(足够大以能够持续记录数据)执行一次擦除操作,直至该全部区域写满数据后才对该区域再次执行擦除操作。如此,由于擦除的内存空间过大,擦除时间过长,一旦擦除操作期间出现掉电事件,也很容易出现掉电事件生效前擦除操作未完成而导致擦除不完全或擦除失败,进而导致设备下次开机后需要继续或重新执行擦除操作且在擦除操作完成前无法进行记录数据或记录数据错误,降低了设备的可用性。
发明内容
为解决至少部分地解决现有技术中的上述不足,本发明提供如下技术方案。
第一方面,本发明实施例提供一种数据储存方法,应用于与Flash存储器连接的读写设备,所述Flash存储器的内存空间包括预先划分的两个以上子空间,每个子空间包括用于记录数据的记录区和用于储存标记数的标记区;所述方法包括:
读取步骤,读取所述两个以上子空间中的标记数;
确定步骤,按第一预设规则从读取到的标记数中确定当前的主标记数和当前的备用标记数;
操作步骤,检测作为所述当前的主标记数所在的子空间的记录区的第一记录区的写入情况,在该写入情况指示所述第一记录区未写满的情况下,使用所述第一记录区记录数据,在检测出作为所述当前的备用标记数所在的子空间的记录区的第二记录区未被擦除时擦除所述第二记录区,并按第二预设规则调整至少部分所述两个以上子空间中的标记数,以使按所述第一预设规则确定的下一主标记数为所述当前的备用标记数;
循环步骤,在该写入情况指示所述第一记录区写满的情况下,重复执行所述读取步骤、确定步骤、操作步骤和循环步骤。
可选地,所述Flash存储器的内存空间包括两个子空间,所述两个子空间中的标记数的字节长度相同且大小不同。
可选地,所述第一预设规则包括:
比较所述两个子空间中的标记数,将得到的较大标记数确定为当前的主标记数,将得到的较小标记数确定为当前的备用标记数;
所述第二预设规则包括:
将所述备用标记数改写为所述主标记数与预设正值的和值;
当所述和值超过目标标记数时,将所述备用标记数改写为第一设定值并将所述主标记数改写为第二设定值,其中,所述目标标记数为二进制位全为1的标记数,所述第一设定值大于所述第二设定值。
可选地,在所述读取步骤之前,所述方法还包括:
擦除所述两个子空间的记录区。
可选地,所述Flash存储器的内存空间包括N个子空间,所述N个子空间中的标记数的字节长度相同且初始值均等于目标标记数,其中,N为不小于2的正整数,所述目标标记数为二进制位全为1的标记数;
所述第一预设规则包括:
当所述读取到的标记数包括N个目标标记数时,将所述读取到的标记数中任意两个标记数确定为当前的主标记数和备用标记数;
当所述读取到的标记数包括M个所述目标标记数时,对除所述M个目标标记数之外的所述读取到的标记数进行大小排序,将得到的最大标记数确定为当前的主标记数,将所述M个目标标记数中的任一标记数确定为所述备用标记数,其中,M为小于N的正整数;
当所述读取到的标记数中不存在所述目标标记数时,对所述读取到的标记数进行大小排序,将得到的最大标记数确定为当前的主标记数,将得到的最小标记数确定为当前的备用标记数;
所述第二预设规则包括:
将所述备用标记数改写为所述主标记数与预设正值的和值;
当所述和值超过目标标记数时,将所述备用标记数改写为第一设定值并将所述主标记数改写为第二设定值,其中,所述第一设定值大于所述第二设定值。
可选地,在所述读取步骤之前,所述方法还包括:
擦除所述N个子空间。
可选地,所述预设正值为1;
当所述和值超过目标标记数时,将所述备用标记数改写为第一设定值并将所述主标记数改写为第二设定值,包括:
当所述主标记数为所述目标标记数时,将所述备用标记数改写为第一设定值并将所述主标记数改写为第二设定值。
可选地,所述第一设定值为1,所述第二设定值为0。
可选地,每个子空间的记录区的内存大小等于所述Flash存储器的最小擦除单元的内存大小。
第二方面,本发明实施例提供一种读写设备,所述读写设备与Flash存储器连接,其中,所述Flash存储器的内存空间包括预先划分的两个以上子空间,每个子空间包括用于记录数据的记录区和用于储存标记数的标记区;
所述读写设备存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的数据储存方法。
与现有技术相比,上述方案中的一个或多个实施例可以具有如下优点或有益效果:
本发明实施例提供一种数据储存方法及读写设备,将Flash存储器的内存空间预先成多个子空间,每个子空间包括用于记录数据的记录区和用于储存标记数的标记区,对于确定的每一对主标记数和备用标记数,使用其中的主标记数所在的子空间的记录区记录数据,在该记录区写满前擦除其中的备用标记数所在的子空间的记录区并将所述备用标记数调整为下一主标记数。如此,交替使用多个记录区记录数据且提前擦除要使用的下一记录区,不仅能提高数据的可靠性,还能提高设备的可用性。
附图说明
通过结合附图阅读下文示例性实施例的详细描述可更好地理解本公开的范围。其中所包括的附图是:
图1是本发明实施例提供的一种Flash存储器的内存空间示意图;
图2是本发明实施例提供的一种数据储存方法的流程示意图;
图3a至图3d是本发明实施例中主标记数和备用标记数的四种变化示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下将结合附图及实施例来详细说明本发明的实施方法,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。
如图1所示,是本发明实施例提供的一种Flash存储器的内存空间示意图。所述Flash存储器的内存空间包括预先划分的两个以上子空间(例如,子空间A1和A2),每个子空间包括用于记录数据的记录区(例如,子空间A1的记录区R1和子空间A2的记录区R2)和用于储存标记数的标记区(例如,A1的标记区T1和子空间A2的标记区T2)。
本实施例中,所述两个以上子空间可以按照内存地址范围划分,即每个子空间都有相应的内存地址范围。相应地,与所述Flash存储器连接的读写设备可以根据子空间与内存地址范围的对应关系区分不同的子空间。另外,需要说明的是,标记数的字节长度即等于该标记数所在的标记区的字节长度,例如,内存大小为2字节的记录区中储存的即为2字节的标记数。
本实施例中,考虑到需要分配足够的内存大小来记录数据,每个子空间中,标记区可以分配少量的内存大小(例如,1或2个字节)。
请结合参照图1和图2,图2是本发明实施例提供的一种数据储存方法的流程示意图。该方法应用于与所述Flash存储器连接的读写设备,本实施例中,所述读写设备可以是,但不限于,单片机。下面对该方法的具体步骤进行详细说明。
S201,读取所述两个以上子空间中的标记数。
S202,按第一预设规则从读取到的标记数中确定当前的主标记数和当前的备用标记数。
S203,检测作为所述当前的主标记数所在的子空间的记录区的第一记录区的写入情况。
S204,判断所述第一记录区是否写满。
若是(即,该写入情况指示所述第一记录区写满),则重复执行S201至S204;若否(即,该写入情况指示所述第一记录区未写满),则执行S205。
S205,在检测出作为所述当前的备用标记数所在的子空间的记录区的第二记录区未被擦除时擦除所述第二记录区,并按第二预设规则调整至少部分所述两个以上子空间中的标记数,以使按所述第一预设规则确定的下一主标记数为所述当前的备用标记数。
本实施例中,使用当前的主标记数所在的子空间的记录区(即,所述第一记录区)记录数据直至该记录区被写满。每次按第二预设规则调整标记数之后,所述当前的备用标记数会被确定为新的主标记数,即,所述当前的主标记数的下一主标记数。相应地,每次标记数被调整之后,所述当前的备用标记数所在的子空间的记录区(即,所述第二记录区)被确定为新的第一记录区。每次标记数被调整之前,确保当前的备用标记数所在的子空间的记录区(即,所述第二记录区)处于已擦除状态,进而确保所述第二记录区被确定为新的第一记录区后可以直接用于记录数据。总之,对于确定的每一对主标记数和备用标记数,使用其中的主标记数所在的子空间的记录区记录数据,在该记录区写满前擦除其中的备用标记数所在的子空间的记录区并将所述备用标记数调整为下一主标记数,如此每次更换记录区记录数据时更换后的记录区已提前擦除好。
本发明实施例提供的数据储存方法交替使用多个分区(即,各子空间的记录区)记录数据且提前擦除要使用的下一分区,一方面,由于使用每个记录区记录数据时无需每次记录数据都要执行一次擦除操作,能够降低电源掉电造成要记录的数据丢失或出错的可能,提高了数据的可靠性;另一方面,由于擦除每个子空间的记录区所需的时间与擦除整个Flash存储器所需的时间相比较短,能够降低电源掉电造成擦除操作中断或失败的可能,提高了设备的可用性。
在一些实施方式中,所述Flash存储器的内存空间可以包括两个子空间,所述两个子空间中的标记数字节长度相同且大小不同。
在此实施方式中,所述第一预设规则可以包括:比较所述两个子空间的标记数,将得到的较大标记数确定为当前的主标记数,将得到的较小标记数确定为当前的备用标记数。相应地,所述第二预设规则包括:将所述备用标记数改写为所述主标记数与预设正值的和值;当所述和值超过目标标记数时,将所述备用标记数改写为第一设定值并将所述主标记数改写为第二设定值,其中,所述目标标记数为二进制位全为1的标记数,所述第一设定值大于所述第二设定值。可选地,该预设正值可以为1。当该预设正值为1时,当所述当前的主标记数为所述目标标记数时将所述备用标记数改写为所述第一设定值并将所述主标记数改写为所述第二设定值。可选地,所述第一设定值可以为1,所述第二设定值可以为0。如图3a所示,是此实施方式中二进制位数为8的主标记数和备用标记数的一种变化示意图(预设正值为1、第一设定值为1以及第二设定值为0)。
类似地,在此实施方式中,所述第一预设规则还可以包括:比较所述两个子空间的标记数,将得到的较小标记数确定为当前的主标记数,将得到的较大标记数确定为当前的备用标记数。相应地,所述第二预设规则包括:将所述主标记数改写为所述备用标记数与预设正值的和值;当所述和值超过目标标记数时,将所述备用标记数改写为第一设定值并将所述主标记数改写为第二设定值,其中,所述目标标记数为二进制位全为1的标记数,所述第一设定值小于所述第二设定值。可选地,该预设正值可以为1。当该预设正值为1时,当所述当前的备用标记数为所述目标标记数时将所述备用标记数改写为所述第一设定值并将所述主标记数改写为所述第二设定值。可选地,所述第一设定值可以为0,所述第二设定值可以为1。
可选地,在S201之前,所述方法还可以包括:擦除所述两个子空间的记录区。如此,可以确保接下来确定的主标记数所在的子空间的记录区无论是哪一个记录区,都有足够内存大小的处于已擦除状态的空记录区直接用来记录数据。应当理解,也可以不执行擦除所述两个子空间的记录区的步骤,这样即便接下来确定的主标记数所在的子空间的记录区即将写满,还可以在下次将备用标记数确定为新的主标记数后使用处于已擦除状态的所述备用标记数所在的子空间的记录区记录数据。需要说明的是,擦除所述两个子空间的记录区的步骤只需执行一次,相应地,这一次较长时间的擦除操作对掉电情况下降低设备的可用性的影响可以忽略。
在其它实施方式中,所述Flash存储器的内存空间包括N个子空间,所述N个子空间中的标记数的字节长度相同且初始值均等于目标标记数,其中,N为不小于2的正整数,所述目标标记数为二进制位全为1的标记数。在此实施方式中,所述第一预设规则包括:
当所述读取到的标记数包括N个目标标记数时,将所述读取到的标记数中任意两个标记数确定为当前的主标记数和备用标记数;
当所述读取到的标记数包括M个所述目标标记数时,对除所述M个目标标记数之外的所述读取到的标记数进行大小排序,将得到的最大标记数确定为当前的主标记数,将所述M个目标标记数中的任一标记数确定为所述备用标记数,其中,M为小于N的正整数;
当所述读取到的标记数中不存在所述目标标记数时,对所述读取到的标记数进行大小排序,将得到的最大标记数确定为当前的主标记数,将得到的最小标记数确定为当前的备用标记数。
相应地,所述第二规则包括:
将所述备用标记数的数值改写为所述主标记数的数值与预设正值的和值;
当所述和值超过目标标记数时,将所述备用标记数改写为第一设定值并将所述主标记数改写为第二设定值,其中,所述第一设定值大于所述第二设定值。
可选地,该预设正值可以为1。当该预设正值为1时,当所述当前的主标记数为所述目标标记数时将所述备用标记数改写为所述第一设定值并将所述主标记数改写为所述第二设定值。可选地,所述第一设定值可以为1,所述第二设定值可以为0。如图3b、图3c以及图3d所示,分别是此实施方式中N=2、N=3以及N=4时二进制位数为8的主标记数和备用标记数的一种变化示意图(预设正值为1、第一设定值为1以及第二设定值为0)。
可选地,在S201之前,所述方法还可以包括:擦除所述N个子空间。如此,所述读取到的标记数包括N个目标标记数(所有二进制位均为1)且所有记录区均处于已擦除状态,可以确保接下来确定的主标记数所在的子空间的记录区无论是哪一个记录区,都有足够内存大小的处于已擦除状态的空记录区直接用来记录数据。也应当理解,也可以不执行擦除所述N个子空间的步骤,这样即便接下来确定的主标记数所在的子空间的记录区即将写满,还可以在下次将备用标记数确定为新的主标记数后使用处于已擦除状态的所述备用标记数所在的子空间的记录区记录数据。也需要说明的是,擦除所述N个子空间的步骤只需执行一次,相应地,这一次较长时间的擦除操作对掉电情况下降低设备的可用性的影响可以忽略。
本实施例中,鉴于单次擦除时间越长越容易造成掉电情况下的擦除未完成或失败,可选地,可以将每个子空间的记录区的内存大小设置为所述Flash存储器的最小擦除单元的内存大小,以确保最短的单次擦除时间,从而最大限度地提高设备的可用性。
本发明实施例还提供一种读写设备,所述读写设备与Flash存储器连接,其中,所述Flash存储器的内存空间包括预先划分的两个以上子空间,每个子空间包括用于记录数据的记录区和用于储存标记数的标记区。
所述读写设备存储有计算机程序,所述计算机程序被处理器执行时实现前文所述的数据储存方法。
综上所述,本发明实施例提供一种数据储存方法及读写设备,将Flash存储器的内存空间预先成多个子空间,每个子空间包括用于记录数据的记录区和用于储存标记数的标记区,对于确定的每一对主标记数和备用标记数,使用其中的主标记数所在的子空间的记录区记录数据,在该记录区写满前擦除其中的备用标记数所在的子空间的记录区并将所述备用标记数调整为下一主标记数。如此,交替使用多个记录区记录数据且提前擦除要使用的下一记录区,不仅能提高数据的可靠性,还能提高设备的可用性。
虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (10)

1.一种数据储存方法,其特征在于,应用于与Flash存储器连接的读写设备,所述Flash存储器的内存空间包括预先划分的两个以上子空间,每个子空间包括用于记录数据的记录区和用于储存标记数的标记区;所述方法包括:
读取步骤,读取所述两个以上子空间中的标记数;
确定步骤,按第一预设规则从读取到的标记数中确定当前的主标记数和当前的备用标记数;
操作步骤,检测作为所述当前的主标记数所在的子空间的记录区的第一记录区的写入情况,在该写入情况指示所述第一记录区未写满的情况下,使用所述第一记录区记录数据,在检测出作为所述当前的备用标记数所在的子空间的记录区的第二记录区未被擦除时擦除所述第二记录区,并按第二预设规则调整至少部分所述两个以上子空间中的标记数,以使按所述第一预设规则确定的下一主标记数为所述当前的备用标记数;
循环步骤,在该写入情况指示所述第一记录区写满的情况下,重复执行所述读取步骤、确定步骤、操作步骤和循环步骤。
2.根据权利要求1所述的方法,其特征在于,所述Flash存储器的内存空间包括两个子空间,所述两个子空间中的标记数的字节长度相同且大小不同。
3.根据权利要求2所述的方法,其特征在于,所述第一预设规则包括:
比较所述两个子空间中的标记数,将得到的较大标记数确定为当前的主标记数,将得到的较小标记数确定为当前的备用标记数;
所述第二预设规则包括:
将所述备用标记数改写为所述主标记数与预设正值的和值;
当所述和值超过目标标记数时,将所述备用标记数改写为第一设定值并将所述主标记数改写为第二设定值,其中,所述目标标记数为二进制位全为1的标记数,所述第一设定值大于所述第二设定值。
4.根据权利要求2或3所述的方法,其特征在于,在所述读取步骤之前,所述方法还包括:
擦除所述两个子空间的记录区。
5.根据权利要求1所述的方法,其特征在于,所述Flash存储器的内存空间包括N个子空间,所述N个子空间中的标记数的字节长度相同且初始值均等于目标标记数,其中,N为不小于2的正整数,所述目标标记数为二进制位全为1的标记数;
所述第一预设规则包括:
当所述读取到的标记数包括N个目标标记数时,将所述读取到的标记数中任意两个标记数确定为当前的主标记数和备用标记数;
当所述读取到的标记数包括M个所述目标标记数时,对除所述M个目标标记数之外的所述读取到的标记数进行大小排序,将得到的最大标记数确定为当前的主标记数,将所述M个目标标记数中的任一标记数确定为所述备用标记数,其中,M为小于N的正整数;
当所述读取到的标记数中不存在所述目标标记数时,对所述读取到的标记数进行大小排序,将得到的最大标记数确定为当前的主标记数,将得到的最小标记数确定为当前的备用标记数;
所述第二预设规则包括:
将所述备用标记数改写为所述主标记数与预设正值的和值;
当所述和值超过目标标记数时,将所述备用标记数改写为第一设定值并将所述主标记数改写为第二设定值,其中,所述第一设定值大于所述第二设定值。
6.根据权利要求5所述的方法,其特征在于,在所述读取步骤之前,所述方法还包括:
擦除所述N个子空间。
7.根据权利要求3或5所述的方法,其特征在于,所述预设正值为1;
当所述和值超过目标标记数时,将所述备用标记数改写为第一设定值并将所述主标记数改写为第二设定值,包括:
当所述主标记数为所述目标标记数时,将所述备用标记数改写为第一设定值并将所述主标记数改写为第二设定值。
8.根据权利要求7所述的方法,其特征在于,所述第一设定值为1,所述第二设定值为0。
9.根据权利要求1所述的方法,其特征在于,每个子空间的记录区的内存大小等于所述Flash存储器的最小擦除单元的内存大小。
10.一种读写设备,其特征在于,所述读写设备与Flash存储器连接,其中,所述Flash存储器的内存空间包括预先划分的两个以上子空间,每个子空间包括用于记录数据的记录区和用于储存标记数的标记区;
所述读写设备存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的数据储存方法。
CN202011526923.2A 2020-12-22 2020-12-22 数据储存方法及读写设备 Active CN112711378B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011526923.2A CN112711378B (zh) 2020-12-22 2020-12-22 数据储存方法及读写设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011526923.2A CN112711378B (zh) 2020-12-22 2020-12-22 数据储存方法及读写设备

Publications (2)

Publication Number Publication Date
CN112711378A true CN112711378A (zh) 2021-04-27
CN112711378B CN112711378B (zh) 2022-08-05

Family

ID=75545123

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011526923.2A Active CN112711378B (zh) 2020-12-22 2020-12-22 数据储存方法及读写设备

Country Status (1)

Country Link
CN (1) CN112711378B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030165076A1 (en) * 2001-09-28 2003-09-04 Gorobets Sergey Anatolievich Method of writing data to non-volatile memory
US20100131726A1 (en) * 2008-11-26 2010-05-27 Nokia Corporation Methods, apparatuses, and computer program products for enhancing memory erase functionality
US20140156913A1 (en) * 2012-12-05 2014-06-05 Phison Electronics Corp. Data processing method, memory controller and memory storage apparatus
CN104102585A (zh) * 2013-04-03 2014-10-15 群联电子股份有限公司 映射信息记录方法、存储器控制器与存储器储存装置
CN104361907A (zh) * 2014-10-10 2015-02-18 宁波三星电气股份有限公司 一种flash存储器的计数方法
CN107132994A (zh) * 2017-03-20 2017-09-05 北京握奇智能科技有限公司 一种延长可擦写芯片寿命的方法和装置
CN109669889A (zh) * 2018-12-24 2019-04-23 青岛方寸微电子科技有限公司 一种轻量型Nor Flash闪存控制方法和装置
US20200388318A1 (en) * 2019-06-10 2020-12-10 Phison Electronics Corp. Data writing method, memory control circuit unit and memory storage device

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030165076A1 (en) * 2001-09-28 2003-09-04 Gorobets Sergey Anatolievich Method of writing data to non-volatile memory
US20100131726A1 (en) * 2008-11-26 2010-05-27 Nokia Corporation Methods, apparatuses, and computer program products for enhancing memory erase functionality
US20140156913A1 (en) * 2012-12-05 2014-06-05 Phison Electronics Corp. Data processing method, memory controller and memory storage apparatus
CN104102585A (zh) * 2013-04-03 2014-10-15 群联电子股份有限公司 映射信息记录方法、存储器控制器与存储器储存装置
CN104361907A (zh) * 2014-10-10 2015-02-18 宁波三星电气股份有限公司 一种flash存储器的计数方法
CN107132994A (zh) * 2017-03-20 2017-09-05 北京握奇智能科技有限公司 一种延长可擦写芯片寿命的方法和装置
CN109669889A (zh) * 2018-12-24 2019-04-23 青岛方寸微电子科技有限公司 一种轻量型Nor Flash闪存控制方法和装置
US20200388318A1 (en) * 2019-06-10 2020-12-10 Phison Electronics Corp. Data writing method, memory control circuit unit and memory storage device

Also Published As

Publication number Publication date
CN112711378B (zh) 2022-08-05

Similar Documents

Publication Publication Date Title
US10552311B2 (en) Recovery for non-volatile memory after power loss
JP4729062B2 (ja) メモリシステム
US8732519B2 (en) Method for using bad blocks of flash memory
CN110335635B (zh) 用来管理一记忆装置的方法以及记忆装置与控制器
US8332696B2 (en) Defect management method for storage medium and system thereof
KR101566849B1 (ko) 메모리 장치 관리 방법, 그 관련 메모리 장치 및 그 관련 제어기
US20100235713A1 (en) Non-volatile memory generating read reclaim signal and memory system
US20100199020A1 (en) Non-volatile memory subsystem and a memory controller therefor
TWI436369B (zh) 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統
TWI479314B (zh) 系統資料儲存方法、記憶體控制器與記憶體儲存裝置
KR101561546B1 (ko) 메모리 장치 관리 방법, 그 관련 메모리 장치 및 그 관련 제어기
CN103577342A (zh) 管理闪存中所储存的数据的方法及相关记忆装置与控制器
US9552287B2 (en) Data management method, memory controller and embedded memory storage apparatus using the same
US7721166B2 (en) Method for managing defect blocks in non-volatile memory
US20100287448A1 (en) Flash memory device with rectifiable redundancy bit and method of controlling the same
EP2395513A1 (en) Memory device, memory management device, and memory management method
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
CN113885808B (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
US20180052635A1 (en) Electronic control apparatus and information storage method for the same
CN106354651B (zh) 平均磨损方法、存储器控制电路单元及存储器储存装置
CN112711378B (zh) 数据储存方法及读写设备
CN111258498B (zh) 一种flash存储器管理方法
JP6040895B2 (ja) マイクロコンピュータ及び不揮発性メモリのブロック管理方法
CN111949198A (zh) 一种坏块管理方法、装置和存储设备
CN114327265B (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
CB03 Change of inventor or designer information

Inventor after: Wang Feifei

Inventor after: Fan Zhengxue

Inventor after: He Min

Inventor before: Wang Feifei

Inventor before: Fan Zhengxue

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant