CN101840380B - 保护元数据免受意外断电影响的装置和方法 - Google Patents

保护元数据免受意外断电影响的装置和方法 Download PDF

Info

Publication number
CN101840380B
CN101840380B CN201010134076.5A CN201010134076A CN101840380B CN 101840380 B CN101840380 B CN 101840380B CN 201010134076 A CN201010134076 A CN 201010134076A CN 101840380 B CN101840380 B CN 101840380B
Authority
CN
China
Prior art keywords
metadata
memory
weru
look
physical address
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.)
Expired - Fee Related
Application number
CN201010134076.5A
Other languages
English (en)
Other versions
CN101840380A (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.)
Marvell World Trade Ltd
Mawier International Trade Co Ltd
Original Assignee
Mawier International Trade 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 Mawier International Trade Co Ltd filed Critical Mawier International Trade Co Ltd
Publication of CN101840380A publication Critical patent/CN101840380A/zh
Application granted granted Critical
Publication of CN101840380B publication Critical patent/CN101840380B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及保护元数据免受意外断电影响的装置和方法。一种系统,包括第一存储器,该第一存储器配置成存储第一元数据以将逻辑地址和物理地址相关联。第二存储器被配置成包括所述物理地址,以根据所述物理地址存储第一数据,以及在预先决定的一组物理地址的状态改变的时候存储所述第一元数据的部分。恢复模块,其配置成根据存储在所述第二存储器中的所述第一元数据的所述部分更新第一元数据。

Description

保护元数据免受意外断电影响的装置和方法
相关申请的交叉引用
本申请要求2009年3月12日提交的美国临时申请号No.61/159775的权益。上述申请的公开通过引用在此全部并入。
技术领域
当前的公开涉及保护和重建元数据。
背景
在此提供的背景描述以一般提供本公开的环境为目的。当前列出的发明人的工作,在此工作已在此背景部分中进行描述的程度上,以及本描述中不能另外地被限定为在递交时的现有技术的方面,无论是以明确或隐含的方式均不被视为相对于本公开的现有技术。
计算设备可以包括存储数据的各种可移动和不可移动的存储设备。存储设备可以包括易失性和非易失性存储设备二者,包括,但不限于,硬盘驱动器(HDD)、光存储驱动器、随机访问存储器(RAM)、只读存储器(ROM)、和可移动存储器。例如,可移动存储器可以包括闪存。
闪存可以包括用来仿真HDD的闪存驱动器(flash drive)。例如,计算设备可以将数据存储到闪存上,就好像该闪存是HDD一样。闪存驱动可以存储元数据,该元数据指示用户的数据是如何被存储到闪存驱动器上的。例如,元数据可以指示逻辑地址是如何与包含用户数据的闪存驱动器的真实物理地址对应的。
在计算设备的操作过程中,当用户数据被从闪存驱动器中读出和写入闪存驱动器时,元数据被更新并被存储在易失性存储器上。当计算设备断电时,元数据被转移到闪存驱动器上。
发明内容
一种系统,其包括配置成存储第一元数据以将逻辑地址和物理地址相关联的第一存储器。第二存储器配置成包括物理地址,以根据物理地址存储第一数据,以及在预先决定的一组物理地址的状态改变的时候存储第一元数据的部分。恢复模块配置成根据存储在第二存储器中的第一元数据的部分来更新第一元数据。
在其他特征中,第一元数据包括将逻辑地址和物理地址相关联的第一查找表。第一元数据包括将物理地址与逻辑地址相关联的第二查找表。预先决定的一组物理地址是宽擦除块单元(wide erase block unit,WERU)。第一元数据包括用于多个WERU的标识符,并且标识符与各自的仓(bin)对应。第一元数据包括活动日志,以指示用于多个WERU中的一个WERU的第一标识符何时改变。第二存储器在第一标识符改变的时候存储第一元数据的部分。
在其他特征中,第一元数据的部分包括与多个WERU中的一个WERU关联的第二查找表的部分。恢复模块根据第二查找表的部分和活动日志更新第一查找表。当系统加电,恢复模块从第二存储器中检索第二查找表的部分和活动日志。
一种方法,其包括,在第一存储器中存储第一元数据以将逻辑地址和物理地址相关联,在包括物理地址第二存储器中根据物理地址存储第一数据,在预先决定的一组物理地址的状态改变时,在第二存储器中存储第一元数据的部分,以及根据存储在第二存储器中的第一元数据的部分来更新第一元数据。
在其他特征中,该方法还包括使用第一元数据中所包括的第一查找表将逻辑地址和物理地址相关联。该方法还包括使用第一元数据中所包括的第二查找表将物理地址和逻辑地址相关联。预先决定的一组物理地址是宽擦除块单元(WERU)。第一元数据包括用于多个WERU的标识符,以及标识符相应于各自的仓。该方法还包括使用第一元数据中所包括的活动日志指示用于多个WERU中的一个WERU的第一标识符何时改变。
在其他特征中,该方法还包括在第一标识符改变时在第二存储器中存储第一元数据的部分。第一元数据的部分包括与多个WERU中的一个WERU关联的第二查找表的部分。该方法还包括根据第二查找表的部分和活动日志更新第一查找表。该方法还包括在系统加电时,从第二存储器中检索第二查找表的部分和活动日志。
在另外的其他特征中,以上所描述的系统和方法由计算机程序来实现,该程序通过一个或更多处理来执行。该计算机程序能够存在于计算机可读的媒介中,例如,但不限于,存储器、非易失性数据储存器,和/或其他适当的有形的储存媒介。
根据详细描述、权利要求以及附图,本公开应用的其他领域将变得明显。详细描述和具体的例子目的仅旨在于阐释,并不旨在于限制本公开的范围。
附图说明
根据详细的描述和随附的附图,本公开将变得被更加充分地理解,其中:
图1是依照本公开的计算设备的原理框图;
图2阐释了依照本公开的元数据查找表;
图3阐释了依照本公开的宽擦除块单元(WERU)仓;
图4阐释了依照本公开的逆向查找表;
图5是依照本公开的处理器模块的原理框图;以及
图6是依照本公开的元数据恢复方法的流程图。
具体实施方式
下面的描述在本质上仅仅是示例性的,且其目的绝不是限制本公开、其应用或其使用。为清楚起见,将在附图中使用相同的参考数字以标识相似的组件。如在此使用的,使用非排他的逻辑或,短语“A、B以及C中的至少一个”应该解释成意味着逻辑(A或B或C)。应该理解,在不改变本公开原理的情况下,方法中的步骤可以按不同的顺序执行。
如在此使用的,短语“模块”可用来指或包括专用集成电路(ASIC)、电子电路、执行一种或多种软件或固件程序的处理器(共享的、专用的或组)和/或存储器(共享的、专用的或组)、组合逻辑电路以及/或提供所描述的功能的其他合适的部件,或作为专用集成电路(ASIC)、电子线路、执行一种或多种软件或固件程序的处理器(共享的、专用的或组)和/或存储器(共享的、专用的或组)、组合逻辑线路以及/或其他提供所描述的功能的合适的部件的一部分。
现在参考图1,计算设备10包括闪存模块12。计算设备10可以包括,但不限于,计算机、媒体播放器、移动电话、个人数字助理、或可以包括闪存模块12的任何其他设备。闪存模块12可以是可移动的存储器模块,如存储卡或USB闪存驱动器。
闪存模块12包括处理器模块14、闪存16、非易失性存储器18、和主存储器20。处理器模块14执行闪存模块12的软件和固件的指令。例如,处理器模块14可以执行存储在非易失性存储器18中的固件的指令。处理器模块14也可以读取并执行存储在主存储器20中的指令。例如,主存储器20可以包括易失性存储器,如随机访问存储器(RAM)。
闪存模块12与计算设备10的主机(host)22通信。主机22与输入设备24和输出设备26通信,也可以与辅助(secondary)储存器如HDD 28通信。输入设备24包括,但不限于,键盘或键区、鼠标、触摸屏、触摸板、麦克风、和/或其他输入设备。输出设备26包括,但不限于,显示器、扬声器、和/或其他输出设备。
计算设备10在闪存模块12中存储数据。闪存模块12可以仿真HDD。例如,依照逻辑块地址(LBA),数据被存储在HDD 28中,该逻辑块地址与HDD 28的物理块地址(PBA)对应。典型地,HDD LBA是512字节。换句话说,主机22依照LBA引用(reference)HDD 28中的数据,同时HDD 28依照PBA引用数据。
相反地,数据依照逻辑分配地址(LAA)被存储在闪存模块12中(即,在闪存16中),该逻辑分配地址相应于闪存16的物理分配地址(PAA)。仅作为示例,LAA为4096字节。闪存分配单元(flash allocation unit,AU)相应于闪存16的读或写单元并且可以等同于一个LAA。宽擦除块单元(WERU)是擦除操作单元并相应于多个(即,2048个)PAA。
当计算设备10向LAA写数据时,闪存模块12(即,闪存模块12的固件)选择相应的PAA,这被称为“分配”。例如,处理器模块14依照存储在非易失性存储器18中的固件处理命令,以从闪存16读取数据和向闪存16写入数据。闪存模块12将数据存储在闪存16的PAA,并将元数据存储在主存储器20中,该元数据指示LAA和相应的PAA之间的关系。例如,元数据可以包括将LAA和PAA关联起来的查找表(LUT)。该查找表将每一个被分配的LAA与PAA关联。如果特定的LAA没有被分配,则该LAA可以与可识别的无效PAA值关联。
元数据也包括WERU描述数据,包括,但不限于,PAA有效性映射、WERU链接信息,和擦除信息。每个WERU包括将该WERU与特定的仓(bin)关联起来的标识符。例如,WERU可以与空闲(free)仓、有效仓、部分仓、或工作仓关联。空闲仓包括其PAA已准备好被写入的WERU。有效仓包括其PAA是所有有效数据的WERU。部分仓包括既包含带有有效数据的PAA,也包含带有无效数据的PAA(即,其LAA数据被随后写入其他地方的PAA)的WERU。工作仓包括目前正在被写入的WERU。
元数据也包括相应于闪存模块12的内部操作的数据,这些内部操作包括,仅作为示例,耗损均衡、清除、和静态管理数据。
当计算设备10从LAA中进行读取时,存储在主存储器20中的查找表指示应该从哪个PAA中读取数据,并且闪存模块12相应地检索该数据。相反地,当计算设备10向一个之前被写入的LAA写入,闪存模块12分配未使用的PAA给该LAA。数据被存储在新的PAA中,LUT被相应地更新。这样,存储在主存储器20中的元数据使得能够分配和检索来自闪存16中的适当的PAA中的数据。
当数据写入闪存模块12时,存储在主存储器20中的元数据被更新。在计算设备10(并且因此闪存模块12)断电之前,元数据被从主存储器20转移至闪存16。当计算设备10被加电时,元数据被从闪存16转移至主存储器20,以在LAA和PAA之间建立适当的关联。例如,元数据可以在计算设备10加电的过程中被转移至主存储器20。
加电之后,在计算设备10的操作过程中对存储在主存储器20中的元数据所做的任何改变将不会作用到闪存模块12上,直到断电,或直到对内部元数据保存命令做出响应,其中内部元数据保存命令可以由闪存模块12的固件周期性地产生。当在计算设备10的操作过程中意外掉电,对存储在主存储器20中的元数据所做的改变可能丢失。相应地,存储在闪存16中的元数据没有更新(即,元数据是旧的),并相应于计算设备10的之前的正常断电。在随后的加电时,旧的元数据被从闪存16转移至主存储器20,导致错误地分配和检索闪存16中的数据。
现在参考图2,存储在主存储器20中的元数据LUT 100将LAA 102和闪存模块12的PAA 104关联起来。例如,当读取命令请求与LAA 106关联的数据时,数据实际上是从相应的PAA 108中检索的。仅作为示例,如图2中所显示的,实心块指示与PAA 104中的一个相关联的LAA 102,空心块指示不与PAA 104中的一个相关联的LAA 102。类似地,关于PAA104,实心块指示存储数据并被分配给LAA 102中的一个的PAA 104。空心块指示不包含数据的PAA 104。
例如,LAA 106对应于PAA 108。相应地,从LAA 106请求的数据将从PAA 108中进行检索。相似地,从LAA 110请求的数据将从PAA 112中进行检索。相反地,当数据被写入空的LAA 114时,空的或不包含有效数据的PAA(例如,PAA 116)将在分配的过程中被选择。相应地,写入LAA 114的数据实际上将被写入PAA 116或工作中的WERU中的PAA 104中的另一个。
仅作为示例,WERU A-G中的每一个可以包括一组三个PAA 104。例如,WERU A和E为工作中的WERU(即,目前正在被写入的WERU)。WERU B和D为部分WERU。WERU C为有效WERU。WERU F和G为空闲WERU。
当数据被写入已经与PAA 122关联的LAA 120中时,第二PAA 124被分配给LAA 120。当数据被再次写入LAA 120时,第三PAA 126被分配给LAA 120。换句话说,PAA 122和124存储之前与LAA 120关联的旧的或失效的数据,PAA 126存储新数据。
LUT 130代表存储在闪存16中的查找表。LUT 130在加电过程中被作为查找表102转移给主存储器20。对LUT 102所做的任何改变不在存储在闪存16中的LUT 130中反映出来。例如,LUT 130可以不指示随后的对LAA 132和134所做的改变。
如图2中所显示的,当数据被写入PAA 104但是不在闪存16中被更新时,包括存储在主存储器20中的LUT 100的元数据被更新。例如,存储在闪存16中的元数据指示在计算设备10最近加电时的LUT 100的状态。相应地,存储在闪存16中的元数据可以指示LAA 120仍然与PAA 122关联。
如果计算设备10意外掉电,则存储在主存储器20中的元数据丢失。在下一次加电时,存储在闪存16中的元数据被转移至主存储器20。相应地,从LAA 102中的一个读取在掉电之前被写入的数据的请求将从PAA104中的一个检索旧的数据。例如,对从LAA 120中读取数据的请求,数据将从PAA 122中检索而不是从PAA 126中检索。
现在参考图3,存储在主存储器20中的元数据包括将每一个WERU与仓200中特定的一个关联起来的数据。例如,WERUA和E与工作仓202关联。WERU B和D与部分仓204关联。WERU C与有效仓206关联。WERU F和G与空闲仓208关联。
存储在主存储器20中的元数据包括WERU活动日志(WAL)。WAL指示特定的WERU何时改变状态。例如,WAL指示何时WERU从仓200中的一个移动到仓200中的另一个。例如,当数据被写入空闲WERU F时,空闲WERU F移动至工作仓202,然后移动至部分仓204。当WERU F被有效数据填满时,WERU F移动至有效仓206。
现在参考图4,存储在主存储器20中的元数据包括逆向查找表(RLUT)300。RLUT 300将闪存16的PAA 302与LAA 304关联。RLUT 300的一部分被周期性地存储在闪存16中。例如,当特定的WERU从工作仓202移动到有效仓206时,与移动到工作仓202的WERU相应的RLUT 300的一部分被存储在闪存16中。PAA 302和LAA 304(及如图2中所显示的LAA 102和PAA 104)之间最近的(即,正确的)关联能够在意外掉电之后使用LUT 100、RLUT 300、和WAL恢复。
仅作为示例,如图4中所显示的,实心块指示存储数据并被分配给LAA304中的一个的PAA 302。空心块指示不包含数据的PAA 302。关于LAA304,实心块指示与PAA 302中的一个关联的LAA 304,空心块指示不与PAA 302中的一个关联的LAA 304。
现在参考图5,处理器模块包括恢复模块400。仅作为示例,恢复模块400可以包括或执行存储在非易失性存储器18中的固件。在加电时,计算设备10转移存储在闪存16中的元数据至主存储器20,恢复模块400确定是否执行元数据恢复。例如,在正常的(即,预定或有意图的)断电之后,元数据可以指示用户发起断电。如果元数据不指示用户发起断电,则恢复模块400可以确定意外掉电发生,从而执行元数据恢复。
在元数据恢复的过程中,恢复模块400根据WAL标识在掉电之前被写入或被擦除的WERU。WAL指示特定的WERU何时从仓200中的一个移动至仓200中的另一个。对每一个WERU,WAL包括一个时间(即,时间戳(timestamp)),该时间指示WERU何时被写入或擦除。从而,WAL指示WERU中的哪些被写入(即,移动至工作仓202)和/或被擦除(即,移动至空闲仓208)。
恢复模块400根据WAL和RLUT 300更新存储在主存储器20中的元数据。例如,恢复模块400更新WERU仓和LUT 100。恢复模块400移动WERU中的每一个至正确的仓。换句话说,如果元数据指示WERU位于空闲仓208内,以及WAL指示该WERU被写入并被有效数据填充,则恢复模块400移动该WERU至有效仓206。恢复模块400根据WAL移动每一个WERU至仓200中恰当的一个。
当WERU位于适当的仓内时,恢复模块400根据RLUT 300更新LUT100。从具有最近活动的WERU(即,根据时间戳被最近写入和/或擦除的WERU)开始,恢复模块400为每一个WERU执行逆向分配。
再次参考图4,仅有RLUT 300的部分被存储在闪存16中,这些部分相应于被从一个仓移动至另一个仓的WERU。例如,没有数据被写入WERU F和G。相应地,WERU F和G保持与空闲仓208的关联,与WERUF和G相应的RLUT 300的部分没有被写入闪存16中。在元数据恢复的过程中,恢复模块400不需要更新与WERU F和G相应的LUT 100的部分。
相反地,MERU A和D例如从空闲仓208移动至部分仓204,以及存储在闪存16中的RLUT 300被相应地更新。从而,存储在主存储器20中的LUT 100中的数据可以不反映在掉电之前对WERU A和D所做的改变。例如,PAA 310、312、314中的每一个可以与单个LAA 316关联。
在元数据恢复过程中,恢复模块400根据WAL将WERU A和D标识为从仓200中的一个移动至另一个的WERU。恢复模块400根据WAL进一步确定对WERUA进行了最近的改变。因此,恢复模块400确定PAA 300包括最新的数据,并根据WAL、RLUT 300、和逆向分配被适当地与LAA316关联。恢复模块400用每个WERU的适当关联更新LUT 100。
在一些情况下,恢复模块400可能不能够确定PAA 302中之一是与LAA 304中的哪一个关联。闪存16中的PAA中的每一个包括指示该PAA与哪一个LAA关联的数据。恢复模块400可以读取存储在PAA中的数据来确定适当的LAA关联。
恢复模块400还更新WERU描述数据,包括,但不限于,WERU有效性映射、链接信息、和擦除信息(例如,每个WERU被擦除的次数)。WERU描述数据可以包括分配映射(allocation map),该分配映射指示为工作仓202中的WERU读取PAA的每个时刻。
现在参考图6,显示了元数据恢复方法500。在502,计算设备10被加电。在504,恢复模块400从闪存16转移元数据至主存储器20。在506,恢复模块400确定计算设备10是否被适当地断电。如果为真,方法500继续至508。如果为假,方法500继续至510。在508,计算设备10继续正常操作,而不执行元数据恢复。
在510,恢复模块400根据WAL移动每一个WERU至适当的仓。在512,恢复模块400根据WAL和RLUT 300更新LUT 100。在514,恢复模块400根据存储在任何剩余的PAA中的LAA关联数据来更新LUT 100。在516,恢复模块400更新WERU描述数据,计算设备10继续正常操作。
本公开的宽泛的教导内容可按多种形式来实施。因此,虽然本公开包括特定的例子,但本公开的实际范围将不应该受限于此,因为基于对附图、说明书以及下面的权利要求的研究,其他修改将变得很明显。

