CN112084070B - L2p映射数据恢复方法、装置、存储介质及电子设备 - Google Patents

L2p映射数据恢复方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN112084070B
CN112084070B CN202010995396.3A CN202010995396A CN112084070B CN 112084070 B CN112084070 B CN 112084070B CN 202010995396 A CN202010995396 A CN 202010995396A CN 112084070 B CN112084070 B CN 112084070B
Authority
CN
China
Prior art keywords
address
mapping data
written
restored
redundant area
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
CN202010995396.3A
Other languages
English (en)
Other versions
CN112084070A (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.)
Biwin Storage Technology Co Ltd
Original Assignee
Biwin Storage 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 Biwin Storage Technology Co Ltd filed Critical Biwin Storage Technology Co Ltd
Priority to CN202010995396.3A priority Critical patent/CN112084070B/zh
Publication of CN112084070A publication Critical patent/CN112084070A/zh
Application granted granted Critical
Publication of CN112084070B publication Critical patent/CN112084070B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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/1016Performance improvement
    • G06F2212/1024Latency reduction
    • 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

Landscapes

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

Abstract

本发明公开了一种L2P映射数据恢复方法、装置、存储介质及电子设备,该L2P映射数据恢复方法包括:将待写入L2P映射数据写入Nand的物理页时,将对应的逻辑地址存储在物理页的冗余区,并在预设索引信息中记录待写入L2P映射数据中每一个地址对的逻辑地址所存储的block stripe信息;当出现已失效L2P映射数据时,根据预设索引信息和已失效L2P映射数据中每一个待恢复地址对的逻辑地址分别得到每一个待恢复地址对所存储过的block stripe,依次扫描每一个待恢复地址对所存储过的block stripe中的每一个物理页的冗余区,记录逻辑地址一致所对应的待恢复L2P映射数据,并将其保存至Nand;本发明通过局部扫描的方式来快速且准确的恢复L2P映射数据。

Description

