CN108614665A - 基于NANDflash的映射表数据更新方法和装置 - Google Patents

基于NANDflash的映射表数据更新方法和装置 Download PDF

Info

Publication number
CN108614665A
CN108614665A CN201611130060.0A CN201611130060A CN108614665A CN 108614665 A CN108614665 A CN 108614665A CN 201611130060 A CN201611130060 A CN 201611130060A CN 108614665 A CN108614665 A CN 108614665A
Authority
CN
China
Prior art keywords
update
data
block
mapping table
table data
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
CN201611130060.0A
Other languages
English (en)
Other versions
CN108614665B (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.)
Zhaoyi Innovation Technology Group Co ltd
Original Assignee
Beijing Jingcun 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 Beijing Jingcun Technology Co Ltd filed Critical Beijing Jingcun Technology Co Ltd
Priority to CN201611130060.0A priority Critical patent/CN108614665B/zh
Publication of CN108614665A publication Critical patent/CN108614665A/zh
Application granted granted Critical
Publication of CN108614665B publication Critical patent/CN108614665B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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

本发明实施例公开了一种基于NAND flash的映射表数据更新方法和装置,其中,基于NAND flash的映射表数据更新方法包括:建立更新起始标志和更新结束标志,并在存储设备重启后,根据更新结束标志的存在与否,完善数据更新的相关操作。本发明实施例通过在NAND flash的映射表数据更新过程中建立更新起始标志和更新结束标志,进而在更新中断后,仅需对更新起始标志和更新结束标志进行查找,即可判断更新操作是否完成,进而及时完善更新操作。解决现有技术中由于设备掉电或其他故障造成映射表数据更新不及时从而与用户数据不一致的问题,提高了更新效率,进而保证用户数据与表数据的一致性,从而避免了因数据不一致引发的其他错误。

Description

