CN111142792B - 一种存储装置的掉电保护方法 - Google Patents
一种存储装置的掉电保护方法 Download PDFInfo
- Publication number
- CN111142792B CN111142792B CN201911299445.3A CN201911299445A CN111142792B CN 111142792 B CN111142792 B CN 111142792B CN 201911299445 A CN201911299445 A CN 201911299445A CN 111142792 B CN111142792 B CN 111142792B
- Authority
- CN
- China
- Prior art keywords
- data
- log
- flush tag
- system data
- stored
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000013500 data storage Methods 0.000 claims abstract description 24
- 238000011084 recovery Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 4
- 238000007726 management method Methods 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 3
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/148—Details of power up or power down circuits, standby circuits or recovery circuits
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Human Computer Interaction (AREA)
- Power Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明适用于数据存储安全技术领域,提供了一种存储装置的掉电保护方法。一种存储装置的掉电保护方法,该方法包括:数据存储过程分割为Flush Tag阶段;Flush Tag结束前完整保存数据;Flush Tag结束时生成并保存日志;Flush Tag的块预分配和限制使用;基于日志扫描最新日志并获取Flush Tag;基于该最新日志扫描并加载***数据;基于该最新日志获取块资源,扫描并恢复有效主机数据和***数据。本发明可以提高数据存储的安全性,并确保在极端无电容情况下保护数据的完整性和一致性。
Description
技术领域
本发明适用于数据存储安全技术领域,提供了一种存储装置的掉电保护方法。
背景技术
鉴于Host以Sector为最小读写单元,而NAND以Page(常见为16KB)为读写单元,并无法复写的特性,FTL成为了主流技术实现主机命令逻辑地址至物理地址的映射。以NAND为例的多种NVM介质的存储设备,除了需要完整的保存主机读写的数据以外,还需要保存FTL在内的各种***数据。
主机电源故障、带电插拔等异常掉电事件发生时,有效的数据保护需要保存Cache中的完整主机数据和用户数据,两者缺一不可。
传统的技术方案,异常掉电时,需要借助电容或电池等续航,同步存储Cache中的主机数据和用户数据;并在再次上电时,对主机数据和用户数据实际存储的情况做对齐操作,以避免发生数据部分丢失或数据出错等问题。其异常掉电时需要存储的数据量多,并且上电重建操作复杂,耗时长。
发明内容
本发明旨在针对上述问题,提出一种不依赖于电容或电池续航能力,保护写入NVM的主机数据和对应***数据的方法,以及快速启动的方法。
本发明的技术方案在于:
一种存储装置的掉电保护方法,存储的数据包括主机数据和***数据;该方法如下:
数据存储阶段:
(1)数据存储过程被分割成不同Flush Tag号的阶段,且每个阶段的结束点均确保数据被完整地存储在NVM中;
(2)上述每个Flush Tag的数据存储完成后,会对应生成日志,该日志也存储在NVM中;其中,数据以及日志在NVM中有其对应的存储区域,主机数据存储于主机数据存储区域,***数据存储于***数据存储区域,日志存储于日志存储区域;
(3)在本Flush Tag阶段内,主机数据仅可以被存储在其对应的可用的块资源中;当可用的块资源用尽时,会触发结束本Flush Tag阶段;为后一个Flush Tag阶段分配的Flush Tag必须大于前一个Flush Tag阶段的Flush Tag;
数据恢复阶段:
(4)存储装置上电时,在日志存储区域扫描日志,确定最新的日志和其对应的Flush Tag;在确定最新的日志后,基于该最新的日志及其对应的Flush Tag,在***数据存储区域中扫描该最新的日志所对应的***数据,获得其***数据的有效存储位置;
(5)扫描上述获得的***数据的有效存储位置,读取并加载各***表项,完成对该最新的日志及其对应的Flush Tag阶段结束点的完整***数据的恢复;
(6)读取下一个Flush Tag的块资源信息,在该块资源范围中扫描是否存在有效主机数据;若无主机数据,则无需更新***数据;若存在有效主机数据,则恢复该主机数据对应的该***数据;
(7)***数据恢复完成,上电处理完毕。
优选地,所述***数据包括FTL、BBT等所有主机数据以外的有用数据,包含并不局限于: NVM资源管理数据、 NVM中的坏块数据、 NVM中有效/无效page的标识、 NVM使用寿命数据、映射表数据及***运行数据。
优选地,所述NVM为非易失性存储器,包括并不局限于NOR、NAND、MRAM及PCM。
优选地,所述存储的主机数据和***数据中均包含其对应的Flush Tag。用以确认其归属于哪个Flush Tag。
优选地,所述每个Flush Tag阶段可用的块资源,在前一个Flush Tag的日志生成时被预分配,并存储在NVM中。
优选地,所述主机数据在存储时均会包含其对应的***数据的摘要。该***数据摘要用于描述该主机数据的对应***数据信息,包括并不限于主机数据的对应逻辑地址。
本发明的技术效果在于:
本发明提出的方法将数据存储过程分割为Flush Tag阶段;Flush Tag结束前完整保存数据;Flush Tag结束时生成并保存日志;Flush Tag的块预分配和限制使用;基于日志扫描最新日志并获取Flush Tag;基于该最新日志扫描并加载***数据;基于该最新日志获取块资源,扫描并恢复有效主机数据和***数据。本发明可以提高数据存储的安全性,并确保在极端无电容情况下保护数据的完整性和一致性。
附图说明
图1为每个Flush Tag的日志的存储示意图。
图2为每个***数据的存储示意图。
图3为每个Flush Tag阶段分配的可用的块资源,以及其在每个Flush Tag阶段内使用过程的示意图。
图4为该存储装置上电的处理流程图。
具体实施方式
以下将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
一种存储装置的掉电保护方法,该过程如下:
数据存储阶段:
(1)数据存储过程被分割成不同Flush Tag号的阶段,且每个阶段的结束点均确保数据被完整地存储在NVM中;所述存储的主机数据和***数据中均包含其对应的FlushTag。用以确认其归属于哪个Flush Tag。所述主机数据在存储时均会包含其对应的***数据的摘要。该***数据摘要用于描述该主机数据的对应***数据信息,包括并不限于主机数据的对应逻辑地址;
(2)上述每个Flush Tag的数据存储完成后,会对应生成日志,该日志也存储在NVM中;其中,数据以及日志在NVM中有其对应的存储区域,主机数据存储于主机数据存储区域,***数据存储于***数据存储区域,日志存储于日志存储区域;
(3)在本Flush Tag阶段内,主机数据仅可以被存储在其对应的可用的块资源中;所述每个Flush Tag阶段可用的块资源,在前一个Flush Tag的日志生成时被预分配,并存储在NVM中。当可用的块资源用尽时,会触发结束本Flush Tag阶段;为后一个Flush Tag阶段分配的Flush Tag必须大于前一个Flush Tag阶段的Flush Tag;
数据恢复阶段:
(4)存储装置上电时,在日志存储区域扫描日志,确定最新的日志和其对应的Flush Tag;在确定最新的日志后,基于该最新的日志及其对应的Flush Tag,在***数据存储区域中扫描该最新的日志所对应的***数据,获得其***数据的有效存储位置;
(5)扫描上述获得的***数据的有效存储位置,读取并加载各***数据,完成对该最新的日志及其对应的Flush Tag阶段结束点的完整***数据的恢复;
(6)读取下一个Flush Tag的块资源信息,在该块资源范围中扫描是否存在有效主机数据;若无主机数据则无需更新***数据;若存在有效主机数据,则通过读取每笔数据的***数据摘要信息以恢复该主机数据对应的该***数据;
(7)***数据恢复完成,上电处理完毕。
其中,所述***数据包括FTL、BBT等所有主机数据以外的有用数据,包含并不局限于: NVM资源管理数据、 NVM中的坏块数据、 NVM中有效/无效page的标识、 NVM使用寿命数据、映射表数据及***运行数据。所述NVM为非易失性存储器,包括并不局限于NOR、NAND、MRAM及PCM。
Claims (6)
1.一种存储装置的掉电保护方法,其存储的数据包括主机数据和***数据;其特征在于:该方法如下:
数据存储阶段:
(1)数据存储过程被分割成不同Flush Tag号的阶段,且每个阶段的结束点均确保数据被完整地存储在NVM中;
(2)每个Flush Tag的数据存储完成后,会对应生成日志,该日志也存储在NVM中;其中,数据以及日志在NVM中有其对应的存储区域,主机数据存储于主机数据存储区域,***数据存储于***数据存储区域,日志存储于日志存储区域;
(3)在本Flush Tag阶段内,主机数据仅可以被存储在其对应的可用的块资源中;每个Flush Tag阶段可用的块资源,在前一个Flush Tag的日志生成时被预分配,并存储在NVM中;当可用的块资源用尽时,会触发结束本Flush Tag阶段;为后一个Flush Tag阶段分配的Flush Tag必须大于前一个Flush Tag阶段的Flush Tag;
数据恢复阶段:
(4)存储装置上电时,在日志存储区域扫描日志,确定最新的日志和其对应的FlushTag;在确定最新的日志后,基于该最新的日志及其对应的Flush Tag,在***数据存储区域中扫描该最新的日志所对应的***数据,获得其***数据的有效存储位置;
(5)扫描上述获得的***数据的有效存储位置,读取并加载各***表项,完成对该最新的日志及其对应的Flush Tag阶段结束点的完整***数据的恢复;
(6)读取下一个Flush Tag的块资源信息,在该块资源范围中扫描是否存在有效主机数据;若无主机数据,则无需更新***数据;若存在有效主机数据,则恢复该主机数据对应的该***数据;
(7)***数据恢复完成,上电处理完毕。
2.根据权利要求1所述存储装置的掉电保护方法,其特征在于:所述***数据包括所有主机数据以外的有用数据,包括NVM资源管理数据、 NVM中的坏块数据、 NVM中有效/无效page的标识、 NVM使用寿命数据、映射表数据及***运行数据。
3.根据权利要求1所述存储装置的掉电保护方法,其特征在于:所述NVM为非易失性存储器,包括NOR、NAND、MRAM及PCM。
4.根据权利要求1所述存储装置的掉电保护方法,其特征在于:所述存储的主机数据和***数据中均包含其对应的Flush Tag。
5.根据权利要求1所述存储装置的掉电保护方法,其特征在于:所述主机数据在存储时均会包含其对应的***数据的摘要信息。
6.根据权利要求1所述存储装置的掉电保护方法,其特征在于:所述(6)中,若存在有效主机数据,则读取该数据的***数据的摘要信息以恢复该***数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911299445.3A CN111142792B (zh) | 2019-12-17 | 2019-12-17 | 一种存储装置的掉电保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911299445.3A CN111142792B (zh) | 2019-12-17 | 2019-12-17 | 一种存储装置的掉电保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111142792A CN111142792A (zh) | 2020-05-12 |
CN111142792B true CN111142792B (zh) | 2022-11-22 |
Family
ID=70518550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911299445.3A Active CN111142792B (zh) | 2019-12-17 | 2019-12-17 | 一种存储装置的掉电保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111142792B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111753337B (zh) * | 2020-07-02 | 2023-02-21 | 上海电器科学研究所(集团)有限公司 | 一种储能电池管理***意外断电soc处理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102789431A (zh) * | 2012-06-29 | 2012-11-21 | 记忆科技(深圳)有限公司 | 数据保护方法和*** |
CN104035893A (zh) * | 2014-06-30 | 2014-09-10 | 浪潮(北京)电子信息产业有限公司 | 一种在计算机异常掉电时的数据保存方法 |
CN106294217A (zh) * | 2016-08-16 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种ssd***及其掉电保护方法 |
CN106502928A (zh) * | 2016-09-29 | 2017-03-15 | 华为技术有限公司 | 一种存储***掉电保护方法、存储控制器及电子设备 |
CN106776130A (zh) * | 2016-11-30 | 2017-05-31 | 华为技术有限公司 | 一种日志恢复方法、存储装置和存储节点 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7272745B2 (en) * | 2004-06-30 | 2007-09-18 | Intel Corporation | Data protection system |
US8615681B2 (en) * | 2010-12-14 | 2013-12-24 | Western Digital Technologies, Inc. | System and method for maintaining a data redundancy scheme in a solid state memory in the event of a power loss |
CN107038131A (zh) * | 2016-02-04 | 2017-08-11 | 广明光电股份有限公司 | 固态硬盘断电保护装置及方法 |
-
2019
- 2019-12-17 CN CN201911299445.3A patent/CN111142792B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102789431A (zh) * | 2012-06-29 | 2012-11-21 | 记忆科技(深圳)有限公司 | 数据保护方法和*** |
CN104035893A (zh) * | 2014-06-30 | 2014-09-10 | 浪潮(北京)电子信息产业有限公司 | 一种在计算机异常掉电时的数据保存方法 |
CN106294217A (zh) * | 2016-08-16 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种ssd***及其掉电保护方法 |
CN106502928A (zh) * | 2016-09-29 | 2017-03-15 | 华为技术有限公司 | 一种存储***掉电保护方法、存储控制器及电子设备 |
WO2018059361A1 (zh) * | 2016-09-29 | 2018-04-05 | 华为技术有限公司 | 一种存储***掉电保护方法、存储控制器及电子设备 |
CN106776130A (zh) * | 2016-11-30 | 2017-05-31 | 华为技术有限公司 | 一种日志恢复方法、存储装置和存储节点 |
Non-Patent Citations (2)
Title |
---|
A high security and efficiency protection of confidentiality and integrity for off-chip memory;Su, Yang等;《Journal of Ambient Intelligence and Humanized Computing》;20190731;第2633-2643页 * |
一种基于Nandflash的实时数据存储方案设计;李秋华等;《工业控制计算机》;20160731(第07期);第70-71页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111142792A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI444825B (zh) | 記憶體儲存裝置、記憶體控制器與資料寫入方法 | |
US9104329B2 (en) | Mount-time reconciliation of data availability | |
US10909030B2 (en) | Enhanced trim command support for solid state drives | |
CN103577121B (zh) | 一种基于Nand Flash的高可靠线性文件存取方法 | |
US7711923B2 (en) | Persistent flash memory mapping table | |
US20180275887A1 (en) | Data Storage Device and Operating Method of Data Storage Device | |
CN103577574B (zh) | 一种基于nand flash的高可靠线性文件*** | |
EP2570927B1 (en) | Handling unclean shutdowns for a system having non-volatile memory | |
TWI645404B (zh) | 資料儲存裝置以及非揮發式記憶體操作方法 | |
US10997039B2 (en) | Data storage device and operating method thereof | |
US10838629B2 (en) | Solid state device with fast boot after ungraceful shutdown | |
TW200929224A (en) | Data writing method for flash memory and controller thereof | |
US10459803B2 (en) | Method for management tables recovery | |
TWI498738B (zh) | 檔案保護方法與系統及其記憶體控制器與記憶體儲存裝置 | |
US20150074336A1 (en) | Memory system, controller and method of controlling memory system | |
TW201945935A (zh) | 整理指令記錄方法、記憶體控制電路單元與記憶體儲存裝置 | |
JP2007011872A (ja) | メモリカードとその制御方法 | |
CN111142792B (zh) | 一种存储装置的掉电保护方法 | |
TW201403323A (zh) | 記憶體儲存裝置及其修復方法 | |
CN103578566B (zh) | 存储器存储装置及其修复方法 | |
KR20190006687A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN109002265B (zh) | 一种数据处理的方法以及相关装置 | |
TWI354892B (en) | Method of immediate data update with flash memory | |
CN117093505A (zh) | 命令处理方法、日志处理方法及存储设备 | |
CN112764671A (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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A power-off protection method for storage devices Granted publication date: 20221122 Pledgee: Bank of China Limited Xi'an Chang'an District Branch Pledgor: Yaoyun Technology (Xi'an) Co.,Ltd. Registration number: Y2024610000090 |