Claims (12)

1.一种保护元数据免受意外断电影响的设备,包括:
第一存储器,其配置成存储第一元数据以将逻辑地址和物理地址相关联;
第二存储器具有所述物理地址,其中所述第二存储器被配置为:
根据所述第二存储器的物理地址存储第一数据,以及
i)响应于预先决定的一组物理地址的状态被改变,以及ii)无关于所述设备是否被断电,存储所述第一元数据的部分;以及
恢复模块,其配置成响应于确定所述设备被不适当地断电,根据存储在所述第二存储器中的所述第一元数据的所述部分来更新存储在所述第一存储器中的所述第一元数据,
其中所述第一元数据包括第一查找表,以将逻辑地址和所述第二存储器的所述物理地址相关联;
其中所述第一元数据包括第二查找表,以将所述第二存储器的所述物理地址与所述逻辑地址相关联;
其中所述预先决定的一组物理地址为宽擦除块单元WERU;
其中所述第一元数据包括用于多个WERU的标识符,以及其中所述标识符相应于各自的仓;以及
其中所述第一元数据包括活动日志,以指示用于所述多个WERU中的一个WERU的第一标识符何时改变。
2.如权利要求1所述的设备,其中所述第一存储器包括易失性存储器,以及所述第二存储器包括闪存模块。
3.如权利要求1所述的设备,其中所述仓包括工作仓、部分仓、有效仓、和空闲仓。
4.如权利要求1所述的设备,其中所述第二存储器在所述第一标识符改变的时候存储所述第一元数据的所述部分。
5.如权利要求4所述的设备,其中所述第一元数据的所述部分包括与所述多个WERU中的所述一个WERU关联的所述第二查找表的部分。
6.如权利要求5所述的设备,其中所述恢复模块根据所述第二查找表的所述部分及所述活动日志更新所述第一查找表。
7.如权利要求6所述的设备,其中当所述设备加电时,所述恢复模块从所述第二存储器中检索所述第二查找表的所述部分及所述活动日志。
8.一种用于操作设备以保护元数据免受意外断电影响的方法,所述方法包括:
在第一存储器中存储将逻辑地址和物理地址相关联的第一元数据,其中所述物理地址与第二存储器相关联;
在所述第二存储器中根据所述第二存储器的所述物理地址存储第一数据;
i)响应于预先决定的一组物理地址的状态被改变;以及ii)无关于所述设备是否被断电,在所述第二存储器中存储所述第一元数据的部分;以及
响应于确定所述设备被不适当地断电,根据存储在所述第二存储器中的所述第一元数据的所述部分来更新存储在所述第一存储器中的所述第一元数据;
根据包括在所述第一元数据中的第一查找表将所述逻辑地址与所述第二存储器的所述物理地址相关联;
根据包括在所述第一元数据中的第二查找表将所述第二存储器的所述物理地址与所述逻辑地址相关联;
其中所述预先决定的一组物理地址为宽擦除块单元WERU;以及
其中所述第一元数据包括用于多个WERU的标识符,以及其中所述标识符对应于各自的仓;以及
使用包括在所述第一元数据中的活动日志指示用于所述多个WERU中的一个WERU的第一标识符何时改变。
9.如权利要求8所述的方法,还包括在所述第一标识符改变的时候在所述第二存储器中存储所述第一元数据的所述部分。
10.如权利要求9所述的方法,其中所述第一元数据的所述部分包括与所述多个WERU中的所述一个WERU关联的所述第二查找表的部分。
11.如权利要求10所述的方法,还包括根据所述第二查找表的所述部分和所述活动日志来更新所述第一查找表。
12.如权利要求11所述的方法,还包括在所述设备加电时,从所述第二存储器中检索所述第二查找表的所述部分和所述活动日志。
CN201010134076.5A 2009-03-12 2010-03-12 保护元数据免受意外断电影响的装置和方法 Expired - Fee Related CN101840380B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15977509P 2009-03-12 2009-03-12
US61/159,775 2009-03-12
US12/619,938 2009-11-17
US12/619,938 US8572309B2 (en) 2009-03-12 2009-11-17 Apparatus and method to protect metadata against unexpected power down

Publications (2)

Publication Number Publication Date
CN101840380A CN101840380A (zh) 2010-09-22
CN101840380B true CN101840380B (zh) 2015-01-07

Family

ID=42731608

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010134076.5A Expired - Fee Related CN101840380B (zh) 2009-03-12 2010-03-12 保护元数据免受意外断电影响的装置和方法

Country Status (2)

Country Link
US (2) US8572309B2 (zh)
CN (1) CN101840380B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8572309B2 (en) * 2009-03-12 2013-10-29 Marvell World Trade Ltd. Apparatus and method to protect metadata against unexpected power down
EP2302637B1 (fr) 2009-09-21 2014-09-03 STMicroelectronics (Rousset) SAS Méthode d'écriture de données dans une mémoire non volatile, protegée contre l'arrachement
US8255617B2 (en) * 2010-01-26 2012-08-28 Seagate Technology Llc Maintaining data integrity in a data storage device
US8364886B2 (en) * 2010-01-26 2013-01-29 Seagate Technology Llc Verifying whether metadata identifies a most current version of stored data in a memory space
US8886870B2 (en) * 2010-05-25 2014-11-11 Marvell World Trade Ltd. Memory access table saving and restoring system and methods
KR101301828B1 (ko) * 2011-09-29 2013-08-29 한양대학교 산학협력단 플래시 메모리에 기반한 ssd에서의 전원-손실 복구 방법 및 장치
US9164887B2 (en) * 2011-12-05 2015-10-20 Industrial Technology Research Institute Power-failure recovery device and method for flash memory
US9213632B1 (en) 2012-02-29 2015-12-15 Marvell International Ltd. Systems and methods for data storage devices to use external resources
CN102662795A (zh) * 2012-03-20 2012-09-12 浪潮电子信息产业股份有限公司 一种分布式存储系统中元数据容错恢复方法
US9037820B2 (en) 2012-06-29 2015-05-19 Intel Corporation Optimized context drop for a solid state drive (SSD)
CN102929806B (zh) * 2012-10-24 2015-09-09 威盛电子股份有限公司 适用于存储装置的编码操作的进度记录方法和恢复方法
CN105468544B (zh) * 2014-09-11 2021-05-11 深圳市腾讯计算机系统有限公司 实现防掉电文件系统的方法、装置以及防掉电文件系统
CN105808378B (zh) * 2016-02-26 2018-10-30 华为技术有限公司 元数据修复方法及装置
CN107220142B (zh) * 2016-03-22 2020-10-09 阿里巴巴集团控股有限公司 执行数据恢复操作的方法及装置
CN106933706A (zh) * 2017-03-10 2017-07-07 联想(北京)有限公司 非易失性内存的掉电保护方法及装置
CN107402724B (zh) * 2017-07-31 2020-07-24 苏州浪潮智能科技有限公司 一种SSD中Journal元数据的保存方法及系统
CN107422992A (zh) * 2017-07-31 2017-12-01 郑州云海信息技术有限公司 一种SSD运行时Journal保存方法及系统
CN108446009A (zh) * 2018-03-10 2018-08-24 北京联想核芯科技有限公司 掉电控制方法、装置、设备及介质
CN113467698A (zh) * 2020-03-30 2021-10-01 珠海全志科技股份有限公司 基于文件系统的写方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1504896A (zh) * 2002-10-28 2004-06-16 三因迪斯克公司 在非易失性存储器系统中执行块高速缓冲存储的方法和装置
CN101154190A (zh) * 2006-09-27 2008-04-02 三星电子株式会社 映射信息管理设备和方法
CN101300554A (zh) * 2005-11-03 2008-11-05 英特尔公司 非易失性存储器故障的恢复

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631162B2 (en) * 2005-10-27 2009-12-08 Sandisck Corporation Non-volatile memory with adaptive handling of data writes
JP2008009527A (ja) * 2006-06-27 2008-01-17 Toshiba Corp メモリシステム
WO2008106686A1 (en) * 2007-03-01 2008-09-04 Douglas Dumitru Fast block device and methodology
US8572309B2 (en) * 2009-03-12 2013-10-29 Marvell World Trade Ltd. Apparatus and method to protect metadata against unexpected power down

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1504896A (zh) * 2002-10-28 2004-06-16 三因迪斯克公司 在非易失性存储器系统中执行块高速缓冲存储的方法和装置
CN101300554A (zh) * 2005-11-03 2008-11-05 英特尔公司 非易失性存储器故障的恢复
CN101154190A (zh) * 2006-09-27 2008-04-02 三星电子株式会社 映射信息管理设备和方法

Also Published As

Publication number Publication date
US20100235565A1 (en) 2010-09-16
CN101840380A (zh) 2010-09-22
US20140052904A1 (en) 2014-02-20
US8572309B2 (en) 2013-10-29
US9092323B2 (en) 2015-07-28

Similar Documents

Publication Publication Date Title
CN101840380B (zh) 保护元数据免受意外断电影响的装置和方法
US11640353B2 (en) Memory system, data storage device, user device and data management method thereof
CN107608908B (zh) 用于数据储存装置的磨损平均方法
CN102054533B (zh) 隔离顺序、随机和系统数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器
CN109783017B (zh) 一种存储设备坏块的处理方法、装置及存储设备
US10061710B2 (en) Storage device
CN113508382B (zh) Ssd中数据的选择性擦除
CN102779096B (zh) 一种基于页块面三维的闪存地址映射方法
CN101918928B (zh) 包括一次写入存储器器件和多次写入存储器器件的用于计算机的存储子系统及相关方法
CN104050094A (zh) 管理高速缓存存储区的系统、方法和计算机可读介质
CN103049349B (zh) 基于分层存储的快照方法及系统
CN104461391A (zh) 一种存储设备元数据管理处理方法及系统
CN110673789B (zh) 固态硬盘的元数据存储管理方法、装置、设备及存储介质
KR20100110652A (ko) 메모리 장치 및 메모리 장치의 펌웨어 업데이트 방법
CN103294604A (zh) 闪存器件和使用闪存器件的电子设备
US20180150390A1 (en) Data Storage Device and Operating Method Therefor
CN104854554A (zh) 储存转换层
US9983826B2 (en) Data storage device deferred secure delete
CN110928487A (zh) 存储装置和存储装置的操作方法
CN102096561A (zh) 分层数据存储处理方法、装置以及存储设备
CN103176920A (zh) Nor flash掉电保护方法及装置
CN104408126B (zh) 一种数据库的持久化写入方法、装置和系统
CN104915265B (zh) 数据备份方法和电子设备
CN104102456B (zh) 存储器装置机器操作方法
JP4966418B1 (ja) 情報処理装置及び書き込み制御方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150107

Termination date: 20190312