L2P映射数据恢复方法、装置、存储介质及电子设备
技术领域
本发明涉及存储芯片数据恢复技术领域,特别涉及一种L2P映射数据恢复方法、装置、存储介质及电子设备。
背景技术
现有技术中,L2P(Logical To Physical,逻辑地址到物理地址)映射数据保存了用户数据的地址信息,只有通过L2P映射数据才能准确的找到期望的数据;对于SSD(SolidState Disk,固态硬盘)而言尤为如此,因为每次新写入的数据都需要分配新的空间,更新L2P table的地址映射数据;不同于机械硬盘的原理,SSD的映射数据更为复杂,同一块LBA(logical block address,逻辑区块地址)在不同时刻的L2P映射数据就有可能不同;如果保存L2P映射数据的block(数据块)出现坏块,如何快速恢复丢失的映射数据是修复方案面临的最大挑战。
发明内容
本发明所要解决的技术问题是:提供一种L2P映射数据恢复方法、装置、存储介质及电子设备,以快速且准确的恢复L2P映射数据。
为了解决上述技术问题,本发明采用的技术方案为:
一种L2P映射数据恢复方法,包括步骤:
将待写入L2P映射数据写入Nand的物理页时,将所述待写入L2P映射数据所写入的物理地址所对应的逻辑地址存储在所述物理页的冗余区,并在预设索引信息中记录所述待写入L2P映射数据中每一个地址对的逻辑地址所存储的block stripe信息;
当出现已失效L2P映射数据时,根据所述预设索引信息和所述已失效L2P映射数据中每一个待恢复地址对的逻辑地址分别得到每一个待恢复地址对所存储过的blockstripe,依次扫描每一个待恢复地址对所存储过的block stripe中的每一个物理页的冗余区,若所述冗余区中的逻辑地址与所述待恢复地址对的逻辑地址一致,则记录对应的待恢复L2P映射数据;
直到每一个所述待恢复地址对所存储过的每一个block stripe均已扫描完毕,将所记录的待恢复L2P映射数据保存至Nand。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种L2P映射数据恢复装置,包括:
写入模块,用于将待写入L2P映射数据写入Nand的物理页时,将所述待写入L2P映射数据所写入的物理地址所对应的逻辑地址存储在所述物理页的冗余区,并在预设索引信息中记录所述待写入L2P映射数据中每一个地址对的逻辑地址所存储的block stripe信息;
记录模块,用于当出现已失效L2P映射数据时,根据所述预设索引信息和所述已失效L2P映射数据中每一个待恢复地址对的逻辑地址分别得到每一个待恢复地址对所存储过的block stripe,依次扫描每一个待恢复地址对所存储过的block stripe中的每一个物理页的冗余区,若所述冗余区中的逻辑地址与所述待恢复地址对的逻辑地址一致,则记录对应的待恢复L2P映射数据;
恢复模块,用于直到每一个所述待恢复地址对所存储过的每一个block stripe均已扫描完毕,将所记录的待恢复L2P映射数据保存至Nand。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序存储有上述所示的L2P映射数据恢复方法。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所示的L2P映射数据恢复方法。
本发明的有益效果在于:一种L2P映射数据恢复方法、装置、存储介质及电子设备,通过在写入L2P映射数据的时候,保存其对应的逻辑地址以及所存储的block stripe信息,在后续数据丢失时,根据该丢失的L2P映射数据的逻辑地址找到其所存储过的blockstripe,从而只需要在存储过的block stripe的每一个物理页的冗余区进行数据查找,避免了全盘扫描带来的耗时长和效率低的问题,同时,根据查找到的逻辑地址所存储的物理页的物理地址就可以得到对应的L2P映射数据,从而恢复已失效L2P映射数据,即本发明通过局部扫描的方式来快速且准确的恢复L2P映射数据。
附图说明
图1为本发明实施例的L2P映射数据恢复方法的主要流程示意图;
图2为本发明实施例涉及的L2P映射数据丢失的示意图;
图3为本发明实施例涉及的将待写入L2P映射数据写入Nand(闪存)的物理页的数据流转示意图;
图4为本发明实施例涉及的block stripe的架构示意图;
图5为本发明实施例涉及的根据待写入L2P映射数据更新block stripe位图信息的示意图;
图6为本发明实施例的L2P映射数据恢复方法的整体流程示意图;
图7为本发明实施例涉及的扫描block stripe的流程示意图;
图8为本发明实施例的L2P映射数据恢复装置的结构示意图;
图9为本发明实施例的电子设备的结构示意图。
标号说明:
1、L2P映射数据恢复装置;2、电子设备;11、写入模块;12、记录模块;13、恢复模块;21、处理器;22、存储器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1至图7,本发明实施例提供了一种L2P映射数据恢复方法,包括步骤:
将待写入L2P映射数据写入Nand的物理页时,将所述待写入L2P映射数据所写入的物理地址所对应的逻辑地址存储在所述物理页的冗余区,并在预设索引信息中记录所述待写入L2P映射数据中每一个地址对的逻辑地址所存储的block stripe信息;
当出现已失效L2P映射数据时,根据所述预设索引信息和所述已失效L2P映射数据中每一个待恢复地址对的逻辑地址分别得到每一个待恢复地址对所存储过的blockstripe,依次扫描每一个待恢复地址对所存储过的block stripe中的每一个物理页的冗余区,若所述冗余区中的逻辑地址与所述待恢复地址对的逻辑地址一致,则记录对应的待恢复L2P映射数据;
直到每一个所述待恢复地址对所存储过的每一个block stripe均已扫描完毕,将所记录的待恢复L2P映射数据保存至Nand。
从上述描述可知,通过在写入L2P映射数据的时候,保存其对应的逻辑地址以及所存储的block stripe信息,在后续数据丢失时,根据该丢失的L2P映射数据的逻辑地址找到其所存储过的block stripe,从而只需要在存储过的block stripe的每一个物理页的冗余区进行数据查找,避免了全盘扫描带来的耗时长和效率低的问题,同时,根据查找到的逻辑地址所存储的物理页的物理地址就可以得到对应的L2P映射数据,从而恢复已失效L2P映射数据,即本发明通过局部扫描的方式来快速且准确的恢复L2P映射数据。
进一步地,所述将所述待写入L2P映射数据所写入的物理地址所对应的逻辑地址存储在所述物理页的冗余区具体包括以下步骤:
将所述待写入L2P映射数据所写入的物理地址所对应的逻辑地址和此次写入所对应的写入序号存储在所述物理页的冗余区。
进一步地,所述若所述冗余区中的逻辑地址与所述待恢复地址对的逻辑地址一致,则记录对应的待恢复L2P映射数据具体包括以下步骤:
若所述冗余区中的逻辑地址与所述待恢复地址对的逻辑地址一致,则判断是否存在多个所述冗余区中的逻辑地址与所述待恢复地址对的逻辑地址一致,若存在,则只记录写入序号最大的所述冗余区中的逻辑地址所对应的待恢复L2P映射数据;
若只有一个所述冗余区中的逻辑地址与所述待恢复地址对的逻辑地址一致,则记录这个所述冗余区中的逻辑地址所对应的待恢复L2P映射数据。
从上述描述可知,在物理页的冗余区不仅存储有逻辑地址,还包括每一笔写入的写入序号,该写入序号为硬盘中用于记录每一笔写入的时间先后顺序,如初始值为1,此后每次写一笔数据则单调递增1。由此,当某一逻辑地址被多次写入,则会产生多次记录数据,由此,根据写入序号的大小得到最新的待恢复L2P映射数据,保证所得到的L2P映射数据的准确性。
进一步地,所述并在预设索引信息中记录所述待写入L2P映射数据中每一个地址对的逻辑地址所存储的block stripe信息具体包括以下步骤:
计算所述待写入L2P映射数据中每一个地址对的逻辑地址所对应的逻辑容量范围;
根据所述待写入L2P映射数据中每一个地址对的物理地址计算所存储的blockstripe;
对所述待写入L2P映射数据中每一个地址对执行以下步骤:将所对应的逻辑容量范围所对应的block stripe位图信息中用来标记所存储的block stripe的位值更新为第一标记值,所述预设索引信息即为每一个逻辑容量范围所对应的block stripe位图信息;
所述根据所述预设索引信息和所述已失效L2P映射数据中每一个待恢复地址对的逻辑地址分别得到每一个待恢复地址对所存储过的block stripe具体包括以下步骤:
根据所述已失效L2P映射数据中每一个待恢复地址对的逻辑地址所对应的逻辑容量范围得到所对应的block stripe位图信息;
在所述所对应的block stripe位图信息找到位数为第一标记值所对应的blockstripe,即为每一个待恢复地址对所分别存储过的block stripe。
从上述描述可知,将逻辑容量分为多个范围,每一个逻辑容量范围都对应一个block stripe位图信息,若有写入哪一个block stripe,则在这个block stripe对应的位上修改为第一标记值,以表明逻辑地址在这个逻辑地址范围内的L2P映射数据曾经在这个block stripe里写入。由此,在后续只需要在曾经写入过的block stripe中寻找L2P映射信息即可,从而快速且准确的恢复L2P映射数据。
进一步地,所述逻辑容量范围为0.1G至10G。
从上述描述可知,提供一个可选的实施范围,保证block stripe位图信息的大小和后续恢复数据的扫描速度之间的平衡。
进一步地,所述待写入L2P映射数据的每一个地址对对应4K的用户数据,每一个所述物理页存储有4个地址对所对应的16K用户数据以及4个地址对所对应的4个逻辑地址。
从上述描述可知,提供一种L2P映射数据和物理页的较佳实施方式。
进一步地,将所记录的待恢复L2P映射数据保存至Nand具体包括以下步骤:
将所记录的待恢复L2P映射数据构建为L2P映射表,将构建完毕的所述L2P映射表保存至Nand。
从上述描述可知,通过构建成L2P映射表,以保证信息存储的有序性。
请参照图8,本发明另一实施例提供了一种L2P映射数据恢复装置1,包括:
写入模块11,用于将待写入L2P映射数据写入Nand的物理页时,将所述待写入L2P映射数据所写入的物理地址所对应的逻辑地址存储在所述物理页的冗余区,并在预设索引信息中记录所述待写入L2P映射数据中每一个地址对的逻辑地址所存储的block stripe信息;
记录模块12,用于当出现已失效L2P映射数据时,根据所述预设索引信息和所述已失效L2P映射数据中每一个待恢复地址对的逻辑地址分别得到每一个待恢复地址对所存储过的block stripe,依次扫描每一个待恢复地址对所存储过的block stripe中的每一个物理页的冗余区,若所述冗余区中的逻辑地址与所述待恢复地址对的逻辑地址一致,则记录对应的待恢复L2P映射数据;
恢复模块13,用于直到每一个所述待恢复地址对所存储过的每一个block stripe均已扫描完毕,将所记录的待恢复L2P映射数据保存至Nand。
其中,关于写入模块11、记录模块12和恢复模块13所实现的具体过程和对应的效果,可以参照上述实施例的L2P映射数据恢复方法中的相关描述。
本发明另一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序存储有上述实施例的L2P映射数据恢复方法。
其中,关于本实施例中的计算机程序中包含的L2P映射数据恢复方法的具体实现过程和对应效果,可以参照上述实施例的L2P映射数据恢复方法中的相关描述。
请参照图9,本发明另一实施例提供了一种电子设备2,包括存储器22、处理器21及存储在存储器22上并可在处理器21上运行的计算机程序,所述处理器21执行所述计算机程序时实现上述实施例的L2P映射数据恢复方法。
其中,关于本实施例中处理器21所实现的L2P映射数据恢复方法的具体实现过程和对应效果,可以参照上述的实施例的L2P映射数据恢复方法中的相关描述。
本申请的L2P映射数据恢复方法和对应的装置、存储介质及电子设备2主要应用于对任何硬盘需要L2P映射数据恢复的应用场景,尤其是SSD,比如500GB、1TB等等的SSD,以下结合具体的应用场景进行说明:
根据以上所述,并结合图1至图7,本发明的实施例一为:
如图2所示,当存储L2P映射数据的block出现坏块,用户在请求数据时就无法通过L2P映射数据来找到用户数据所存储的物理地址,由此,本实施例提供了一种L2P映射数据恢复方法,其包括步骤:
S1、将待写入L2P映射数据写入Nand的物理页时,将待写入L2P映射数据所写入的物理地址所对应的逻辑地址存储在物理页的冗余区,并在预设索引信息中记录待写入L2P映射数据中每一个地址对的逻辑地址所存储的block stripe信息;
在本实施例中,如图3所示,待写入L2P映射数据的每一个地址对所对应4K的用户数据,每一个物理页存储有4个地址对所对应的16K用户数据以及4个地址对所对应的4个逻辑地址,由此,一般Nand提供的物理页大小为16Kb,但是实际能够使用的物理页大小大于16KB,一般为18Kb左右,多余的部分为物理页的冗余区。
其中,物理地址即为图3中的PAA(physical AU address),逻辑地址即LAA(LogicAU Address),date即为数据,4K L2P table即为映射4K用户数据的L2P映射表,物理地址和对应的逻辑地址组成一个地址对。
如图4所示,Channel即为数据通道,block即为数据块,plane即为数据面,LUN即为逻辑单元号,Target即为目标,Block stripe即每个plane上的相同位置的block组成的块条带。
如图5所示,本实施例中的逻辑容量范围为1G,实际上可根据需求进行灵活设置。由此,在预设索引信息中记录待写入L2P映射数据中每一个地址对的逻辑地址所存储的block stripe信息具体包括以下步骤:
S11、计算待写入L2P映射数据中每一个地址对的逻辑地址所对应的逻辑容量范围;
在本实施例中,图5所示的FTL指Flash Translation Layer(闪存转换层),用于完成Host的逻辑地址到Flash的物理地址的转换。由此,待写入L2P映射数据的地址对比如图5中L2P映射数据中LAA0:PAA0,根据计算LAA0是属于0-1G这一容量范围。
S12、根据待写入L2P映射数据中每一个地址对的物理地址计算所存储的blockstripe;
由此,根据计算PAA0是存储在某一个block stripe,即图5中箭头所标识的那一位即用来对应LAA0:PAA0所存储的block stripe。
S13、对待写入L2P映射数据中每一个地址对执行以下步骤:将所对应的逻辑容量范围所对应的block stripe位图信息中用来标记所存储的block stripe的位值更新为第一标记值,预设索引信息即为每一个逻辑容量范围所对应的block stripe位图信息;
在本实施例中,第一标记值即为1,如果没有存储过的,该位为0,由此,每1G的逻辑容量范围都有自己对应的一条block stripe位图信息,用来标记自己这1G的逻辑容量范围的用户数据所对应的L2P映射数据曾经在哪些block stripe存储过。
S2、当出现已失效L2P映射数据时,根据预设索引信息和已失效L2P映射数据中每一个待恢复地址对的逻辑地址分别得到每一个待恢复地址对所存储过的block stripe,依次扫描每一个待恢复地址对所存储过的block stripe中的每一个物理页的冗余区,若冗余区中的逻辑地址与待恢复地址对的逻辑地址一致,则记录对应的待恢复L2P映射数据;
其中,根据预设索引信息和已失效L2P映射数据中每一个待恢复地址对的逻辑地址分别得到每一个待恢复地址对所存储过的block stripe具体包括以下步骤:
S21、根据已失效L2P映射数据中每一个待恢复地址对的逻辑地址所对应的逻辑容量范围得到所对应的block stripe位图信息;
结合图6和图7可知,当出现已失效L2P映射数据,由于失效的逻辑地址是知道的,由此,通过计算已失效L2P映射数据的逻辑地址范围,比如逻辑地址0-1G范围内全部都失效了,则去找0-1G这一逻辑容量范围所对应的block stripe位图信息。
S22、在所对应的block stripe位图信息找到位数为第一标记值所对应的blockstripe,即为每一个待恢复地址对所分别存储过的block stripe。
其中,在找0-1G这一逻辑容量范围所对应的block stripe位图信息中看下哪些位上的数值为1,则找到这一位所对应的block stripe,这样就能找到0-1G这一逻辑容量范围曾经存储的block stripe。
S23、依次扫描每一个待恢复地址对所存储过的block stripe中的每一个物理页的冗余区,若冗余区中的逻辑地址与待恢复地址对的逻辑地址一致,则记录对应的待恢复L2P映射数据;
这样,只需要扫描曾经存储的block stripe就可找到对应的待恢复L2P映射数据。
其中,当扫描到某一个block stripe的某一物理页时,即知道这一物理页所存储的用户数据的物理地址,若在物理页的冗余区发现与已失效L2P映射数据的逻辑地址一致时,则所存储的用户数据的物理地址与冗余区的逻辑地址形成映射关系,即为L2P映射数据,从而恢复已失效L2P映射数据。
S3、直到每一个待恢复地址对所存储过的每一个block stripe均已扫描完毕,将所记录的待恢复L2P映射数据保存至Nand。
在本实施例中,步骤S3具体包括以下步骤:将所记录的待恢复L2P映射数据构建为L2P映射表,将构建完毕的L2P映射表保存至Nand,从而完成对已失效L2P映射数据的数据恢复。
其中,在本实施例中,为了区分不同的L2P映射数据,根据其应用位置增加了前缀词,比如需要写入的L2P映射数据命名为待写入L2P映射数据、已经丢失的L2P映射数据命名为已失效L2P映射数据等等,这些数据有可能是同一数据,也有可能是同一逻辑地址和物理地址等等,即L2P映射数据的具体内容不对本发明的保护范围起到限定作用。
根据以上所述,并结合图1至图7,本发明的实施例二为:
一种L2P映射数据恢复方法,在上述实施例一的基础上,将待写入L2P映射数据所写入的物理地址所对应的逻辑地址存储在物理页的冗余区具体包括以下步骤:
将待写入L2P映射数据所写入的物理地址所对应的逻辑地址和此次写入所对应的写入序号存储在物理页的冗余区。
其中,写入序号即为SID(Sequence ID)。由此,LAA的大小为4Bytes,SID的大小为4Bytes,其值为单调递增的整数,初始值为1;则LAA和SID信息总共为8Bytes,4个LAA和SID信息合计才32Bytes,保存在Nand的物理页的2Kb冗余区中完全足够。
在本实施例中,若冗余区中的逻辑地址与待恢复地址对的逻辑地址一致,则记录对应的待恢复L2P映射数据具体包括以下步骤:
S231、若冗余区中的逻辑地址与待恢复地址对的逻辑地址一致,则判断是否存在多个冗余区中的逻辑地址与待恢复地址对的逻辑地址一致,若存在,则只记录写入序号最大的冗余区中的逻辑地址所对应的待恢复L2P映射数据;
这是因为在多次写入用户数据时,同一逻辑地址可能写入很多次,则有很多个一致的逻辑地址所对应的L2P映射数据,而SID是用来表示数据写入的先后顺序,则最大SID的L2P映射数据即为最新也是准确的L2P映射数据。
S232、若只有一个冗余区中的逻辑地址与待恢复地址对的逻辑地址一致,则记录这个冗余区中的逻辑地址所对应的待恢复L2P映射数据。
S233、若不存在任何一个冗余区中的逻辑地址与待恢复地址对的逻辑地址一致,则不记录此逻辑地址。因为没有逻辑地址一致,则表明这个地方的物理地址为无效数据,因此无需进行记录。
由此,相对于现有的恢复手段往往通过全盘扫描的方式,这种方式往往耗时比较长,效率较低;上述两个实施例通过局部扫描的方式快速且准确的恢复L2P映射数据,耗时短、效率高,还可以集成到固件中进行在线恢复。
请参照图8,本发明的实施例三为与上述实施例一或二中的L2P映射数据恢复方法相对应的一种L2P映射数据恢复装置1,包括:
写入模块11,用于将待写入L2P映射数据写入Nand的物理页时,将待写入L2P映射数据所写入的物理地址所对应的逻辑地址存储在物理页的冗余区,并在预设索引信息中记录待写入L2P映射数据中每一个地址对的逻辑地址所存储的block stripe信息;
记录模块12,用于当出现已失效L2P映射数据时,根据预设索引信息和已失效L2P映射数据中每一个待恢复地址对的逻辑地址分别得到每一个待恢复地址对所存储过的block stripe,依次扫描每一个待恢复地址对所存储过的block stripe中的每一个物理页的冗余区,若冗余区中的逻辑地址与待恢复地址对的逻辑地址一致,则记录对应的待恢复L2P映射数据;
恢复模块13,用于直到每一个待恢复地址对所存储过的每一个block stripe均已扫描完毕,将所记录的待恢复L2P映射数据保存至Nand。
本发明的实施例四为与上述实施例一或二中的L2P映射数据恢复方法对应的一种计算机可读存储介质,其上存储有计算机程序,计算机程序存储有如上实施例一或二中的L2P映射数据恢复方法。
请参照图9,本发明的实施例五为与上述实施例一或二中的L2P映射数据恢复方法相对应的一种电子设备2,包括存储器22、处理器21及存储在存储器22上并可在处理器21上运行的计算机程序,其中,处理器21执行计算机程序时实现上述实施例一或二中的L2P映射数据恢复方法。
在本申请所提供的五个实施例中,应该理解到,所揭露的方法、装置、存储介质以及电子设备2,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
综上所述,本发明提供的一种L2P映射数据恢复方法、装置、存储介质及电子设备,通过在写入L2P映射数据的时候,保存其对应的逻辑地址和写入序号,并更新所存储的block stripe信息,在后续数据丢失时,根据该丢失的L2P映射数据的逻辑地址找到其所存储过的block stripe,从而只需要在存储过的block stripe的每一个物理页的冗余区进行数据查找,避免了全盘扫描带来的耗时长和效率低的问题,同时,根据查找到的逻辑地址所存储的物理页的物理地址就可以得到对应的L2P映射数据,并根据写入序号得到最新的L2P映射数据,从而恢复已失效L2P映射数据,即本发明通过局部扫描的方式来快速且准确的恢复L2P映射数据。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种L2P映射数据恢复方法,其特征在于,包括步骤:
将待写入L2P映射数据写入Nand的物理页时,将所述待写入L2P映射数据所写入的物理地址所对应的逻辑地址存储在所述物理页的冗余区,并在预设索引信息中记录所述待写入L2P映射数据中每一个地址对的逻辑地址所存储的block stripe信息;
当出现已失效L2P映射数据时,根据所述预设索引信息和所述已失效L2P映射数据中每一个待恢复地址对的逻辑地址分别得到每一个待恢复地址对所存储过的block stripe,依次扫描每一个待恢复地址对所存储过的block stripe中的每一个物理页的冗余区,若所述冗余区中的逻辑地址与所述待恢复地址对的逻辑地址一致,则记录对应的待恢复L2P映射数据;
直到每一个所述待恢复地址对所存储过的每一个block stripe均已扫描完毕,将所记录的待恢复L2P映射数据保存至Nand;
所述将所述待写入L2P映射数据所写入的物理地址所对应的逻辑地址存储在所述物理页的冗余区具体包括以下步骤:
将所述待写入L2P映射数据所写入的物理地址所对应的逻辑地址和此次写入所对应的写入序号存储在所述物理页的冗余区;
所述若所述冗余区中的逻辑地址与所述待恢复地址对的逻辑地址一致,则记录对应的待恢复L2P映射数据具体包括以下步骤:
若所述冗余区中的逻辑地址与所述待恢复地址对的逻辑地址一致,则判断是否存在多个所述冗余区中的逻辑地址与所述待恢复地址对的逻辑地址一致,若存在,则只记录写入序号最大的所述冗余区中的逻辑地址所对应的待恢复L2P映射数据;
若只有一个所述冗余区中的逻辑地址与所述待恢复地址对的逻辑地址一致,则记录这个所述冗余区中的逻辑地址所对应的待恢复L2P映射数据。
2.根据权利要求1所述的L2P映射数据恢复方法,其特征在于,所述并在预设索引信息中记录所述待写入L2P映射数据中每一个地址对的逻辑地址所存储的block stripe信息具体包括以下步骤:
计算所述待写入L2P映射数据中每一个地址对的逻辑地址所对应的逻辑容量范围;
根据所述待写入L2P映射数据中每一个地址对的物理地址计算所存储的blockstripe;
对所述待写入L2P映射数据中每一个地址对执行以下步骤:将所对应的逻辑容量范围所对应的block stripe位图信息中用来标记所存储的block stripe的位值更新为第一标记值,所述预设索引信息即为每一个逻辑容量范围所对应的block stripe位图信息;
所述根据所述预设索引信息和所述已失效L2P映射数据中每一个待恢复地址对的逻辑地址分别得到每一个待恢复地址对所存储过的block stripe具体包括以下步骤:
根据所述已失效L2P映射数据中每一个待恢复地址对的逻辑地址所对应的逻辑容量范围得到所对应的block stripe位图信息;
在所述所对应的block stripe位图信息找到位数为第一标记值所对应的blockstripe,即为每一个待恢复地址对所分别存储过的block stripe。
3.根据权利要求2所述的L2P映射数据恢复方法,其特征在于,所述逻辑容量范围为0.1G至10G。
4.根据权利要求1或2所述的L2P映射数据恢复方法,其特征在于,所述待写入L2P映射数据的每一个地址对对应4K的用户数据,每一个所述物理页存储有4个地址对所对应的16K用户数据以及4个地址对所对应的4个逻辑地址。
5.根据权利要求1或2所述的L2P映射数据恢复方法,其特征在于,将所记录的待恢复L2P映射数据保存至Nand具体包括以下步骤:
将所记录的待恢复L2P映射数据构建为L2P映射表,将构建完毕的所述L2P映射表保存至Nand。
6.一种L2P映射数据恢复装置,其特征在于,包括:
写入模块,用于将待写入L2P映射数据写入Nand的物理页时,将所述待写入L2P映射数据所写入的物理地址所对应的逻辑地址存储在所述物理页的冗余区,并在预设索引信息中记录所述待写入L2P映射数据中每一个地址对的逻辑地址所存储的block stripe信息;
记录模块,用于当出现已失效L2P映射数据时,根据所述预设索引信息和所述已失效L2P映射数据中每一个待恢复地址对的逻辑地址分别得到每一个待恢复地址对所存储过的block stripe,依次扫描每一个待恢复地址对所存储过的block stripe中的每一个物理页的冗余区,若所述冗余区中的逻辑地址与所述待恢复地址对的逻辑地址一致,则记录对应的待恢复L2P映射数据;
恢复模块,用于直到每一个所述待恢复地址对所存储过的每一个block stripe均已扫描完毕,将所记录的待恢复L2P映射数据保存至Nand;
所述将所述待写入L2P映射数据所写入的物理地址所对应的逻辑地址存储在所述物理页的冗余区具体包括以下步骤:
将所述待写入L2P映射数据所写入的物理地址所对应的逻辑地址和此次写入所对应的写入序号存储在所述物理页的冗余区;
所述若所述冗余区中的逻辑地址与所述待恢复地址对的逻辑地址一致,则记录对应的待恢复L2P映射数据具体包括以下步骤:
若所述冗余区中的逻辑地址与所述待恢复地址对的逻辑地址一致,则判断是否存在多个所述冗余区中的逻辑地址与所述待恢复地址对的逻辑地址一致,若存在,则只记录写入序号最大的所述冗余区中的逻辑地址所对应的待恢复L2P映射数据;
若只有一个所述冗余区中的逻辑地址与所述待恢复地址对的逻辑地址一致,则记录这个所述冗余区中的逻辑地址所对应的待恢复L2P映射数据。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序存储有如权利要求1-5任意一项所述的L2P映射数据恢复方法。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5任意一项所述的L2P映射数据恢复方法。
CN202010995396.3A 2020-09-21 2020-09-21 L2p映射数据恢复方法、装置、存储介质及电子设备 Active CN112084070B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010995396.3A CN112084070B (zh) 2020-09-21 2020-09-21 L2p映射数据恢复方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010995396.3A CN112084070B (zh) 2020-09-21 2020-09-21 L2p映射数据恢复方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN112084070A CN112084070A (zh) 2020-12-15
CN112084070B true CN112084070B (zh) 2024-04-26