基于NAND flash的映射表数据更新方法和装置
技术领域
本发明实施例涉及存储器技术,尤其涉及一种基于NAND flash的映射表数据更新方法和装置。
背景技术
NAND flash是Flash内存的一种,属于非易失性存储设备。
NAND flash存储设备中包含很多存储单元,每个存储单元包含很多数据块,用于保存用户数据,此外,存储设备中还需要保存管理这些数据块和用户数据的管理数据,如映射表、索引表、数据块状态、数据块擦除次数等数据,其中,映射表是记载用户数据的逻辑地址与物理地址映射关系的表。使用时,可以将这些管理数据称作表数据,将存储这些表数据的数据块称作表块。
为了确保存储设备读取数据的正确性,存储设备中的固件程序需要保证用户数据与表数据的一致性。但是,由于用户数据和表数据的更新不能同时进行,而且表数据中的映射表通常包含好几页数据,因此,在映射表数据更新时一旦设备掉电或发生其他故障,则无法继续进行更新,从而造成映射表数据与用户数据不一致的问题。
发明内容
本发明实施例提供一种基于NAND flash的映射表数据更新方法和装置,以解决现有技术中由于设备掉电或其他故障造成映射表数据更新不及时从而与用户数据不一致的问题。
第一方面,本发明实施例提供了一种基于NAND flash的映射表数据更新方法,应用于NAND flash存储设备,所述存储设备包括数据块和表块,所述表块中存储所述映射表数据,该包括:
在映射表数据更新开始时,建立更新起始标志,并将更新起始标志保存到所述映射表数据在所述表块中的更新起始位置;
在所述映射表数据更新结束时,建立更新结束标志,并将更新结束标志保存到所述映射表数据在所述表块中的更新结束位置;
在所述存储设备重启后,查找所述表块中最后写入的数据是否是所述更新结束标志;
若不是所述更新结束标志,则重新建立所述更新起始标志,获取当前操作数据块,对所述当前操作数据块对应的映射表数据进行更新,并在更新结束时,建立所述更新结束标志。
第二方面,本发明实施例还提供了一种基于NAND flash的映射表数据更新装置,应用于NAND flash存储设备,所述存储设备包括数据块和表块,所述表块中存储所述映射表数据,该装置包括:
起始标志建立模块,用于在映射表数据更新开始时,建立更新起始标志,并将更新起始标志保存到所述映射表数据在所述表块中的更新起始位置;
结束标志建立模块,用于在所述映射表数据更新结束时,建立更新结束标志,并将更新结束标志保存到所述映射表数据在所述表块中的更新结束位置;
结束标志查找模块,用于在所述存储设备重启后,查找所述表块中最后写入的数据是否是所述更新结束标志;
所述起始标志建立模块,还用于若所述结束标志查找模块确定所述表块中最后写入的数据不是所述更新结束标志,则重新建立所述更新起始标志,获取当前操作数据块;
数据更新模块,用于对所述当前操作数据块对应的映射表数据进行更新。
本发明实施例通过在NAND flash的映射表数据更新过程中建立更新起始标志和更新结束标志,进而在更新中断后,仅需对更新起始标志和更新结束标志进行查找,即可判断更新操作是否完成,进而及时完善更新操作,解决现有技术中由于设备掉电或其他故障造成映射表数据更新不及时从而与用户数据不一致的问题,提高了更新效率,进而保证用户数据与表数据的一致性,从而避免了因数据不一致引发的其他错误。
附图说明
图1是本发明实施例一中的一种基于NAND flash的映射表数据更新方法的流程图;
图2是本发明实施例二中的一种基于NAND flash的映射表数据更新装置的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一中的一种基于NAND flash的映射表数据更新方法的流程图,本实施例可适用于NAND flash的数据更新操作,应用于NAND flash存储设备,该存储设备包括数据块和表块,表块中存储映射表数据,该方法可以由基于NAND flash的映射表数据更新装置来执行,该装置可以配置于存储设备的固件中。
本发明实施例一的基于NAND flash的映射表数据更新方法该方法具体包括:
S110、在映射表数据更新开始时,建立更新起始标志,并将更新起始标志保存到映射表数据在表块中的更新起始位置。
表块中的表数据包括映射表数据,映射表数据是记载用户数据的逻辑地址与物理地址映射关系的表。当用户数据发生改变时,需要同时更新映射表数据,从而保证用户数据与映射表数据的一致性。
具体的,当固件接收到映射表数据更新指令后,会开始更新操作。在映射表数据更新开始时,建立更新起始标志,并将更新起始标志保存到映射表数据在表块中的更新起始位置。
S120、在映射表数据更新结束时,建立更新结束标志,并将更新结束标志保存到映射表数据在表块中的更新结束位置。
S130、在存储设备重启后,查找表块中最后写入的数据是否是所述更新结束标志。
在更新过程中,设备会发生掉电或其他故障,使更新操作无法继续进行。由于方法中更新起始标志和更新结束标志在正常运行下会成对的建立,因此在设备重启后,查找表块中最后写入的数据是否是更新结束标志,即可判断故障是否影响到映射表数据更新过程。因此,需要在存储设备重启后查找最后写入的数据是否是更新结束标志。
具体判断过程为:查找的数据包括表块中最新数据,由于每次更新都是一个完整的过程,那么每次正常更新之后,表块中存储的最新数据必然是更新结束标志,若不是,则表示上一次更新未完成。
具体实施过程中,该步骤会发生在设备重启之后,此时,固件软件会初始化,在初始化阶段,就可以执行该步骤。
S140、若不是更新结束标志,则重新建立更新起始标志,获取当前操作数据块。
设备按照一定的顺序对数据块进行写入操作,因此,设备发生故障重启后,固件会利用现有算法得知更新操作中断时正在执行写入操作的数据块,进而从当前操作数据块的数据开始更新。
S150、对当前操作数据块对应的映射表数据进行更新,并在更新结束时,建立更新结束标志。
更新结束后,会在映射表数据对应的位置建立更新结束标志,以防止对已更新的数据再次更新。
本实施例通过在NAND flash的映射表数据更新过程中建立更新起始标志和更新结束标志,进而在更新中断后,仅需对更新结束标志进行查找,即可判断更新操作是否完成,进而及时完善更新操作,解决现有技术中由于设备掉电或其他故障造成映射表数据更新不及时从而与用户数据不一致的问题,提高了更新效率,进而保证用户数据与表数据的一致性,从而避免了因数据不一致引发的其他错误。
实施例二
图2是本发明实施例二中的一种基于NAND flash的映射表数据更新装置的结构示意图,应用于NAND flash存储设备,该存储设备包括数据块和表块,该表块中存储映射表数据。如图2所示,该装置包括起始标志建立模块210、结束标志建立模块220、结束标志查找模块230和数据更新模块240,其中,
起始标志建立模块210,用于在映射表数据更新开始时,建立更新起始标志,并将更新起始标志保存到所述映射表数据在所述表块中的更新起始位置;
结束标志建立模块220,用于在所述映射表数据更新结束时,建立更新结束标志,并将更新结束标志保存到所述映射表数据在所述表块中的更新结束位置;
结束标志查找模块230,用于在所述存储设备重启后,查找所述表块中最后写入的数据是否是所述更新结束标志;
所述起始标志建立模块210,还用于若所述结束标志查找模块确定所述表块中最后写入的数据不是所述更新结束标志,则重新建立所述更新起始标志,获取当前操作数据块;
数据更新模块240,用于对所述当前操作数据块对应的映射表数据进行更新。
本实施例通过在NAND flash的映射表数据更新过程中建立更新起始标志和更新结束标志,进而在更新中断后,仅需对更新起始标志和更新结束标志进行查找,即可判断更新操作是否完成,进而及时完善更新操作。解决现有技术中由于设备掉电或其他故障造成映射表数据更新不及时从而与用户数据不一致的问题,提高了更新效率,进而保证用户数据与表数据的一致性,从而避免了因数据不一致引发的其他错误。
本发明实施例提供的基于NAND flash的映射表数据更新装置可执行本发明任意实施例提供的基于NAND flash的映射表数据更新方法,具备执行方法相应的功能模块和有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (2)

1.一种基于NAND flash的映射表数据更新方法,应用于NAND flash存储设备,所述存储设备包括数据块和表块,所述表块中存储所述映射表数据,其特征在于,所述方法包括:
在映射表数据更新开始时,建立更新起始标志,并将更新起始标志保存到所述映射表数据在所述表块中的更新起始位置;
在所述映射表数据更新结束时,建立更新结束标志,并将更新结束标志保存到所述映射表数据在所述表块中的更新结束位置;
在所述存储设备重启后,查找所述表块中最后写入的数据是否是所述更新结束标志;
若不是所述更新结束标志,则重新建立所述更新起始标志,获取当前操作数据块;
对所述当前操作数据块对应的映射表数据进行更新,并在更新结束时,建立所述更新结束标志。
2.一种基于NAND flash的映射表数据更新装置,应用于NAND flash存储设备,所述存储设备包括数据块和表块,所述表块中存储所述映射表数据,其特征在于,所述装置包括:
起始标志建立模块,用于在映射表数据更新开始时,建立更新起始标志,并将更新起始标志保存到所述映射表数据在所述表块中的更新起始位置;
结束标志建立模块,用于在所述映射表数据更新结束时,建立更新结束标志,并将更新结束标志保存到所述映射表数据在所述表块中的更新结束位置;
结束标志查找模块,用于在所述存储设备重启后,查找所述表块中最后写入的数据是否是所述更新结束标志;
所述起始标志建立模块,还用于若所述结束标志查找模块确定所述表块中最后写入的数据不是所述更新结束标志,则重新建立所述更新起始标志,获取当前操作数据块;
数据更新模块,用于对所述当前操作数据块对应的映射表数据进行更新。
CN201611130060.0A 2016-12-09 2016-12-09 基于NAND flash的映射表数据更新方法和装置 Active CN108614665B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611130060.0A CN108614665B (zh) 2016-12-09 2016-12-09 基于NAND flash的映射表数据更新方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611130060.0A CN108614665B (zh) 2016-12-09 2016-12-09 基于NAND flash的映射表数据更新方法和装置

Publications (2)

Publication Number Publication Date
CN108614665A true CN108614665A (zh) 2018-10-02
CN108614665B CN108614665B (zh) 2021-04-02

Family

ID=63643316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611130060.0A Active CN108614665B (zh) 2016-12-09 2016-12-09 基于NAND flash的映射表数据更新方法和装置

Country Status (1)

