CN118034970A - 一种固态硬盘异常掉电后L2P table的恢复方法 - Google Patents

一种固态硬盘异常掉电后L2P table的恢复方法 Download PDF

Info

Publication number
CN118034970A
CN118034970A CN202311849966.8A CN202311849966A CN118034970A CN 118034970 A CN118034970 A CN 118034970A CN 202311849966 A CN202311849966 A CN 202311849966A CN 118034970 A CN118034970 A CN 118034970A
Authority
CN
China
Prior art keywords
block
power failure
abnormal power
nand flash
solid state
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.)
Pending
Application number
CN202311849966.8A
Other languages
English (en)
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.)
Wuxi Xinming Microelectronics Co ltd
Original Assignee
Wuxi Xinming Microelectronics 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 Wuxi Xinming Microelectronics Co ltd filed Critical Wuxi Xinming Microelectronics Co ltd
Priority to CN202311849966.8A priority Critical patent/CN118034970A/zh
Publication of CN118034970A publication Critical patent/CN118034970A/zh
Priority to CN202411934721.XA priority patent/CN119938400A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供了一种固态硬盘异常掉电后L2P table的恢复方法,包括:划分L2P table为大小固定的块;记录写操作对应的LBA和Nand物理位置的对应关系到BT table中,同时更新L2P table和被更新的块位置;当BT table数据量和L2P table块被更新数据分别达到阈值后,将BT table和更新的L2P table写入Nand Flash,并更新L2P index;在出现异常掉电后,由SSD上的电容维持正常工作,将L2P index和最新的BT table写入Nand Flash;上电时,根据异常掉电时写入的L2P index所记录的位置,将L2P块读出并恢复到DRAM中;根据L2P块中记录的序号找到需要恢复的TB table并读出,将BT table中记录的LBA和Nand物理位置对应关系更新到L2P table中。本发明通过设计L2P table和相关记录,减少SSD断电前需要同步写入Nand flash的数据量,保证L2P table高效快速地恢复且保证数据正确性。

Description