Family

ID=73739297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010995396.3A Active CN112084070B (zh) 2020-09-21 2020-09-21 L2p映射数据恢复方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN112084070B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114756404B (zh) * 2022-06-15 2024-04-05 上海江波龙数字技术有限公司 数据处理方法、装置、电子设备及存储介质
CN114880251B (zh) * 2022-07-12 2023-08-29 荣耀终端有限公司 存储单元的访问方法、访问装置和终端设备
CN117687845B (zh) * 2024-02-04 2024-06-11 成都佰维存储科技有限公司 上电恢复方法、装置、可读存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201778A (zh) * 2016-06-30 2016-12-07 联想(北京)有限公司 信息处理方法及存储设备
CN109885506A (zh) * 2017-12-06 2019-06-14 慧荣科技股份有限公司 数据储存装置、主机装置、以及数据写入方法
CN110704337A (zh) * 2019-09-23 2020-01-17 深圳忆联信息系统有限公司 基于固态硬盘的映射表重建方法、装置和计算机设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11301369B2 (en) * 2019-01-24 2022-04-12 Western Digital Technologies, Inc. Logical to physical mapping management using low-latency non-volatile memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201778A (zh) * 2016-06-30 2016-12-07 联想(北京)有限公司 信息处理方法及存储设备
CN109885506A (zh) * 2017-12-06 2019-06-14 慧荣科技股份有限公司 数据储存装置、主机装置、以及数据写入方法
CN110704337A (zh) * 2019-09-23 2020-01-17 深圳忆联信息系统有限公司 基于固态硬盘的映射表重建方法、装置和计算机设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GFTL:一种基于页组映射的低能耗闪存转换层;白石;赵鹏;;中国科技论文在线;20111015(第10期);全文 *
一种基于虚拟页地址映射的NAND Flash管理算法;许娜;彭飞;谭彦亮;苗志富;曹梦丹;;空间控制技术与应用;20200615(第03期);全文 *