Country Link
CN (1) CN108614665B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101784993A (zh) * 2007-08-24 2010-07-21 三星电子株式会社 使用闪存作为存储器的设备及其操作方法
CN101794261A (zh) * 2009-11-24 2010-08-04 深圳市硅格半导体有限公司 映射表数据恢复方法及装置
CN103064641A (zh) * 2013-02-05 2013-04-24 威盛电子股份有限公司 非易失性存储装置及其操作方法
CN103136116A (zh) * 2011-12-05 2013-06-05 财团法人工业技术研究院 存储器存储系统及其中控装置、管理方法与断电恢复方法
CN103902406A (zh) * 2012-12-31 2014-07-02 杨威锋 高可靠性固态存储设备的映射表信息的保存和恢复技术
US20160299710A1 (en) * 2015-04-10 2016-10-13 Macronix International Co., Ltd Memory device and operating method of same
CN106055279A (zh) * 2016-06-12 2016-10-26 浪潮(北京)电子信息产业有限公司 管理固态硬盘的地址映射表的方法、装置及固态硬盘

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101784993A (zh) * 2007-08-24 2010-07-21 三星电子株式会社 使用闪存作为存储器的设备及其操作方法
CN101794261A (zh) * 2009-11-24 2010-08-04 深圳市硅格半导体有限公司 映射表数据恢复方法及装置
CN103136116A (zh) * 2011-12-05 2013-06-05 财团法人工业技术研究院 存储器存储系统及其中控装置、管理方法与断电恢复方法
CN103902406A (zh) * 2012-12-31 2014-07-02 杨威锋 高可靠性固态存储设备的映射表信息的保存和恢复技术
CN103064641A (zh) * 2013-02-05 2013-04-24 威盛电子股份有限公司 非易失性存储装置及其操作方法
US20160299710A1 (en) * 2015-04-10 2016-10-13 Macronix International Co., Ltd Memory device and operating method of same
CN106055279A (zh) * 2016-06-12 2016-10-26 浪潮(北京)电子信息产业有限公司 管理固态硬盘的地址映射表的方法、装置及固态硬盘

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张 琦 等: "一种优化的闪存地址映射方法", 《软件学报》 *

Also Published As

Publication number Publication date
CN108614665B (zh) 2021-04-02

Similar Documents

Publication Publication Date Title
CN104572229B (zh) 嵌入式系统的固件升级方法以及固件升级装置
CN106155915B (zh) 数据存储的处理方法及装置
CN104881333A (zh) 一种存储系统及其使用的方法
CN106445643B (zh) 克隆、升级虚拟机的方法及设备
CN103902399B (zh) 软件系统修复处理方法及装置
CN103412824B (zh) 写时拷贝快照方法及装置
CN107908417B (zh) 固件升级方法及电子设备
CN107329792B (zh) 一种Docker容器启动方法及装置
CN104765628A (zh) 一种移动终端更新触摸屏固件的方法及系统
CN106502718B (zh) 程序的升级方法和装置、控制器
CN105867962A (zh) 系统升级的方法和装置
CN105868047A (zh) 数据分区的修复方法、装置及终端
CN107871415B (zh) 云教室课程切换方法、装置和系统
CN116360831A (zh) 一种应用程序升级方法、装置、电子设备及存储介质
CN104536841A (zh) 一种Android系统Data分区自修复方法及系统
US9786373B2 (en) EEPROM backup method and device
CN106201584A (zh) 版本升级方法及终端设备
CN108614665A (zh) 基于NANDflash的映射表数据更新方法和装置
CN113220319A (zh) 一种数据更新方法、装置及车辆
CN109597639B (zh) 一种软件升级方法、装置、设备及介质
CN107908500B (zh) 一种坏块识别方法及装置
CN114201458B (zh) 一种信息更新方法、微服务系统及计算机可读存储介质
CN107229650B (zh) 测试方法及装置
EP3503479A1 (en) Flow entry management method and device
CN113190244A (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: 20200825

Address after: 100083 Beijing City, Haidian District Xueyuan Road No. 30, large industrial building A block 12 layer

Applicant after: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc.

Address before: 202, room 52, building 2, 100176 North View Garden, Daxing District economic and Technological Development Zone, Beijing

Applicant before: BEIJING JINGCUN TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094

Patentee after: Zhaoyi Innovation Technology Group Co.,Ltd.

Address before: 100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing

Patentee before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc.

CP03 Change of name, title or address