一种固态硬盘异常掉电后L2P table的恢复方法
技术领域
本发明设计固态硬盘存储领域,更具体涉及一种固态硬盘异常掉电后L2P table的恢复方法。
背景技术
现今SSD一般都使用L2P table来记录LBA和Nand物理位置的映射关系,尤其针对企业级SSD,为保证性能和稳定性,需要将完整的L2P table保存在DRAM中,在SSD运行过程中根据数据写入情况实时更新L2P table。
又由于DRAM为易失性存储介质,一旦断电,DRAM的内容就会丢失不可恢复。SSD主控需要负责处理L2P table在掉电丢失后的恢复工作。此恢复工作需要在SSD下一次上电正常使用之前完成,恢复的时间会影响SSD在主机端的识别速度。此恢复时间越快越好,L2P恢复的准确性对数据的正确性也至关重要。
SSD L2P table的大小和容量的比例一般为1:1024,故对容量为4T的SSD,需要4G的DRAM来存放L2P table。随着信息技术和数据规模的快速增长,现今SSD的单盘容量越来越大(如8T、16T等),对应需要的L2P table和DRAM(8G、16G等)也越来越大。为保证L2Ptable的正确性,需在上电复位POR或突然断电恢复(SPOR)时将完整的L2P table保存到非易失性Nand Flash介质上。此过程需要比较多时间,在SPOR时SSD上需要有足够大的电容来保证将完整的L2P table写入Nand Flash。同时由于L2P table数据量变大,下一次上电时CPU需要处理的数据量越来越大,对CPU的数据处理能力越来越高。
现有技术在SSD盘上加足够的电容以维持SPOR时将完整的L2P table写入NandFlash,但此方案成本较高且电容容量有限。或在断电前由一定容量的电容维持SPOR时将部分L2Ptable写入Nand Flash同时下一次上电时由CPU按4byte一组的方式,将未及时记录到L2Ptable中的信息重新更新到Dram中,但此方案对CPU运算能力要求较高,并发能力取决于CPU数量,且需要软件程序控制CPU之间的并发和运算逻辑,增加了软件复杂度。
发明内容
本发明的目的是提供了一种固态硬盘异常掉电后L2P table的恢复方法,包括:
S1划分L2P table为大小固定的块;
S2记录写操作对应的LBA和Nand物理位置的对应关系到BT table中,同时更新L2Ptable和被更新的块位置;
S3当BT table数据量和L2P table块被更新数据分别达到阈值后,将BT table和更新的L2Ptable写入Nand Flash,并更新L2P index;
S4在出现异常掉电后,由SSD上的电容维持正常工作,将L2P index和最新的BTtable写入Nand Flash;
S5上电时,根据异常掉电时写入的L2P index所记录的位置,将L2P块读出并恢复到DRAM中;
S6根据L2P块中记录的序号找到需要恢复的TB table并读出,将BT table中记录的LBA和Nand物理位置对应关系更新到L2P table中。
在一些实施方式中,S2和S3步骤随数据写入持续发生。
在一些实施方式中,S6步骤需循环操作。
在一些实施方式中,其特征在于,所述L2P index:根据数据实时写入情况将对应的块写入Nand Flash,并在DRAM中记录该块在Nand flash的物理位置。
在一些实施方式中,所述L2P table保存在DRAM中。
在一些实施方式中,异常掉电时的L2P index记录有各个L2P块最后写入NandFlash的位置。
其有益效果为:本发明通过设计L2P table和相关记录,减少SSD断电前需要同步写入Nand flash的数据量,同时在下一次上电时加速L2P table的恢复时间,保证L2Ptable高效快速地恢复且保证数据正确性。一方面可以有效简化SSD SPOR L2P table恢复时固件程序工作,减少CPU运算量,进而减少CPU数量和使用功耗;另一方面可以提升L2Ptable恢复的效率,减少下一次上电的认盘等待时间,避免由于L2P table恢复时间过长导致认盘失败等问题。
附图说明
图1为本发明一实施方式的一种固态硬盘异常掉电后L2P table的恢复方法的更新L2P index的流程示意图;
图2为本发明一实施方式的一种固态硬盘异常掉电后L2P table的恢复方法的异常掉电前更新L2P index和BT table的流程示意图;
图3为本发明一实施方式的一种固态硬盘异常掉电后L2P table的恢复方法的上电后L2Ptable更新的流程示意图。
具体实施方式
本发明提供一种固态硬盘异常掉电后L2P table的恢复方法。
DRAM中仍然保存完整的L2P table,整个L2P table以一定的粒度划分为大小固定的块,在SSD运行过程中,根据数据实时写入的情况,动态的将对应的块写入NAND Flash,同时在DRAM中记录该块在Nand Flash的物理位置,称为L2P index。被划分的每一个块在NandFlash上都有一个最新的存储位置,对应块被更新后写入新的Nand Flash物理位置,同时也需要更新此L2P index。同时对每一笔写操作记录LAB和Nand物理位置的对应关系,称为BTtable,BT table在运行过程中也同步写入Nand Flash,BT table的大小根据SSD容量等实际情况调整,一般为几十KB。
在出现异常掉电后,仅需要将L2P index(一般为L2P table大小的1/1024,几MB)和最新的BT table(一般为几十KB)写入Nand Flash,此数据量相比于L2P table明显极少,可由SSD上的电容维持正常工作。
在SSD下一次上电时,SSD主控先找到异常掉电时写入的Index table,此IndexTable记录各个L2P块最后写入Nand Flash的位置,将所有块从Nand Flash读出并恢复到DRAM中。
通过L2P块中记录的序号搜索需要恢复的BT table。将BT table读入DRAM后,可驱动硬件电路将LBA和Nand物理位置的对应关系更新到DRAM中的L2P table。此过程由专用硬件电路完成,可以并行执行,减轻了CPU工作量,比软件操作更有效率,显著减少L2P table恢复的时间,且可以保证盘内所有数据准确性。
如图1所示,SSD运行过程中:S1、将L2P table划分为固定大小的块;S2、记录写操作对应LBA和Nand物理位置的对应关系到BT table中,同时更新L2P table和被更新的块位置;S3、当BT table数据量累积到阈值A,写入Nand flush;S4、当L2P table块被更新数据达到阈值B后,将被更新的L2P table块写入Nand Flash,同时更新L2P index。上述S2-S4步骤随主机数据写入持续发生。
如图2所示,在异常掉电后,SSD断电前:将完整的L2P index写入Nand flash(几MB);将最后未写入Nand flash的BT table(几十KB)写入Nand flash。
如图3所示,SSD下一次上电时:S1、CPU读出上一次断电前写入的L2P index;S2、CPU根据L2P index中记录的位置,以块为单位将L2P table从Nand flash读出并恢复到Dram中;S3、CPU根据L2P块中记录的序号找到所有需要恢复的BT table并读出;S4、CPU驱动硬件电路将BT table中记录的LBA和Nand物理位置对应关系更新到L2P table中。述S3和S4步骤需循环操作、可以并发执行,提高执行效率。
以上所述的仅是本发明的一些实施方式。对于本领域普通技术人员来讲,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

Claims (6)

1.一种固态硬盘异常掉电后L2P table的恢复方法,其特征在于,包括:
S1划分L2P table为大小固定的块;
S2记录写操作对应的LBA和Nand物理位置的对应关系到BT table中,同时更新L2Ptable和被更新的块位置;
S3当BT table数据量和L2P table块被更新数据分别达到阈值后,将BT table和更新的L2Ptable写入Nand Flash,并更新L2Pindex;
S4在出现异常掉电后,由SSD上的电容维持正常工作,将L2Pindex和最新的BT table写入Nand Flash;
S5上电时,根据异常掉电时写入的L2Pindex所记录的位置,将L2P块读出并恢复到DRAM中;
S6根据L2P块中记录的序号找到需要恢复的TB table并读出,将BT table中记录的LBA和Nand物理位置对应关系更新到L2P table中。
2.根据权利要求1所述的固态硬盘异常掉电后L2P table的恢复方法,其特征在于,S2和S3步骤随数据写入持续发生。
3.根据权利要求1所述的固态硬盘异常掉电后L2P table的恢复方法,其特征在于,S6步骤需循环操作。
4.根据权利要求1所述的固态硬盘异常掉电后L2P table的恢复方法,其特征在于,所述L2Pindex:根据数据实时写入情况将对应的块写入Nand Flash,并在DRAM中记录该块在Nand flash的物理位置。
5.根据权利要求1所述的固态硬盘异常掉电后L2P table的恢复方法,其特征在于,所述L2P table保存在DRAM中。
6.根据权利要求1所述的固态硬盘异常掉电后L2P table的恢复方法,其特征在于,异常掉电时的L2Pindex记录有各个L2P块最后写入Nand Flash的位置。
CN202311849966.8A 2023-12-29 2023-12-29 一种固态硬盘异常掉电后L2P table的恢复方法 Pending CN118034970A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202311849966.8A CN118034970A (zh) 2023-12-29 2023-12-29 一种固态硬盘异常掉电后L2P table的恢复方法
CN202411934721.XA CN119938400A (zh) 2023-12-29 2024-12-26 一种ssd异常掉电后l2p映射表的恢复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311849966.8A CN118034970A (zh) 2023-12-29 2023-12-29 一种固态硬盘异常掉电后L2P table的恢复方法

Publications (1)

Publication Number Publication Date
CN118034970A true CN118034970A (zh) 2024-05-14

Family

ID=90997842

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311849966.8A Pending CN118034970A (zh) 2023-12-29 2023-12-29 一种固态硬盘异常掉电后L2P table的恢复方法
CN202411934721.XA Pending CN119938400A (zh) 2023-12-29 2024-12-26 一种ssd异常掉电后l2p映射表的恢复方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202411934721.XA Pending CN119938400A (zh) 2023-12-29 2024-12-26 一种ssd异常掉电后l2p映射表的恢复方法

Country Status (1)

Country Link
CN (2) CN118034970A (zh)

Also Published As

Publication number Publication date
CN119938400A (zh) 2025-05-06

Similar Documents

Publication Publication Date Title
CN109582217B (zh) 数据储存装置与将数据写入存储器装置的方法
US10776153B2 (en) Information processing device and system capable of preventing loss of user data
US9874918B2 (en) Power interrupt management
EP2646919B1 (en) Transaction log recovery
CN105683897B (zh) 具有陈旧数据机制的数据贮存系统及其操作方法
US9703816B2 (en) Method and system for forward reference logging in a persistent datastore
US20190369892A1 (en) Method and Apparatus for Facilitating a Trim Process Using Auxiliary Tables
US20180260319A1 (en) Writing ssd system data
US20100235568A1 (en) Storage device using non-volatile memory
JP2011253251A (ja) データ記憶装置及びデータ書き込み方法
TWI479505B (zh) 資料管理方法、記憶體控制器與記憶體儲存裝置
CN101625897B (zh) 用于快闪存储器的数据写入方法、储存系统与控制器
WO2022121471A1 (zh) 一种l2p表的保存方法、系统、设备以及介质
TWI459198B (zh) 記憶體儲存裝置、其記憶體控制器與有效資料識別方法
WO2023116346A1 (zh) 异常掉电下Trim数据的恢复方法、系统及固态硬盘
TW201508748A (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI516934B (zh) 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置
CN111758086B (zh) 用于ssd的映射表的刷新方法
CN110262980B (zh) 基于有限寿命存储介质的高速存储系统
US20250013564A1 (en) Access-based data storage in ssd devices
WO2025021047A1 (zh) 命令处理方法、日志处理方法及存储设备
CN105608014B (zh) 一种使用mram的存储设备
CN118034970A (zh) 一种固态硬盘异常掉电后L2P table的恢复方法
CN102841853B (zh) 存储器管理表处理方法、存储器控制器与存储器储存装置
CN110286850B (zh) 固态硬盘元数据的写入方法、恢复方法及固态硬盘

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20240514