CN106909512B - 存储设备的使用方法和*** - Google Patents

存储设备的使用方法和*** Download PDF

Info

Publication number
CN106909512B
CN106909512B CN201510979983.2A CN201510979983A CN106909512B CN 106909512 B CN106909512 B CN 106909512B CN 201510979983 A CN201510979983 A CN 201510979983A CN 106909512 B CN106909512 B CN 106909512B
Authority
CN
China
Prior art keywords
address index
page
erasing
reading
bit
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
CN201510979983.2A
Other languages
English (en)
Other versions
CN106909512A (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.)
Shenzhen Jiuniuyimao Intelligent Internet Of Things Technology Co ltd
Original Assignee
EVOC Intelligent 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 EVOC Intelligent Technology Co Ltd filed Critical EVOC Intelligent Technology Co Ltd
Priority to CN201510979983.2A priority Critical patent/CN106909512B/zh
Publication of CN106909512A publication Critical patent/CN106909512A/zh
Application granted granted Critical
Publication of CN106909512B publication Critical patent/CN106909512B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F2212/1036Life time enhancement

Landscapes

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

Abstract

本发明涉及一种存储设备的使用方法和***。所述方法包括以下步骤:上电初始化后获取地址索引和擦写次数计数位;将擦写次数计数位增加1;判断新的擦写次数计数位是否小于擦写次数阈值;若是,则将数据和新的擦写次数计数位更新到所述地址索引所对应的页中和所述地址索引加1所对应的页中;若否,则将擦写次数计数位赋值为1,判断所述地址索引是否小于总页数减2,若是,则将所述地址索引加2,作为新的地址索引,若否,则将所述地址索引赋值为2,作为新的地址索引;以及将数据和擦写次数计数位更新到所述新的地址索引所对应的页中和所述新的地址索引加1所对应的页中,并将所述新的地址索引更新到第零页和第一页。延长了存储设备的使用寿命。

Description

存储设备的使用方法和***
技术领域
本发明涉及存储设备管理领域,特别是涉及一种存储设备的使用方法和***。
背景技术
存储设备可包括FLASH、SD(Secure Digital Memory Card,安全数字存储卡)卡等。以FLASH为例,FLASH是内存的一种,但兼有RAM(Random-Access Memory,随机存储设备)和ROM(read-only memory,只读存储设备)的优点,是一种可在***进行电擦写,掉电后信息不丢失的存储器。传统的FLASH在使用中,数据存储在数据FLASH区域。往数据FLASH区域写入数据时需要先对数据FLASH区域进行擦除,再把数据写入数据FLASH区域中。但是数据FLASH区域有一定的擦写次数,当数据FLASH区域中某块区域擦写超过一定次数后,此块区域就会损坏不能再次使用,需要更换芯片,缩短了存储设备的使用寿命。
发明内容
基于此,有必要针对传统的存储设备的某数据区域频繁被擦写超过次数缩短了存储设备的使用寿命的问题,提供一种存储设备的使用方法,能延长存储设备的使用寿命。
此外,还有必要提供一种存储设备的使用***,能延长存储设备的使用寿命。
一种存储设备的使用方法,包括以下步骤:
上电初始化后获取地址索引和擦写次数计数位;
当更新存储设备的页中的数据时,将擦写次数计数位增加1得到新的擦写次数计数位;
判断新的擦写次数计数位是否小于擦写次数阈值;
若新的擦写次数计数位小于擦写次数阈值,则将数据和新的擦写次数计数位更新到所述地址索引所对应的页中和所述地址索引加1所对应的页中;
若新的擦写次数计数位不小于擦写次数阈值,则将擦写次数计数位赋值为1,并擦除所述地址索引所对应的页中的数据和所述地址索引加1所对应的页中的数据,再判断所述地址索引是否小于总页数减2,若是,则将所述地址索引加2,作为新的地址索引,若否,则将所述地址索引赋值为2,作为新的地址索引;以及将数据和擦写次数计数位更新到所述新的地址索引所对应的页中和所述新的地址索引加1所对应的页中,并将所述新的地址索引更新到第零页和第一页。
一种存储设备的使用***,包括:
获取模块,用于上电初始化后获取地址索引和擦写次数计数位;
自增模块,用于当更新存储设备的页中的数据时,将擦写次数计数位增加1得到新的擦写次数计数位;
判断模块,用于判断新的擦写次数计数位是否小于擦写次数阈值;
第一更新模块,用于若新的擦写次数计数位小于擦写次数阈值,则将数据和新的擦写次数计数位更新到所述地址索引所对应的页中和所述地址索引加1所对应的页中;
第二更新模块,用于若新的擦写次数计数位不小于擦写次数阈值,则将擦写次数计数位赋值为1,并擦除所述地址索引所对应的页中的数据和所述地址索引加1所对应的页中的数据,再判断所述地址索引是否小于总页数减2,若是,则将所述地址索引加2,作为新的地址索引,若否,则将所述地址索引赋值为2,作为新的地址索引,以及将数据和擦写次数计数位更新到所述新的地址索引所对应的页中和所述新的地址索引加1所对应的页中,并将所述新的地址索引更新到第零页和第一页。
上述存储设备的使用方法和***,获取地址索引和擦写次数计数位,更新数据时,将擦写次数计数位增加1,通过判断擦写次数计数位是否小于擦写次数阈值,若小于,则将数据和新的擦写次数计数位更新到地址索引对应的页中,若擦写次数计数位不小于擦写次数阈值,则将擦写次数计数位赋值为1,再判断地址索引是否小于总页数减2的值,若是,则将地址索引加2后,将数据和擦写次数计数位更新到新的地址索引所对应的页中,若否,则将地址索引赋值为2,将数据和擦写次数计数位更新到新的地址索引所对应的页中,通过将擦写次数达到擦写次数阈值时,将数据更新到其他页,这样重复使用不同的数据页,避免了每次擦写针对同一页而导致该页擦写次数达到最大擦写次数而损坏,延长了存储设备的使用寿命。
附图说明
图1为一个实施例中存储设备的使用方法的流程图;
图2为一个实施例中存储设备各分页的起始地址的示意图;
图3为一个实施例中该上电初始化步骤的具体流程图;
图4为一个实施例中存储设备的使用***的结构框图;
图5为另一个实施例中存储设备的使用***的结构框图;
图6为另一个实施例中存储设备的使用***的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。
图1为一个实施例中存储设备的使用方法的流程图。如图1所示,一种存储设备的使用方法,包括以下步骤:
步骤102,上电初始化后获取地址索引和擦写次数计数位。
本实施例中,步骤102包括:上电初始化读取第零页,从该第零页获取地址索引,再获取该地址索引所对应的页,从该页中读取擦除次数计数位。
首先,对存储设备的数据区域进行分页处理,得到多个分页。例如存储设备为FLASH。数据FLASH区域的空间大小为4KB,擦除单位为512字节,以512字节为一页,则数据FLASH区域可以分为8页(4×1024/512=8)。数据FLASH的起始地址为0x01_F000,终止地址为0x01_FFFF。如图2所示,第零页Zero page的起始地址为0x01_F000,第一页First page的起始地址为0x01_F200,第二页Second page的起始地址为0x01_F400,第三页Third page的起始地址为0x01_F600,第四页Fourth page的起始地址为0x01_F800,第五页Fifth page的起始地址为0x01_FA00,第六页Six page的起始地址为0x01_FC00,第七页Seventh page的起始地址为0x01_FE00。
地址索引Addr_index是用来查找当前数据存储的页,地址索引存储在第零页中(即Zero-page中)。为了防止数据的损坏和丢失,将第零页中的数据备份到第一页中。
数据的存储也进行备份,将当前数据所在数据页的数据备份到当前数据所在数据页的下一页,例如数据存储在第2页,则备份数据存储在第3页。擦写次数计数位存储在每页中,用来标志本页擦写次数,每次更新数据,擦写次数计数位Count也跟着更新。
可采用一个数组来存放各页的起始地址,方便后续调用。例如Uint32_t PAGE_ADDR[8]={0x01_F000,0x01_F200,0x01_F400,0x01_F600,0x01_F800,0x01_FA00,0x01_FC00,0x01_FE00}。
步骤104,当更新存储设备的页中的数据时,将擦写次数计数位增加1得到新的擦写次数计数位。
具体地,每次更新页中的数据时,该页的擦写次数计数位增加1次,得到新的擦写次数计数位。
步骤106,判断新的擦写次数计数位是否小于擦写次数阈值,若是,则执行步骤108,若否,则执行步骤110。
具体地,擦写次数阈值根据需要确定,如可为512次或者300次等。
当判断出新的擦写次数计数位小于擦写次数阈值,则将数据和新的擦写次数计数位更新到地址索引所对应的页中和该地址索引加1所对应的页中。
地址索引加1所对应的页是对地址索引所对应的页中数据的备份页。
当判断出新的擦写次数计数位不小于擦写次数阈值,则将擦除该地址索引所对应的页中的数据和该地址索引加1所对应的页中的数据。
步骤108,将数据和新的擦写次数计数位更新到该地址索引所对应的页中和该地址索引加1所对应的页中,结束。
具体地,将数据和新的擦写次数计数位Count更新到地址索引所对应的页PAGE_ADDR[Addr_index]中和地址索引加1所对应的页PAGE_ADDR[Addr_index+1]中。
步骤110,将擦写次数计数位赋值为1,并擦除该地址索引所对应的页中的数据和该地址索引加1所对应的页中的数据,再执行步骤112。
具体地,擦除地址索引所对应的页PAGE_ADDR[Addr_index]中的数据和地址索引加1所对应的页PAGE_ADDR[Addr_index+1]中的数据。
步骤112,判断该地址索引是否小于总页数减2,若是,则执行步骤114,若否,则执行步骤116。
具体地,总页数是指存储设备进行分页处理后所划分的总的页数。地址索引所对应的页为总页数减2页时,表示各页的擦写次数计数位已经达到过擦写次数阈值,需要重新轮循到数据页的首页(即第2页),即地址索引为2所对应的页,进行数据更新。
步骤114,将该地址索引加2,作为新的地址索引,再执行步骤118。
步骤116,将该地址索引赋值为2,作为新的地址索引,再执行步骤118。
地址索引与页一一对应。如地址索引为2时,其对应的页为第二页。
步骤118,将数据和擦写次数计数位更新到该新的地址索引所对应的页中和该新的地址索引加1所对应的页中。
具体地,将数据和擦写次数计数位Count更新到PAGE_ADDR[Addr_index]地址中和PAGE_ADDR[Addr_index+1]地址中。
步骤120,将该新的地址索引更新到第零页和第一页。
具体地,将新的地址索引更新到第零页,即PAGE_ADDR[0]中,同时也更新到第一页PAGE_ADDR[1]中。
上述存储设备的使用方法,获取地址索引和擦写次数计数位,更新数据时,将擦写次数计数位增加1,通过判断擦写次数计数位是否小于擦写次数阈值,若小于,则将数据和新的擦写次数计数位更新到地址索引对应的页中,若擦写次数计数位不小于擦写次数阈值,则将擦写次数计数位赋值为1,再判断地址索引是否小于总页数减2的值,若是,则将地址索引加2后,将数据和擦写次数计数位更新到新的地址索引所对应的页中,若否,则将地址索引赋值为2,将数据和擦写次数计数位更新到新的地址索引所对应的页中,通过将擦写次数达到擦写次数阈值时,将数据更新到其他页,这样重复使用不同的数据页,避免了每次擦写针对同一页而导致该页擦写次数达到最大擦写次数而损坏,延长了存储设备的使用寿命。
假设有6页数据页,分为原始数据页和备份数据页,每页数据页擦写最大次数为10万次,若每次只针对同一数据页进行擦写,那么擦写10万次之后此数据页就会损坏,就得更换芯片或者重新编码擦写到未损坏的数据页。而采用上述存储设备的使用方法,进行轮循使用,每页数据页擦写擦写次数阈值(如512次)之后就会下移到另外的数据页,这样重复使用不同的数据页,每页数据页都可擦写10万次,计算可知可擦写次数是原来的三倍,为30万次。
在一个实施例中,上述存储设备的使用方法还包括:将该第零页中的数据备份在第一页中。
该上电初始化后获取地址索引和擦写次数计数位的步骤包括:上电初始化读取第零页或第一页,从该第零页或第一页中获取地址索引,再获取该地址索引所对应的页,从该页中读取擦除次数计数位。
具体地,从第零页或第一页中获取地址索引,因第零页和第一页中数据相同。
图3为一个实施例中该上电初始化读取第零页或第一页,从该第零页或第一页中获取地址索引,再获取该地址索引所对应的页,从该页中读取擦除次数计数位的步骤的具体流程图。如图3所示,上电初始化读取第零页或第一页,从该第零页或第一页中获取地址索引,再获取该地址索引所对应的页,从该页中读取擦除次数计数位的步骤包括:
步骤302,上电初始化读取第零页,从该第零页读取地址索引。
具体地,上电初始化后读取第零页PAGE_ADDR[0]地址获取地址索引Addr_index。
步骤304,判断读取地址索引是否成功,若是,则执行步骤312,若否,执行步骤306。
具体地,当从第零页中读取地址索引失败,则从第一页PAGE_ADDR[1]地址读取地址索引Addr_index。
步骤306,从第一页读取地址索引,然后执行步骤308。
步骤308,判断读取地址索引是否成功,若是,执行步骤310,若否,结束。
步骤310,将该第一页的数据更新第零页的数据,然后执行步骤312。
具体地,从第一页读取地址索引成功,表示第一页中数据未损坏,可将第一页的数据更新第零页的数据。
步骤312,读取该地址索引所对应的页中的擦除次数计数位,然后执行步骤314。
具体地,读取地址索引所对应的页PAGE_ADDR[Addr_index]中的擦除次数计数位Count。
步骤314,判断读取擦除次数计数位是否成功,若是,结束,若否,执行步骤316。
步骤316,读取该地址索引加1所对应的页中的擦除次数计数位。
具体地,读取地址索引加1所对应的页PAGE_ADDR[Addr_index+1]中的擦除次数计数位Count。
步骤318,判断读取擦除次数计数位是否成功,若是,执行步骤320,若否,结束。
步骤320,将该地址索引加1所对应的页中的数据更新该地址索引所对应的页中的数据。
上述上电初始化获取地址索引,通过在第零页获取地址索引失败,则在第一页获取地址索引,通过第一页对第零页的数据进行备份,可提高地址索引获取的几率。
图4为一个实施例中存储设备的使用***的结构框图。如图4所示,一种存储设备的使用***,包括获取模块410、自增模块420、判断模块430、第一更新模块440和第二更新模块450。其中:
获取模块410用于上电初始化后获取地址索引和擦写次数计数位。
本实施例中,获取模块410还用于上电初始化读取第零页,从该第零页获取地址索引,再获取该地址索引所对应的页,从该页中读取擦除次数计数位。
自增模块420用于当更新存储设备的页中的数据时,将擦写次数计数位增加1得到新的擦写次数计数位。
判断模块430用于判断新的擦写次数计数位是否小于擦写次数阈值。
第一更新模块440用于若新的擦写次数计数位小于擦写次数阈值,则将数据和新的擦写次数计数位更新到该地址索引所对应的页中和该地址索引加1所对应的页中。
第二更新模块450用于若新的擦写次数计数位不小于擦写次数阈值,则将擦写次数计数位赋值为1,并擦除该地址索引所对应的页中的数据和该地址索引加1所对应的页中的数据,再判断该地址索引是否小于总页数减2,若是,则将该地址索引加2,作为新的地址索引,若否,则将该地址索引赋值为2,作为新的地址索引,以及将数据和擦写次数计数位更新到该新的地址索引所对应的页中和该新的地址索引加1所对应的页中,并将该新的地址索引更新到第零页和第一页。
上述存储设备的使用***,获取地址索引和擦写次数计数位,更新数据时,将擦写次数计数位增加1,通过判断擦写次数计数位是否小于擦写次数阈值,若小于,则将数据和新的擦写次数计数位更新到地址索引对应的页中,若擦写次数计数位不小于擦写次数阈值,则将擦写次数计数位赋值为1,再判断地址索引是否小于总页数减2的值,若是,则将地址索引加2后,将数据和擦写次数计数位更新到新的地址索引所对应的页中,若否,则将地址索引赋值为2,将数据和擦写次数计数位更新到新的地址索引所对应的页中,通过将擦写次数达到擦写次数阈值时,将数据更新到其他页,这样重复使用不同的数据页,避免了每次擦写针对同一页而导致该页擦写次数达到最大擦写次数而损坏,延长了存储设备的使用寿命。
图5为另一个实施例中存储设备的使用***的结构框图。如图5所示,一种存储设备的使用***,除了包括获取模块410、自增模块420、判断模块430、第一更新模块440和第二更新模块450,还包括备份模块460。其中:
备份模块460用于将该第零页中的数据备份在第一页中。
获取模块410还用于上电初始化读取第零页或第一页,从该第零页或第一页中获取地址索引,再获取该地址索引所对应的页,从该页中读取擦除次数计数位。
本实施例中,获取模块410还用于上电初始化读取第零页,从该第零页读取地址索引,判断读取地址索引是否成功;
若从该第零页中读取地址索引成功,则读取该地址索引所对应的页中的擦除次数计数位,判断读取擦除次数计数位是否成功,若读取擦除次数计数位成功,则结束,若读取擦除次数计数位失败,则读取该地址索引加1所对应的页中的擦除次数计数位,再判断读取擦除次数计数位是否成功,若读取擦除次数计数位成功,则将该地址索引加1所对应的页中的数据更新该地址索引所对应的页中的数据,若读取擦除次数计数位失败,则结束;
若从该第零页中读取地址索引失败,则从第一页读取地址索引,判断读取地址索引是否成功,若是,则将该第一页的数据更新第零页的数据,读取该地址索引所对应的页中的擦除次数计数位,判断读取擦除次数计数位是否成功,若读取擦除次数计数位成功,则结束,若读取擦除次数计数位失败,则读取该地址索引加1所对应的页中的擦除次数计数位,再判断读取擦除次数计数位是否成功,若读取擦除次数计数位成功,则将该地址索引加1所对应的页中的数据更新该地址索引所对应的页中的数据,若读取擦除次数计数位失败,则结束。
图6为另一个实施例中存储设备的使用***的结构框图。如图5所示,一种存储设备的使用***,除了包括获取模块410、自增模块420、判断模块430、第一更新模块440和第二更新模块450,还包括分页模块470。其中:
分页模块470用于将存储设备的数据区域进行分页处理。
在其他实施例中,存储设备的使用***可包括获取模块410、自增模块420、判断模块430、第一更新模块440、第二更新模块450、备份模块460和分页模块470中任意可能的组合。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种存储设备的使用方法,其特征在于,包括以下步骤:
上电初始化读取第零页,从所述第零页读取地址索引,判断读取地址索引是否成功;
若从所述第零页中读取地址索引成功,则读取所述地址索引所对应的页中的擦写次数计数位,判断读取擦写次数计数位是否成功,若读取擦写次数计数位成功,则结束,若读取擦写次数计数位失败,则读取所述地址索引加1所对应的页中的擦写次数计数位,再判断读取擦写次数计数位是否成功,若读取擦写次数计数位成功,则将所述地址索引加1所对应的页中的数据更新所述地址索引所对应的页中的数据,若读取擦写次数计数位失败,则结束;
若从所述第零页中读取地址索引失败,则从第一页读取地址索引,判断读取地址索引是否成功,若是,则将所述第一页的数据更新第零页的数据,读取所述地址索引所对应的页中的擦写次数计数位,判断读取擦写次数计数位是否成功,若读取擦写次数计数位成功,则结束,若读取擦写次数计数位失败,则读取所述地址索引加1所对应的页中的擦写次数计数位,再判断读取擦写次数计数位是否成功,若读取擦写次数计数位成功,则将所述地址索引加1所对应的页中的数据更新所述地址索引所对应的页中的数据,若读取擦写次数计数位失败,则结束;
当更新存储设备的页中的数据时,将擦写次数计数位增加1得到新的擦写次数计数位;
判断新的擦写次数计数位是否小于擦写次数阈值;
若新的擦写次数计数位小于擦写次数阈值,则将数据和新的擦写次数计数位更新到所述地址索引所对应的页中和所述地址索引加1所对应的页中;
若新的擦写次数计数位不小于擦写次数阈值,则将擦写次数计数位赋值为1,并擦除所述地址索引所对应的页中的数据和所述地址索引加1所对应的页中的数据,再判断所述地址索引是否小于总页数减2,若是,则将所述地址索引加2,作为新的地址索引,若否,则将所述地址索引赋值为2,作为新的地址索引;以及将数据和擦写次数计数位更新到所述新的地址索引所对应的页中和所述新的地址索引加1所对应的页中,并将所述新的地址索引更新到第零页和第一页。
2.根据权利要求1所述的存储设备的使用方法,其特征在于,所述总页数是指存储设备进行分页处理后所划分的总的页数。
3.根据权利要求1所述的存储设备的使用方法,其特征在于,所述方法还包括:将所述第零页中的数据备份在第一页中。
4.根据权利要求1所述的存储设备的使用方法,其特征在于,所述方法还包括:
将存储设备的数据区域进行分页处理。
5.一种存储设备的使用***,其特征在于,包括:
获取模块,用于上电初始化读取第零页,从所述第零页读取地址索引,判断读取地址索引是否成功;
若从所述第零页中读取地址索引成功,则读取所述地址索引所对应的页中的擦写次数计数位,判断读取擦写次数计数位是否成功,若读取擦写次数计数位成功,则结束,若读取擦写次数计数位失败,则读取所述地址索引加1所对应的页中的擦写次数计数位,再判断读取擦写次数计数位是否成功,若读取擦写次数计数位成功,则将所述地址索引加1所对应的页中的数据更新所述地址索引所对应的页中的数据,若读取擦写次数计数位失败,则结束;
若从所述第零页中读取地址索引失败,则从第一页读取地址索引,判断读取地址索引是否成功,若是,则将所述第一页的数据更新第零页的数据,读取所述地址索引所对应的页中的擦写次数计数位,判断读取擦写次数计数位是否成功,若读取擦写次数计数位成功,则结束,若读取擦写次数计数位失败,则读取所述地址索引加1所对应的页中的擦写次数计数位,再判断读取擦写次数计数位是否成功,若读取擦写次数计数位成功,则将所述地址索引加1所对应的页中的数据更新所述地址索引所对应的页中的数据,若读取擦写次数计数位失败,则结束;
自增模块,用于当更新存储设备的页中的数据时,将擦写次数计数位增加1得到新的擦写次数计数位;
判断模块,用于判断新的擦写次数计数位是否小于擦写次数阈值;
第一更新模块,用于若新的擦写次数计数位小于擦写次数阈值,则将数据和新的擦写次数计数位更新到所述地址索引所对应的页中和所述地址索引加1所对应的页中;
第二更新模块,用于若新的擦写次数计数位不小于擦写次数阈值,则将擦写次数计数位赋值为1,并擦除所述地址索引所对应的页中的数据和所述地址索引加1所对应的页中的数据,再判断所述地址索引是否小于总页数减2,若是,则将所述地址索引加2,作为新的地址索引,若否,则将所述地址索引赋值为2,作为新的地址索引,以及将数据和擦写次数计数位更新到所述新的地址索引所对应的页中和所述新的地址索引加1所对应的页中,并将所述新的地址索引更新到第零页和第一页。
6.根据权利要求5所述的存储设备的使用***,其特征在于,所述总页数是指存储设备进行分页处理后所划分的总的页数。
7.根据权利要求5所述的存储设备的使用***,其特征在于,所述***还包括:
备份模块,用于将所述第零页中的数据备份在第一页中。
8.根据权利要求5所述的存储设备的使用***,其特征在于,所述***还包括:
分页模块,用于将存储设备的数据区域进行分页处理。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述的方法的步骤。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
CN201510979983.2A 2015-12-23 2015-12-23 存储设备的使用方法和*** Active CN106909512B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510979983.2A CN106909512B (zh) 2015-12-23 2015-12-23 存储设备的使用方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510979983.2A CN106909512B (zh) 2015-12-23 2015-12-23 存储设备的使用方法和***

Publications (2)

Publication Number Publication Date
CN106909512A CN106909512A (zh) 2017-06-30
CN106909512B true CN106909512B (zh) 2021-08-13

Family

ID=59200537

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510979983.2A Active CN106909512B (zh) 2015-12-23 2015-12-23 存储设备的使用方法和***

Country Status (1)

Country Link
CN (1) CN106909512B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107863127A (zh) * 2017-10-31 2018-03-30 杭州迪普科技股份有限公司 一种存储设备存储单元选择方法及装置
CN108334279B (zh) * 2017-12-26 2021-04-06 金卡智能集团股份有限公司 基于负载均衡模式的数据读写方法
CN112233715B (zh) * 2019-07-15 2024-06-18 美光科技公司 用于存储器***的维护操作

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI455131B (zh) * 2010-04-16 2014-10-01 Silicon Motion Inc 記憶體之資料寫入方法及資料儲存裝置
CN102135942B (zh) * 2010-12-31 2013-04-24 北京握奇数据***有限公司 一种存储设备中实现损耗均衡的方法及存储设备
US9009428B2 (en) * 2011-07-08 2015-04-14 Hewlett-Packard Development Company, L.P. Data store page recovery
CN102394114B (zh) * 2011-11-14 2014-01-01 清华大学 具有自适应纠错能力的bch码纠错方法
KR101365704B1 (ko) * 2012-03-30 2014-02-24 유비벨록스(주) 플래시 기반 메모리를 관리하기 위한 방법
US9384125B2 (en) * 2012-06-18 2016-07-05 Silicon Motion Inc. Method for accessing flash memory having pages used for data backup and associated memory device
CN103064792A (zh) * 2012-12-26 2013-04-24 北京创毅讯联科技股份有限公司 数据写入方法及装置
CN104111897B (zh) * 2013-04-16 2017-06-13 华为技术有限公司 一种数据处理方法、装置及计算机***
CN103914393B (zh) * 2014-04-11 2017-01-11 四川华拓光通信股份有限公司 一种基于mcu的flash不丢失更新存储方法

Also Published As

Publication number Publication date
CN106909512A (zh) 2017-06-30

Similar Documents

Publication Publication Date Title
US9645894B2 (en) Data storage device and flash memory control method
US10552311B2 (en) Recovery for non-volatile memory after power loss
CN110175001B (zh) 一种nor-flash数据存储方法、计算机设备及存储介质
US8775874B2 (en) Data protection method, and memory controller and memory storage device using the same
US8453021B2 (en) Wear leveling in solid-state device
US9292432B2 (en) Garbage collection method for flash memory
US8392649B2 (en) Memory storage device, controller, and method for responding to host write commands triggering data movement
US9582416B2 (en) Data erasing method, memory control circuit unit and memory storage apparatus
CN102890656B (zh) 提高flash使用寿命的方法
US10762972B2 (en) Method and apparatus for processing data in flash memory
US10635527B2 (en) Method for processing data stored in a memory device and a data storage device utilizing the same
CN108897492B (zh) 一种数据写入方法和装置
US9569126B2 (en) Data storage device and flash memory control method
CN107632943B (zh) 一种固态硬盘数据保护的方法及固态硬盘
US11614885B2 (en) Data processing method for improving access performance of memory device and data storage device utilizing the same
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
CN106909512B (zh) 存储设备的使用方法和***
US9990152B1 (en) Data writing method and storage controller
KR20170086840A (ko) 데이터 저장 장치 및 그것의 동작 방법
JP6717894B2 (ja) メモリデバイスにおけるリフレッシュ管理を実行するための方法、関連するメモリデバイス及びそのコントローラ
US20160124650A1 (en) Data Storage Device and Flash Memory Control Method
US10007601B2 (en) Data storage device and operating method for flash memory
CN110865772A (zh) 保护***数据物理块擦除计数值的方法、装置、计算机设备及存储介质
CN105335095B (zh) 闪存文件***的处理方法及装置
CN112988037A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230710

Address after: B2, Floor 20, Yanxiang Science and Technology Building, No. 31, Gaoxin Middle Fourth Road, Maling Community, Yuehai Street, Nanshan District, Shenzhen, Guangdong 518057

Patentee after: Shenzhen Jiuniuyimao Intelligent Internet of Things Technology Co.,Ltd.

Address before: 518107 5th floor, No.1, Yanxiang Zhigu chuangxiangdi, No.11, Gaoxin Road, Guangming New District, Shenzhen City, Guangdong Province

Patentee before: EVOC INTELLIGENT TECHNOLOGY Co.,Ltd.