CN109144899A - 用于管理表恢复的方法 - Google Patents

用于管理表恢复的方法 Download PDF

Info

Publication number
CN109144899A
CN109144899A CN201810233596.8A CN201810233596A CN109144899A CN 109144899 A CN109144899 A CN 109144899A CN 201810233596 A CN201810233596 A CN 201810233596A CN 109144899 A CN109144899 A CN 109144899A
Authority
CN
China
Prior art keywords
memory
fault recovery
metadata
management table
sequence number
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
CN201810233596.8A
Other languages
English (en)
Other versions
CN109144899B (zh
Inventor
R.塞拉
A.沙哈拉巴尼
M.萨皮尔
E.A.克莱因
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.)
Western Digital Technologies Inc
Original Assignee
Western Digital Technologies Inc
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 Western Digital Technologies Inc filed Critical Western Digital Technologies Inc
Publication of CN109144899A publication Critical patent/CN109144899A/zh
Application granted granted Critical
Publication of CN109144899B publication Critical patent/CN109144899B/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/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/073Error 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 memory management context, e.g. virtual memory or cache management
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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
    • 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/0793Remedial or corrective actions
    • 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
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

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

Abstract

控制器接收加载到随机存取储存装置的存储器管理表处于损坏状态的指示。控制器检索在非易失性储存装置的多个物理块的物理块的元数据中所储存的存储器单元的一个或多个错误恢复参数。控制器检查一个或多个错误恢复参数以确定一个或多个错误恢复参数指示存储器单元是新鲜的还是陈旧的。控制器使用确定为新鲜的存储器单元的元数据的逻辑‑物理转换信息来更新存储器管理表。控制器将已更新的存储器管理表写入非易失性储存装置。

Description

用于管理表恢复的方法
相关申请的交叉引用
本申请要求于2017年6月28日提交的美国临时专利申请No.62/525,887、于2017年8月24日提交的美国专利申请No.15/685,555的优先权,其全部内容通过引用合并于此。
技术领域
本公开总体涉及储存装置,并且更特别地涉及用于固态储存装置的管理表的自恢复的方法。
背景技术
当期望相对较低的延迟时,可以在计算机中使用固态驱动器(SSD)。例如,SSD可能比硬盘驱动器(HDD)表现出更低的延迟,特别是对于随机读取和写入。与HDD相比,对于从SSD随机读取和向SSD随机写入可能允许更高的吞吐量(throughput)。另外,SSD可以利用多个并行数据通道来从存储器装置读取数据和将数据写入存储器装置,这可能导致高的顺序性读取和写入速度。
固态硬盘可用于电脑,以代替传统的基于磁的HDD。SSD可以利用诸如NAND闪速存储器装置的非易失性存储器(NVM)装置,其继续储存数据而不需要持续或周期性的电力供应。NAND闪速存储器装置可能会被写入多次。然而,为了重新使用特定的NAND闪存页,控制器通常擦除特定的NAND闪存块(例如,在垃圾收集期间)。多次擦除NAND闪速存储器可能导致闪速存储器单元失去储存电荷的能力,降低或消除将新数据写入闪速存储器单元的能力。
为了以高效的方式管理NAND闪速存储器的擦除、读取和写入的次数,NAND闪速存储器的对应控制器维护闪存管理表以储存逻辑-物理地址映射(L2P),以在物理的NAND闪速存储器中识别用户数据的位置。控制器还可以进行垃圾收集以压缩块,并在擦除块之前将有效的数据复制到新的块,并准备要被重新编程的块。闪存管理表还追踪垃圾收集操作。
如果闪存管理表损坏,则NAND闪存装置无法正常工作。读取操作返回错误的数据,导致采用NAND闪速存储器装置的主机系统不可用或导致主机系统无法引导。在这种情况下,主机系统可能试图重置NAND闪速存储器装置;但是,如果闪存管理表损坏,则故障状况存在,并且主机系统将无法引导。
因此,需要提供一种用于管理闪存管理表恢复的方法,其在故障条件下触发,但不影响正常操作期间NAND闪速存储器装置的性能(或装置行为)。
发明内容
在一个示例中,公开了一种用于固态储存装置的存储器管理表的自恢复的方法。储存装置的控制器接收加载到随机存取存储器装置并且与非易失性存储器装置相关联的存储器管理表处于损坏状态的指示。控制器检索储存在非易失性存储器装置的多个物理块中的物理块的元数据中的存储器单元的一个或多个错误恢复参数。控制器检查一个或多个错误恢复参数以确定一个或多个错误恢复参数指示存储器单元是新鲜的(fresh)还是陈旧的(stale)。控制器使用被确定为新鲜的存储器单元的元数据的逻辑-物理转换信息来更新存储器管理表。控制器将已更新的存储器管理表写入非易失性存储器装置。
在附图和下面的描述中阐述了一个或多个示例的细节。其它特征、目的和优点将从说明书和附图中、以及从权利要求中显而易见。
附图说明
图1是示出根据本公开的一个或多个技术的示例性储存环境的概念性和示意性框图,其中储存装置可以用作主机装置的储存装置。
图2A是示出示例性存储器管理表的概念性框图。
图2B示出了储存具有伴随元数据(accompanying)的数据载荷的存储器块的组织。
图2C示出了易失性存储器中储存的逻辑-物理序列编号表存储器,其含有对应于FMU的序列编号的条目。
图3是示出根据本公开的一个或多个技术的示例性控制器的概念性和示意性框图。
图4是示出根据本公开的一个或多个技术的示例性储存环境的概念性和示意性框图,其中储存装置可以进行写入操作。
图5是示出根据本公开的一个或多个技术的用于启用用于固态储存装置的管理表的自恢复的示例性技术的流程图。
图6是示出根据本公开的一个或多个技术的用于固态储存装置的管理表的自恢复的示例性技术的流程图。
图7是示出根据本公开的一个或多个技术的用于根据图6的块615来确定所检索的块是新鲜的还是陈旧的示例性技术的流程图。
为了便于理解,在可能的情况下使用相同的附图标记来表示附图中共同的相同元件。预期在一个实施例中公开的元件可以有益地用于其它实施例而无需特定的叙述。
具体实施方式
通常,本公开通过重建涉及诸如SSD的储存装置的闪存管理表来描述用于恢复装置数据的技术。
图1是示出根据本公开的一个或多个技术的示例性储存环境102的概念性和示意性框图,其中储存装置106可以用作主机装置104的储存装置。例如,主机装置104可以将数据储存到一个或多个储存装置106和/或从一个或多个储存装置106检索数据。在一些示例中,储存环境102可以包含诸如储存装置106的多个储存装置,该多个储存装置可以操作为储存阵列。
主机装置104可以包含任何计算装置,包含例如,计算机服务器、网络附加储存(NAS)单元、台式计算机、笔记本(例如,膝上型计算机)计算机、平板电脑、机顶盒、诸如“智能”电话的移动计算装置、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流装置等。主机装置104可以包含至少一个处理器154和主机存储器156。至少一个处理器154可以包含能够处理数据的任何形式的硬件,并且可以包含通用处理单元(诸如中央处理单元(CPU))、专用硬件(诸如专用集成电路(ASIC))、可配置硬件(诸如现场可编程门阵列(FPGA))、或者通过软件指令、微代码、固件等配置的任何其它形式的处理单元。主机装置104可以使用主机存储器156来储存信息(例如,暂时地储存信息)。在一些示例中,主机存储器156可以包含易失性存储器,诸如随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态RAM(SRAM)、以及同步动态RAM(SDRAM(例如,DDR1、DDR2、DDR3、DDR3L、LPDDR3、DDR4等)。
如图1所示,储存装置106可以包含控制器108、非易失性存储器阵列(NVMA)110、电源111、易失性存储器112和接口114。在一些示例中,为了清楚,储存装置106可以包含图1中未示出的附加部件。例如,储存装置106可以包含印刷电路板(PB),储存装置106的部件机械附接到该印刷电路板(PB),并且该印刷电路板(PB)包含作为储存装置106的电气互连部件等的导电迹线。在一些示例中,储存装置106的物理尺寸和连接器配置可以符合一个或多个标准形式因素。一些示例性标准形式因素包含但不限于3.5"数据储存装置(例如HDD或SSD)、2.5"数据储存装置、1.8"数据储存装置、外围组件互连PCI扩展PCI Express(例如,x1、x4、x8、x16、迷你卡、等)、M.2等。在一些示例中,储存装置106可以直接耦接(例如,直接焊接)到主机装置104的主板。
储存装置106可以包含用于与主机装置104接口的接口114。接口114可以包含用于与主机装置104交换数据的数据总线和用于与主机装置104交换命令的控制总线中的一个或两个。接口114可以根据任何合适的协议进行操作。例如,接口114可以根据串行连接的SCSI(SAS)/e.MMC/UFS/NVMe协议来操作。
然而,在其它示例中,本公开的技术可以应用于根据以下协议中的一个或多个操作的接口114:高级技术附件(ATA)(例如,串行ATA(SATA)和并行ATA(PATA))、光纤通道、小型计算机系统接口(SCSI)、非易失性存储器Express(NVMeTM)、等。接口114(例如,数据总线、控制总线或两者)电连接到控制器108,提供主机装置104与控制器108之间的通信信道,允许在主机装置104和控制器108之间交换数据。在一些示例中,接口114的电连接还可以允许储存装置106从主机装置104接收电力。
储存装置106可以包含电源111,其可以向储存装置106的一个或多个部件提供电力。当在标准模式下操作时,电源111可以使用由外部装置(例如主机装置104)提供的电力来向一个或多个部件提供电力。例如,电源111可以使用经由接口114从主机装置104接收到的电力向一个或多个部件提供电力。在一些示例中,电源111可以包含一个或多个电力储存部件,其配置为当在关机模式下操作时(诸如,在停止从外部装置接收电力时)向一个或多个部件供电。以这种方式,电源111可以用作机载备用电源。一个或多个电力储存部件的一些示例包含但不限于电容器、超级电容器、电池等。
储存装置106还可以包含易失性存储器112,其可以被控制器108用来储存信息。在一些示例中,控制器108可以使用易失性存储器112作为缓存。例如,控制器108可以在易失性存储器112中储存缓存的信息,直到将所缓存的信息写入非易失性存储器阵列110。易失存储器112可以消耗从电源111接收到的功率。易失性存储器112的示例包含但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态RAM(SRAM)和同步动态RAM(SDRAM(例如,DDR1、DDR2、DDR3、DDR3L、LPDDR3、DDR4等)。
储存装置106包含非易失性存储器阵列(NVMA)110。例如,包含NVM 115的NVMA 110可以包含多个存储器装置。例如,如图1所示,NVM 115可以包含存储器装置116A-116N(统称为“存储器装置116”)。每个存储器装置116可以配置为储存和/或检索数据。例如,控制器108可以在存储器装置116中储存数据并且可以从存储器装置116读取数据。在一些示例中,存储器装置116可以被称为裸芯。在一些示例中,存储器装置116可以包含多于一个裸芯。在一些示例中,单个物理芯片可以包含多个裸芯(即,多个存储器装置116)。在一些示例中,存储器装置116可以配置为储存相对大量的数据(例如,128MB、512MB、1GB、4GB、16GB、64GB、128GB、512GB、1TB等)。
存储器装置116可以包含任何类型的NVM装置,诸如闪速存储器装置(例如NAND或NOR)、相变存储器(PCM)装置、电阻随机存取存储器(ReRAM)装置、磁阻随机存取存储器(MRAM)装置、铁电随机存取存储器(F-RAM)、全息存储器装置、以及任何其它类型的非易失性存储器装置。与闪速存储器装置不同,PCM装置、ReRAM装置、MRAM装置和F-RAM装置可能不需要回收陈旧的块(例如垃圾收集),但是仍可以利用损耗均衡来降低个体存储器单元的有限写入耐久性的影响。在一些示例中,PCM、ReRAM、MRAM和F-RAM装置可以具有比闪速存储器装置更好的耐用性。换言之,与闪速存储器装置相比,PCM、ReRAM、MRAM和F-RAM装置可能能够在磨损之前进行更多的读取和/或写入操作。
在NVM 115的存储器装置116包含闪速存储器装置的示例中,存储器装置116的每个存储器装置可以包含多个块,每个块包含多个页。每个块可以包含128KB的数据、256KB的数据、2MB的数据、8MB的数据等。在一些实例中,每个页可以包含1千字节(KB)的数据、4KB的数据、8KB的数据等。在一些实例中,每个闪速存储器单元(FMU)可以包含1千字节(KB)的数据、4KB的数据、8KB的数据等。控制器108可以在FMU的级别将数据写入存储器装置116并从其读取数据,并且在块的级别从存储器装置116擦除数据。换言之,存储器装置116可以是FMU可寻址的。
储存装置106包含控制器108,其可以管理储存装置106的一个或多个操作。例如,控制器108可以管理从NVMA 110读取数据和/或将数据写入NVMA 110。控制器108可以表示微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它数字逻辑电路中的一个或多个的一个或其组合。根据本公开的技术,控制器108可以管理向NVMA 110内的不同类型的非易失性存储器装置写入、以及从其中读取。在一些示例中,NVMA110包含一种NVM 115,NVM 115包含多个存储器装置。例如,NVM 115的存储器装置116可以包含闪速存储器装置(例如,NAND或NOR),在一些示例中,其可以具有几十微秒(μs)的读取延迟和几百μs的写入延迟。例如,存储器装置116的读取延迟可以在大约20μs与大约30μs之间,并且存储器装置116的写入延迟可以在大约100μs与大约500μs之间。
存储器装置116的每个存储器装置可以包含多个块,每个块包含多个页,每个页可以包含零个或多个闪速存储器管理单元(FMU),FMU包含多个字节。如本文中所使用的,FMU指代存储器装置116的存储器的可寻址单元。图2A示出了由FMU组织的逻辑-物理地址转换信息的存储器管理表200。每个FMU具有与FMU所属的块编号或页编号独立的唯一的标识符。如图2A所示,唯一的标识符可以是进入被组织为物理地址的阵列的存储器管理表200的索引。在一些实例中,每个FMU可以包含1千字节(KB)的数据、4KB的数据、8KB的数据等。在一些示例中(例如,在NVM 115的存储器装置116包含闪速存储器装置的情况下),控制器108可以在FMU的级别将数据写入数据存储器装置116并从其读取数据,并且在块的级别从存储器装置116擦除数据。换言之,存储器装置116可以是FMU可寻址的。
在操作中,控制器108可以接收来自主机装置104的写入请求,并且可以确定储存包含在写入请求中的数据载荷的位置。写入请求可以包含数据载荷和逻辑地址。控制器108可以在存储器装置116中储存数据载荷。当将数据载荷储存在存储器装置116中时,控制器108以控制器108可以稍后将数据载荷与映射到物理地址的逻辑地址相关联的方式,为数据载荷创建元数据,并且将元数据402和数据载荷储存在存储器装置116中。图2B示出了使用伴随元数据来储存数据载荷的存储器块205的组织。每个存储器块205包含存储器块205的元数据,存储器块205的元数据作为一个整体包含标头,该标头至少包含块编号和编程擦除计数(PEC)。可以由存储器装置116基于每个块维持PEC计数,并且在每次擦除块时增加PEC计数。在另一个实施例中,在来自存储器块205的单独的表中(用于损耗均衡的正常使用量)写入PEC作为每个块的元数据(如果需要,将被恢复)。
每个块被分成含有与FMU(例如,4K字节)相关联的数据和FMU元数据402的FMU。FMU元数据402包含至少一个标识符(例如,进入存储器管理表200中的索引编号)、FMU的相关联的物理地址、以及相关联的FMU的序列编号。序列编号标识当将FMU写入存储器装置116时的时间戳或计数。例如,序列#1可以是写入的第一FMU,序列#2可以是写入的第二FMU等,按写入的时间的增加的顺序。对于对应于物理地址的每个FMU,元数据402还可以包含对应的纠错码(ECC)。存储器块205的最后一页可以储存用于存储器块205中所储存的每个FMU的标识符、以及每个FMU的对应物理地址。
参考图2C,在恢复存储器管理表200期间,控制器208可以使用储存在易失性存储器112中的辅助性表(称为逻辑-物理序列编号表210),辅助性表含有对应于FMU的序列编号的条目。
响应于接收到要写入的数据,控制器108可以确定用于储存数据载荷的NVM装置(例如,NVM 115)。在一些示例中,控制器108可以确定要分配给数据载荷的NVM装置。在一些储存装置中,将单个FMU的数据重新写入FMU可寻址存储器装置115可能涉及将FMU写入新的物理位置、更新(例如,通过闪存转换层)逻辑地址与FMU的新的物理位置之间的映射、以及将旧的FMU标记为陈旧的,这可能最终需要擦除整个块(例如,进行垃圾收集)以重新使用旧的FMU。
图3是示出控制器108的示例性细节的概念性和示意性框图。在一些示例中,控制器108可以包含一个或多个地址转换模块322、一个或多个写入模块324、一个或多个维护模块326、以及一个或多个读取模块328。在其它示例中,控制器108可以包含附加的模块或硬件单元,或者可以包含更少的模块或硬件单元。控制器108可以包含各种类型的数字逻辑电路,诸如一个或多个微处理器、一个或多个数字信号处理器(DSP)、一个或多个专用集成电路(ASIC)、一个或多个现场可编程门阵列(FPGA)、或者其它类型的数字逻辑电路的任何组合。
储存装置106的控制器108(例如,如图1所示)可以经由接口114与图1的主机装置104接口,并且管理数据的储存到图1的NVMA 110的存储器装置116,以及从图1的NVMA 110的存储器装置116检索数据。例如,控制器108的一个或多个写入模块324可以管理对存储器装置116的写入。仅为了说明的目的,将控制器108描述为包含单个写入模块324。例如,写入模块324可以接收写入请求,该写入请求包含要写入的数据的相关FMU的逻辑地址(LBA)、要写入的FMU的序列编号、以及与该逻辑地址相关联的FMU的编号。写入模块324可以管理将数据载荷写入如图2B所示的存储器块205的FMU。写入模块324可以与一个或多个地址转换模块322通信,该地址转换模块322管理由主机装置104使用以管理数据的储存位置的逻辑地址(LBA)与由写入模块324使用以将数据的写入导向至存储器装置116的物理地址之间的转换。在一些示例中,控制器108可以包含地址转换模块322。仅为了说明的目的,控制器108被描述为包含单个地址转换模块322。控制器108的地址转换模块322可以利用间接表(还称为映射表或存储器管理表200),其将由存储器装置116所储存的数据的FMU索引转换为由存储器装置116所储存的数据的物理地址。例如,主机装置104可以在对于储存装置106的指令或消息中利用存储器装置116所储存的数据的逻辑块地址,而写入模块324利用数据的物理地址来控制将数据写入存储器装置116。(类似地,读取模块328可以利用物理地址来控制从存储器装置116读取数据。)物理地址对应于存储器装置116的实际物理位置。在一些示例中,地址转换模块322可以在易失性存储器112中储存存储器管理表200,并且周期性地将存储器管理表200的副本储存到存储器装置116。
以这种方式,主机装置104可以使用某个数据集的静态逻辑地址,而实际储存数据的物理地址可以改变。地址转换模块322可以维护间接表以将逻辑地址映射到物理地址,以允许主机装置104使用静态逻辑地址,同时数据的物理地址可以改变,例如由于损耗均衡、垃圾收集等。
如参照图3更详细地描述的,响应于写入请求,控制器108的写入模块324可以进行一个或多个操作以管理将数据写入存储器装置116。例如,写入模块324可以通过选择存储器装置116内的物理位置来储存在写入请求中指定的数据载荷而管理将数据写入存储器装置116。如以上所讨论的,写入模块324可以与地址转换模块322接口以基于所选择的物理位置来更新存储器管理表200。
例如,写入模块324可以从主机装置104接收包含数据载荷的消息,以及与对应于数据载荷的FMU相关联的逻辑块地址。写入模块324可以确定要储存数据的存储器装置116的物理位置,并且与存储器装置116的特定物理位置接口以实际地储存数据。写入模块324然后可以与地址转换模块322接口以更新存储器管理表200,以指示存储器装置116内的相关联的FMU的FMU标识符和对应的物理位置(多个)。写入模块324还可以与地址转换模块322接口以更新将FMU标识符与存储器块205中的对应的物理地址相关联的元数据402。类似地,响应于读取请求,读取模块328可以控制从存储器装置116读取数据。在一些示例中,控制器108可以包含可以从不同的存储器装置读取数据的一个或多个读取模块328。例如,读取模块328可以从存储器装置116读取数据。仅为了说明的目的,控制器108被描述为包含单个读取模块328。例如,读取模块328可以接受来自主机装置104的读取请求或其它消息,主机装置104请求具有相关联的逻辑地址的数据。读取模块328可以与地址转换模块322接口以使用存储器管理表200将逻辑地址转换为物理地址。然后读取模块328可以检索来自地址转换模块322所提供的物理地址的数据。维护模块326可以表示配置为进行与维护性能和延长储存装置106(例如,存储器装置116)的使用寿命相关的操作的模块。例如,维护模块326可以实现损耗均衡、垃圾收集技术和管理表恢复技术中的至少一个。
图4是示出根据本公开的一个或多个技术的示例性储存环境102的示意图,其中储存装置106可以进行写入操作。图4说明并描述了图1-图2C的概念性和功能性元件,同时参考图1-图2C中所示的物理部件。
主机装置104可以在主机存储器156中储存数据。当从主机存储器156向储存装置106发送数据作为写入请求的部分时,主机装置104可以生成数据记录400。在一些示例中,主机装置104可以通过块层子系统或通过文件系统生成数据记录400。数据记录400可以包含FMU元数据402和数据载荷404。每个记录条目的FMU元数据402可以包含与相应的载荷404相关联的逻辑地址以及与载荷404相关联的FMU编号。
图1的储存装置106可以接收包含数据记录400的写入请求并且可以将数据记录400储存在易失性存储器112中。如图4所示,扇区406A包含存储器块410A(载荷404的部分包括扇区406A-406N)。在将数据记录400储存到易失性存储器112之后,写入模块324可以确定NVM装置(例如,NVM 115)以储存作为数据记录400的部分的、所接收的数据。例如,写入模块324可以将记录300中的一些数据储存到一种类型的NVM装置(例如,NVM 115)。
储存装置106可以包含一个或多个用于追踪储存数据的物理位置的存储器管理表200、408。例如,地址转换模块322可以管理存储器管理表200、408以在由主机装置104使用的逻辑地址与用于在NVM 115处实际储存数据块310的物理地址之间进行转换。地址转换模块322可以管理存储器管理表200以储存与相应的载荷306相关联的逻辑地址、以及与相应的载荷306相关联的FMU。存储器管理表200可以储存在易失性存储器112中,并且还可以储存在永久的存储器(例如,NVM 115)中。
控制器108的维护模块326可以在系统引导启动之后使用存储器块410A-410N的存储器的FMU进行存储器管理表200、408的恢复过程,这将在下文中参照图5-图7进行讨论。维护模块326配置为在正常写入操作期间储存具有数据的物理地址、以及要写入NVMA 110的每个块(包括存储器块410A-410N)中的每个FMU的序列编号,使得在故障的情况下存储器管理表200、408可以通过专用固件来重建。维护模块326还配置为内部地或通过来自主机装置104的命令来识别NVM 115处于错误恢复状态(ERS)。识别可能发生在装置初始化期间或装置初始化之后。一旦被识别为处于错误恢复状态,维护模块326使用NVMA 110的每个块的每个存储器块(例如,包括存储器块410A-410N)的每个FMU来开始构建存储器管理表200、408的过程。该过程扫描NVM 115的所有物理块,从相应的存储器块(例如,410A)提取每个FMU的物理地址、使用FMU序列编号识别每个FMU中的所储存的数据是新鲜的还是陈旧的、更新储存在易失性存储器112中的存储器管理表200、并将FMU写入NVM 115。可选地,维护模块326向主机装置104发送恢复过程已成功完成的信号。
一种用于启动ERS的方法是主系统装置104在系统引导期间调用(invoke)ERS恢复命令。在控制器108引导之后,控制器108接收ERS恢复命令,然后处理它。当控制器108尝试引导并且控制器108确定NVM 115未引导时,将发生用于引导ERS恢复过程的另一种方法。在某一次数的尝试重新引导之后,控制器108的维护模块326确定NVM 115不能重新引导,然后断定NVM 115已进入ERS状态,并且启动恢复过程。
例如,因为没有从引导分区读取,可能会启动ERS。当配置NVM 115时,引导可以被操作的参数。例如,一个参数可以是装置在没有看见(seeing)整个动作的情况下引导多少次。
图5是示出根据本公开的一个或多个技术的用于启用用于固态储存装置的管理表的自恢复的示例性技术的流程图500。为了便于说明,将同时参照图1-图2C的储存装置106对图5的技术进行描述。然而,这些技术可以与硬件或软件的任何组合一起使用。
在框505处,主机装置104的控制器108的写入模块324可以从主机装置104接收更新与特定逻辑地址相关联的数据的写入请求。响应于接收到写入请求,地址转换模块322可以使用其中储存特定的数据块的对应的物理地址来更新存储器管理表200和相关联的存储器块(例如,410A)的对应FMU。要更新的输入参数可以包含要存储的数据、逻辑地址、与该逻辑地址相关联的FMU标识符、以及对应于该逻辑地址的FMU的序列编号。存储器块(例如,410A)的每个FMU可以具有对应的逻辑地址和附加到其上的序列编号。在框510处,写入模块324可以确定对应于输入逻辑地址的逻辑-物理转换的存储器管理表200的页当前是否储存在易失性存储器112中。如果在框510处该页当前储存在易失性存储器112中,则在框515处,地址转换模块322使用其中储存该页的对应的逻辑地址和逻辑的序列编号来更新在易失性存储器112中找到的该页。地址转换模块322还更新所寻址的特定数据块的页的对应的FMU。如果在框510处该页不储存在易失性存储器112中,则在框520处,地址转换模块322确定在易失性存储器112中是否有足够的可用空间来储存含有逻辑-物理映射和(多个)FMU的序列编号的存储器管理表200的FMU。如果在框520处地址转换模块322确定在易失性存储器112中没有足够的可用空间,则在框525处地址转换模块322将页冲刷到NVM 115。如果在框520处地址转换模块322确定在易失性存储器112中存在足够的可用空间来将页储存在易失性存储器中,则在框530处,在返回在框510处执行之前,地址转换模块322从易失性存储器读取页的逻辑-物理映射、(多个)FMU和的(多个)序列编号。
图6是示出根据本公开的一个或多个技术的用于固态储存装置的管理表的自恢复的示例性技术的流程图600。为了便于说明,将同时参照图1-图2C的储存装置106对图6的技术进行描述。然而,这些技术可以与硬件或软件的任何组合一起使用。
在框605处,控制器108的维护模块326接收加载到易失性存储器112并与NVM 115相关联的存储器管理表200、408处于损坏状态(例如,错误恢复状态)的指示。维护模块326接收到存储器管理表200、408处于损坏状态的指示可以包含:维护模块326接收到用于存储器管理表200、408的自恢复的命令。可能在系统引导启动期间或系统引导启动之后接收到该命令。接收到存储器管理表处于损坏状态的指示的维护模块326还可以包含维护模块326确定阈值次数的引导控制器108的尝试已经失败。
在框610处,维护模块326检索在NVM 115的多个物理块的物理块的FMU元数据402中所储存的存储器单元的错误恢复参数。错误恢复参数可以包含NVM 115的逻辑地址和/或存储器单元的序列编号。错误恢复参数可以被加载到易失性存储器112。在框615处,维护模块326检查错误恢复参数以确定错误恢复参数指示存储器单元是新鲜的还是陈旧的。存储器单元可以是第一存储器单元。当维护模块326确定在FMU元数据402中第一存储器单元和第二存储器单元两者具有相同的逻辑地址并且确定在FMU元数据402中对应于第一存储器单元的错误恢复参数的序列编号大于对应于第二存储器的序列编号时,维护模块326确定存储器单元是新鲜的。当维护模块326确定FMU元数据402中对应于第一存储器单元的错误恢复参数的序列编号小于对应于第二存储器单元的序列编号时,维护模块326确定存储器单元是陈旧的。
在框620处,当维护模块326确定存储器单元是新鲜的时,则在框625处,维护模块326使用确定为新鲜的存储器单元的FMU元数据402的逻辑-物理转换信息来更新存储器管理表200、408。如果在框620处维护模块326确定存储器单元是陈旧的时,则在框630处维护模块326丢弃所检查的恢复参数。如果在框635处维护模块326确定不再有任何可用空间来储存易失性存储器112中的整个存储器管理表200、408,则在框645处维护模块326将已更新的存储器管理表200、408写入到NVM 115。如果在框635处维护模块326确定存在可用空间来储存易失性存储器112中的整个存储器管理表200、408,则在框640处,如果维护模块326确定已经检查了用于多个块的所有块的所有存储器单元的恢复参数,则在块640处,维护模块326将已更新的存储器管理表200、408写入NVM 115。如果在框640处维护模块326确定多个块中的至少一个块的至少一个存储器单元的恢复参数还未被检查,则维护模块326返回到执行块610。在一个实施例中,维护模块326向主机装置104发送成功完成恢复过程的信号。
在一个实施例中,一旦接收到写入请求,写入模块324使用存储器单元的逻辑地址来更新元数据和存储器管理表200、408。维护模块326可以使用程序擦除计数(PEC)来更新NVM 115的块的元数据。
图7是示出根据本公开的一个或多个技术的示例性技术的流程图700,其根据图6的块615确定所检索的块是新鲜的还是陈旧的。为了便于说明,将同时参照图1-图2C的储存装置106对图7的技术进行描述。然而,这些技术可以与硬件或软件的任何组合一起使用。
在框705处,主机装置104的控制器108的维护模块326使用零值和零序列编号值来初始化存储器管理表200和序列编号表210。在框710处,维护模块326从NVM 115读取存储器块205。在框715处,维护模块326检查来自存储器块205的下一个FMU。在框720处,维护模块326确定正在被检查并储存在存储器块205中的FMU的对应序列编号是否大于储存在存储器管理表200中的存储器块205的当前逻辑-物理地址映射中所储存的FMU序列编号。如果在框720处答案为否,则序列编号是陈旧的,序列编号被丢弃,并且执行返回到框715。如果在框720处答案为是,则在框725处维护模块326使用当前的逻辑-物理地址映射来更新与被检查的FMU相关联的存储器块205和存储器管理表200,并且更新序列编号表210中的FMU的当前序列编号。如果在框730处,被检查的FMU不是被检查的存储器块205中的最后的FMU,则执行返回到框715。如果在框730处,被检查的FMU是被检查的存储器块205中的最后的FMU,则如果在框735处被检查的存储器块205是要检查的最后的块,则在框740处维护模块326删除序列编号表210中的所有逻辑-物理序列编号页;否则,执行返回到框710。
本公开中所描述的技术可以至少部分地以硬件、软件、固件或其任何组合来实现。例如,所描述的技术的各个方面可以在一个或多个处理器内实现,一个或多个处理器包含一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其它等效的集成的或分立的逻辑电路,以及这些部件的任何组合。术语“处理器”或“处理电路”通常可以指代单独或与其它逻辑电路组合的任何前述逻辑电路,或者任何其它等效电路。包含硬件的控制单元还可以进行本公开的技术中的一个或多个。
这样的硬件、软件和固件可以在相同的装置内或在单独的装置内实现,以支持本公开中所描述的各种技术。另外,所描述的单元、模块或部件中的任何一个可以一起实现、或单独地实现为分离但可互操作的逻辑装置。将不同功能描述为模块或单元旨在强调不同的功能方面,并不一定暗示着这些模块或单元必须通过单独的硬件、固件或软件部件来实现。相反,与一个或多个模块或单元相关联的功能可以由单独的硬件、固件或软件部件、或者在功能方面的公共或单独的硬件、固件、或软件部件内集成,集成并不一定暗示着这样的模块或单元必须通过单独的硬件、固件或软件部件来实现。相反,与一个或多个模块或单元相关联的功能可以由单独的硬件、固件或软件部件来进行,或者集成在公共的或单独的硬件、固件或软件部件中。
本公开中描述的技术还可以体现或编码在包含使用指令来编码的计算机可读储存介质的制品中。嵌入或编码在制品中的指令包含所编码的计算机可读存储介质,可以导致一个或多个可编程处理器或其它处理器实施本文所描述的技术中的一个或多个技术,诸如当包含或编码在计算机可读存储介质中的指令由一个或多个处理器进行时。计算机可读储存介质可以包含随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器、硬盘、光盘ROM(CD-ROM)、软盘、盒式磁带、磁介质、光学介质或其它计算机可读介质。在一些示例中,制品可以包含一个或多个计算机可读储存介质。
在一些示例中,计算机可读储存介质可以包含非暂时性介质。术语“非暂时性”可以指示储存介质没有体现在载波或传播信号中。在某些示例中,非暂时性储存介质可以储存随时间变化(例如,在RAM或缓存中)的数据。
虽然前述内容针对本公开的实施例,但是可以在不脱离本公开的基本范围的情况下设计本公开的其它和进一步的实施例,并且本发明的范围由随后的权利要求确定。

Claims (22)

1.一种用于固态储存装置的存储器管理表的自恢复的方法,包括:
通过控制器接收加载到随机存取储存装置并与非易失储存装置相关联的存储器管理表处于损坏状态的指示;
检索所述非易失性储存装置的多个物理块的物理块的元数据中所储存的存储器单元的一个或多个错误恢复参数;
检查所述一个或多个错误恢复参数以确定所述一个或多个错误恢复参数指示所述存储器单元是新鲜的还是陈旧的;
使用确定为新鲜的所述存储器单元的元数据的逻辑-物理转换信息来更新所述存储器管理表;并且
将所述已更新的存储器管理表写入所述非易失性储存装置。
2.如权利要求1所述的方法,其中所述写入响应于已经检查了所述多个块的所有块的所有存储器单元的一个或多个错误恢复参数。
3.如权利要求1所述的方法,其中所述写入响应于在易失性存储器中没有更多空间来储存所述整个存储器管理表。
4.如权利要求1所述的方法,还包括:一旦接收到写入请求,使用所述存储器单元的逻辑地址来更新所述元数据和所述存储器管理表。
5.如权利要求1所述的方法,其中所述一个或多个错误恢复参数是所述存储器单元的逻辑地址和所述存储器单元的序列编号。
6.如权利要求1所述的方法,还包括使用程序擦除计数(PEC)来更新所述元数据。
7.如权利要求1所述的方法,其中所述一个或多个错误恢复参数被加载到易失性存储器。
8.如权利要求1所述的方法,其中所述存储器管理表处于损坏状态的指示还包括接收到用于存储器管理表的自恢复的命令。
9.如权利要求8所述的方法,其中在系统启动期间接收到所述命令。
10.如权利要求8所述的方法,其中在系统启动之后接收到所述命令。
11.如权利要求1所述的方法,其中所述存储器管理表处于损坏状态的指示还包括确定引导所述存储器控制器的阈值次数的尝试已经失败。
12.如权利要求1所述的方法,其中所述存储器单元是第一存储器单元,并且其中:
当所述第一存储器单元和所述第二存储器单元两者具有相同的逻辑地址时,并且:
当在所述元数据中对应于所述第一存储器单元的错误恢复参数的序列编号大于对应于所述第二存储器单元的序列编号时,确定所述存储器单元是新鲜的;并且
当在所述元数据中对应于所述第一存储器单元的错误恢复参数的序列编号小于对应于所述第二存储器单元的序列编号时,确定所述存储器单元为陈旧的。
13.如权利要求1所述的方法,其中当所述一个或多个错误恢复参数被确定为陈旧的时,丢弃所述一个或多个错误恢复参数。
14.如权利要求1所述的方法,其中当所述一个或多个错误恢复参数被确定为新鲜的时,使用所述错误恢复参数中的一个或多个来更新所述元数据。
15.如权利要求14所述的方法,还包括:向主机装置发送恢复过程成功完成的信号。
16.一种储存装置,包括:
非易失性储存装置;
随机存取储存装置;以及
耦接到所述非易失性储存装置和所述随机存取储存装置的控制器,所述控制器配置为:
接收加载到随机存取储存装置并且与非易失性储存装置相关联的存储器管理表处于损坏状态的指示;
检索在所述非易失性储存装置的多个物理块的物理块的元数据中所储存的存储器单元的一个或多个错误恢复参数;
检查所述一个或多个错误恢复参数以确定所述一个或多个错误恢复参数指示所述存储器单元是新鲜的还是陈旧的;
使用确定为新鲜的所述存储器单元的元数据的逻辑-物理转换信息来更新所述存储器管理表;并且
将所述已更新的存储器管理表写入所述非易失性储存装置。
17.如权利要求16所述的储存装置,其中所述非易失性储存装置选自由NAND闪速存储器装置、相变存储器装置(PCM)、磁阻随机存取存储器装置(MRAM)、电阻随机存取存储器装置(ReRAM)构成的组。
18.如权利要求16所述的储存装置,其中所述存储器单元为第一存储器单元,并且其中:
当所述第一存储器单元和所述第二存储器单元两者具有相同的逻辑地址时,并且:
当在所述元数据中对应于所述第一存储器单元的错误恢复参数的序列编号大于对应于所述第二存储器单元的序列编号时,确定所述存储器单元是新鲜的;并且
当在所述元数据中对应于所述第一存储器单元的错误恢复参数的序列编号小于对应于所述第二存储器单元的序列编号时,确定所述存储器单元为陈旧的。
19.一种储存装置,包括:
用于接收加载到随机存取储存装置并且与非易失性储存装置相关联的存储器管理表处于损坏状态的指示的构件;
用于检索在所述非易失性储存装置的多个物理块的物理块的元数据中所储存的存储器单元的一个或多个错误恢复参数的构件;
用于检查所述一个或多个错误恢复参数以确定所述一个或多个错误恢复参数指示所述存储器单元是新鲜的还是陈旧的的构件;
用于使用确定为新鲜的所述存储器单元的元数据的逻辑-物理转换信息来更新所述存储器管理表的构件;以及
用于将所述已更新的存储器管理表写入所述非易失性储存装置的构件。
20.如权利要求19所述的储存装置,
其中所述存储器单元是第一存储器单元,并且其中还包括:
当所述第一存储器单元和第二存储器单元两者具有相同的逻辑地址时,并且:
当在所述元数据中对应于所述第一存储器单元的错误恢复参数的序列编号大于对应于所述第二存储器单元的序列编号时,用于确定所述存储器单元是新鲜的构件;并且
当在所述元数据中对应于所述第一存储器单元的错误恢复参数的序列编号小于对应于所述第二存储器单元的序列编号时,用于确定所述存储器单元为陈旧的构件。
21.如权利要求19所述的储存装置,还包括,其中当所述一个或多个错误恢复参数被确定为陈旧的时,用于丢弃所述一个或多个错误恢复参数的构件。
22.如权利要求19所述的储存装置,还包括,其中当所述一个或多个错误恢复参数被确定为新鲜的时,用于使用所述一个或多个错误恢复参数来更新所述元数据的构件。
CN201810233596.8A 2017-06-28 2018-03-21 用于管理表恢复的方法 Active CN109144899B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762525887P 2017-06-28 2017-06-28
US62/525,887 2017-06-28
US15/685,555 US10459803B2 (en) 2017-06-28 2017-08-24 Method for management tables recovery
US15/685,555 2017-08-24

Publications (2)

Publication Number Publication Date
CN109144899A true CN109144899A (zh) 2019-01-04
CN109144899B CN109144899B (zh) 2023-03-31

Family

ID=64738933

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810233596.8A Active CN109144899B (zh) 2017-06-28 2018-03-21 用于管理表恢复的方法

Country Status (2)

Country Link
US (1) US10459803B2 (zh)
CN (1) CN109144899B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113971964A (zh) * 2020-07-24 2022-01-25 深圳市江波龙电子股份有限公司 一种数据恢复方法及存储设备、终端设备

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10860504B2 (en) 2018-12-05 2020-12-08 New Century Technologies Ltd. Peripheral device with embedded video codec functionality
US11481277B2 (en) * 2019-07-30 2022-10-25 EMC IP Holding Company, LLC System and method for automated restoration of recovery device
US20210089229A1 (en) * 2019-09-23 2021-03-25 Micron Technology, Inc. Loading media settings from on-media locations in a memory sub-system
US11500637B2 (en) 2020-06-15 2022-11-15 Micron Technology, Inc. Software instruction set update of memory die using page buffers
KR20220001222A (ko) * 2020-06-29 2022-01-05 에스케이하이닉스 주식회사 베드 블록을 처리하는 메모리 시스템 및 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070168698A1 (en) * 2005-11-03 2007-07-19 Coulson Richard L Recovering from a non-volatile memory failure
US8006125B1 (en) * 2005-04-29 2011-08-23 Microsoft Corporation Automatic detection and recovery of corrupt disk metadata
US20150046665A1 (en) * 2013-08-07 2015-02-12 SMART Storage Systems, Inc. Data Storage System with Stale Data Mechanism and Method of Operation Thereof

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19927639A1 (de) * 1999-06-17 2000-12-21 Bosch Gmbh Robert Verfahren zur wiederholten Übertragung von Nachrichten in einem zentral gesteuerten Kommunikationsnetz
DE60322550D1 (de) * 2003-12-09 2008-09-11 St Microelectronics Nv Methode und Apparat zur Entschachtelung aufeinanderfolgender Sequenzen von verschachtelten Abtastdaten
US8244958B2 (en) * 2005-05-09 2012-08-14 Sandisk Il Ltd. Method and system for facilitating fast wake-up of a flash memory system
US8612797B2 (en) * 2006-03-31 2013-12-17 Hewlett-Packard Development Company, L.P. Systems and methods of selectively managing errors in memory modules
US8307148B2 (en) * 2006-06-23 2012-11-06 Microsoft Corporation Flash management techniques
US7721040B2 (en) * 2007-01-18 2010-05-18 Sandisk Il Ltd. Method and system for facilitating fast wake-up of a flash memory system
WO2008099786A1 (ja) * 2007-02-13 2008-08-21 Nec Corporation メモリ障害復旧方法、情報処理装置およびプログラム
KR101473344B1 (ko) * 2007-08-24 2014-12-17 삼성전자 주식회사 플래시 메모리를 스토리지로 사용하는 장치 및 그 동작방법
US8762661B2 (en) * 2008-09-18 2014-06-24 Seagate Technology Llc System and method of managing metadata
JP4819113B2 (ja) * 2008-12-03 2011-11-24 富士通株式会社 バックアップ装置、バックアップ方法およびバックアッププログラム
US8918675B2 (en) * 2011-12-19 2014-12-23 Microsoft Corporation Rectifying corrupt sequence values in distributed systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8006125B1 (en) * 2005-04-29 2011-08-23 Microsoft Corporation Automatic detection and recovery of corrupt disk metadata
US20070168698A1 (en) * 2005-11-03 2007-07-19 Coulson Richard L Recovering from a non-volatile memory failure
US20150046665A1 (en) * 2013-08-07 2015-02-12 SMART Storage Systems, Inc. Data Storage System with Stale Data Mechanism and Method of Operation Thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113971964A (zh) * 2020-07-24 2022-01-25 深圳市江波龙电子股份有限公司 一种数据恢复方法及存储设备、终端设备
CN113971964B (zh) * 2020-07-24 2023-08-04 深圳市江波龙电子股份有限公司 一种数据恢复方法及存储设备、终端设备

Also Published As

Publication number Publication date
US10459803B2 (en) 2019-10-29
CN109144899B (zh) 2023-03-31
US20190004907A1 (en) 2019-01-03

Similar Documents

Publication Publication Date Title
KR102168838B1 (ko) 저장 장치들에 대한 매핑 테이블들
KR101861924B1 (ko) 보호된 데이터로부터 분리된 패리티 데이터 저장
US10037272B2 (en) Storage system employing MRAM and array of solid state disks with integrated switch
CN109144899A (zh) 用于管理表恢复的方法
CN102576332B (zh) 用于电力中断管理的方法和包含电力中断管理的存储器系统
CN108628771B (zh) 信息处理装置、存储设备以及信息处理系统
US10761982B2 (en) Data storage device and method for operating non-volatile memory
CN103270500B (zh) 事务日志恢复
CN107301016A (zh) 用于垃圾收集的有效性跟踪
US8909855B2 (en) Storage system employing MRAM and physically addressed solid state disk
CN103635968A (zh) 包含存储器系统控制器的设备和相关方法
US20180173419A1 (en) Hybrid ssd with delta encoding
WO2012050934A2 (en) Apparatus, system, and method for a direct interface between a memory controller and non-volatile memory using a command protocol
CN107273058A (zh) 逻辑地址偏移
TW201040719A (en) Solid state memory formatting
CN103650054A (zh) 包含存储器系统控制器的设备和相关方法
CN103635969A (zh) 包含存储器系统控制器的设备和相关方法
CN104854554A (zh) 储存转换层
US11061598B2 (en) Optimized handling of multiple copies in storage management
KR102578191B1 (ko) 리커버리 성능이 최적화된 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
KR20220103340A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR102589609B1 (ko) 분할된 저장장치에서의 스냅샷 관리
US20190361608A1 (en) Data storage device and operation method for recovery, and storage system having the same
CN115328819A (zh) 固态存储设备及写/读数据的方法
CN111324287A (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