CN108614665B - 基于NAND flash的映射表数据更新方法和装置 - Google Patents

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

Info

Publication number
CN108614665B
CN108614665B CN201611130060.0A CN201611130060A CN108614665B CN 108614665 B CN108614665 B CN 108614665B CN 201611130060 A CN201611130060 A CN 201611130060A CN 108614665 B CN108614665 B CN 108614665B
Authority
CN
China
Prior art keywords
updating
data
mark
mapping table
update
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
CN201611130060.0A
Other languages
English (en)
Other versions
CN108614665A (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 Zhaoyi Innovation 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 Zhaoyi Innovation Technology Co Ltd filed Critical Beijing Zhaoyi Innovation 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

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/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 CN108614665A (zh) 2018-10-02
CN108614665B true 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 (6)

* 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 杨威锋 高可靠性固态存储设备的映射表信息的保存和恢复技术
CN106055279A (zh) * 2016-06-12 2016-10-26 浪潮(北京)电子信息产业有限公司 管理固态硬盘的地址映射表的方法、装置及固态硬盘

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9817588B2 (en) * 2015-04-10 2017-11-14 Macronix International Co., Ltd. Memory device and operating method of same

Patent Citations (6)

* 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 威盛电子股份有限公司 非易失性存储装置及其操作方法
CN106055279A (zh) * 2016-06-12 2016-10-26 浪潮(北京)电子信息产业有限公司 管理固态硬盘的地址映射表的方法、装置及固态硬盘

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种优化的闪存地址映射方法;张 琦 等;《软件学报》;20151201;第25卷(第2期);全文 *

Also Published As

Publication number Publication date
CN108614665A (zh) 2018-10-02

Similar Documents

Publication Publication Date Title
CN104572229B (zh) 嵌入式系统的固件升级方法以及固件升级装置
CN105930236A (zh) 一种基于BMS Bootloader升级的应用程序版本回退方法
CN103902399B (zh) 软件系统修复处理方法及装置
RU2653254C1 (ru) Способ, узел и система управления данными для кластера базы данных
CN105760165B (zh) 一种mcu自我备份加载刷新的方法
KR20170040734A (ko) 업데이트 제어 방법을 갖는 전자 시스템 및 그것의 동작 방법
WO2017000567A1 (zh) 一种实现bootrom升级的方法及装置
CN104536841B (zh) 一种Android系统Data分区自修复方法及系统
CN104714757A (zh) 更新装置和电子设备
CN116360831A (zh) 一种应用程序升级方法、装置、电子设备及存储介质
CN111026417A (zh) 一种嵌入式设备的升级方法及嵌入式设备
CN103514063A (zh) 一种flash数据处理方法以及装置
CN108614665B (zh) 基于NAND flash的映射表数据更新方法和装置
CN111124294B (zh) 一种扇区映射信息的管理方法及装置、存储介质和设备
CN116909607A (zh) 程序升级方法、装置、计算机设备、存储介质和程序产品
CN107908500B (zh) 一种坏块识别方法及装置
CN102402447A (zh) 设备启动方法和设备
CN110688135A (zh) 一种控制器的程序刷写方法、装置及介质
CN106250266B (zh) 一种系统的修复方法及装置
CN107025073B (zh) 一种NAND FLASH阵列Mapping信息存储方法
CN113190244A (zh) 无线模组升级的方法、装置、计算机设备和存储介质
CN105938417B (zh) 更新配置数据的方法及装置
CN116560700B (zh) 芯片固件升级系统
US20140089356A1 (en) Data storage device and operating method thereof
CN106326037B (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