Also Published As

Publication number Publication date
CN112084070A (zh) 2020-12-15

Similar Documents

Publication Publication Date Title
CN112084070B (zh) L2p映射数据恢复方法、装置、存储介质及电子设备
US11640353B2 (en) Memory system, data storage device, user device and data management method thereof
US20200150883A1 (en) System and method for copy on write on an ssd
CN105843551B (zh) 高性能和大容量储存重复删除中的数据完整性和损耗电阻
CN109783017B (zh) 一种存储设备坏块的处理方法、装置及存储设备
CN101364166B (zh) 将2048字节页的Nand Flash模拟成硬盘的方法和装置
CN104461391A (zh) 一种存储设备元数据管理处理方法及系统
CN104461390A (zh) 将数据写入叠瓦状磁记录smr硬盘的方法及装置
US20110004720A1 (en) Method and apparatus for performing full range random writing on a non-volatile memory
CN103608866A (zh) 用于闪存存储器的数据擦除方法及装置
TW201931366A (zh) 資料儲存裝置以及非揮發式記憶體操作方法
US11874741B2 (en) Data recovery method in storage medium, data recovery system, and related device
US11093317B1 (en) Managing uncorrectable user data
US10572335B2 (en) Metadata recovery method and apparatus
JP2018504692A (ja) トランザクション処理方法及び装置、並びにコンピュータシステム
CN107135662B (zh) 一种差异数据备份方法、存储系统和差异数据备份装置
CN109976669B (zh) 一种边缘存储方法、装置和存储介质
JP2015507798A5 (zh)
CN112379830B (zh) 有效数据位图的创建方法、装置、存储介质及电子设备
CN112052193B (zh) 一种垃圾回收方法、装置、可读存储介质及电子设备
CN107273306A (zh) 一种固态硬盘的数据读取、数据写入方法及固态硬盘
CN103631682A (zh) 数据备份的实现方法和装置
US20230142948A1 (en) Techniques for managing context information for a storage device
US9535796B2 (en) Method, apparatus and computer for data operation
CN113778911B (zh) L2p数据缓存方法、装置、可读存储介质及电子设备

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
CB02 Change of applicant information

Address after: 518000 floors 1-3 and 4 of buildings 4 and 8, zone 2, Zhongguan honghualing Industrial South Zone, No. 1213 Liuxian Avenue, Pingshan community, Taoyuan Street, Nanshan District, Shenzhen, Guangdong

Applicant after: BIWIN STORAGE TECHNOLOGY Co.,Ltd.

Address before: 518000 1st, 2nd, 4th and 6th floors of No.4 factory building of tongfuyu industrial city, Taoyuan Street, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: BIWIN STORAGE TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant