CN102253868A - 用于数据恢复的方法以及用于数据恢复的装置 - Google Patents

用于数据恢复的方法以及用于数据恢复的装置 Download PDF

Info

Publication number
CN102253868A
CN102253868A CN2010102782024A CN201010278202A CN102253868A CN 102253868 A CN102253868 A CN 102253868A CN 2010102782024 A CN2010102782024 A CN 2010102782024A CN 201010278202 A CN201010278202 A CN 201010278202A CN 102253868 A CN102253868 A CN 102253868A
Authority
CN
China
Prior art keywords
data
block
page
blocks
flash
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
CN2010102782024A
Other languages
English (en)
Other versions
CN102253868B (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.)
MediaTek Inc
Original Assignee
MediaTek 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 MediaTek Inc filed Critical MediaTek Inc
Publication of CN102253868A publication Critical patent/CN102253868A/zh
Application granted granted Critical
Publication of CN102253868B publication Critical patent/CN102253868B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • 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/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

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)
  • Memory System (AREA)

Abstract

一种用于数据恢复的方法、用于数据恢复的装置以及用于快闪装置的数据恢复的方法。其中用于数据恢复的方法包括从主机获得第一数据;从存储器的多个页面选择第一页面用于储存第一数据;储存指示第一页面的物理地址的起始页面链接;将第一数据、指示下一个页面的物理地址的第一页面链接以及第一快闪转换层分段数据写入第一页面;从主机获得下一个数据;将下一个数据、指示后续页面的物理地址的下一个页面链接以及相应于下一个页面的快闪转换层分段数据写入下一个页面。本发明的效果之一在于,能够在电源突然关闭后恢复最新的FTL数据。

Description

用于数据恢复的方法以及用于数据恢复的装置
技术领域
本发明涉及快闪装置,尤其涉及用于数据恢复的方法、用于数据恢复的装置以及用于快闪装置的数据恢复的方法。
背景技术
快闪装置(例如记忆卡)是一种包括用于数据储存的快闪存储器的装置。快闪存储器是非易失(non-volatile)存储器,能够被电擦除或重程序化(reprogrammed)。快闪装置用于为主机储存数据,主机可例如个人计算器。当主机要将数据储存至快闪装置时,主机将数据随同数据的逻辑地址发送至快闪装置,其中逻辑地址表示储存数据的位置。然而,快闪存储器根据物理地址储存数据。因此快闪装置必须首先将主机发送的逻辑地址转换为物理地址,然后指示快闪存储器将数据储存至具有逻辑地址的存储器空间中。因此,快闪装置包括微处理器,微处理器能够将主机的逻辑地址转换为快闪存储器的物理地址。
为了将逻辑地址转换为物理地址,快闪装置需要记录逻辑地址与物理地址之间的映像关系(mapping relationship)。逻辑地址与物理地址之间的映像关系称为快闪转换层(Flash Translation Layer,FTL)数据。FTL数据常储存于快闪装置的快闪存储器中。致能快闪装置后,微处理器将来自快闪存储器的FTL数据承载至快闪装置的动态随机存取存储器(Dynamic Random AccessMemory,DRAM),并且微处理器接着根据储存于DRAM中的FTL数据将逻辑地址转换为物理地址。
每当一个时间周期过去后,快闪装置的微处理器必须根据储存于DRAM中的最新(latest)FTL数据更新储存于快闪存储器中的FTL数据,这样储存于快闪存储器中的FTL数据与储存于DRAM中的最新FTL数据保持相同。然而,当快闪装置的电源突然关闭时,储存于快闪存储器中的FTL数据没有时间进行更新,所以电源的突然关闭导致储存于DRAM中的最新FTL数据丢失。重新获得快闪存储器的电源后,快闪装置的微处理器必须首先恢复最新的FTL数据。否则,因为储存于快闪存储器中的FTL数据的版本不是最新版本,微处理器会根据FTL数据的错误信息将逻辑地址转换为物理地址。举例来说,当主机请求快闪装置读取数据时,快闪装置可能读取快闪存储器的旧(old)物理地址从而得到错误的数据。当主机请求快闪装置写入数据时,快闪装置可能误将使用过的数据区块当作空数据区块并覆盖使用过的数据区块中的数据。因此,需要一种为快闪装置恢复最新FTL数据的方法。
发明内容
有鉴于此,本发明提供用于数据恢复的方法、用于数据恢复的装置以及用于快闪装置的数据恢复的方法。
一种用于数据恢复的方法,其特征在于,存储器包括用于数据储存的多个页面,随机存取存储器根据所述多个页面的逻辑地址与物理地址之间的映像关系储存快闪转换层数据,并且所述存储器储存所述快闪转换层数据的前一个版本,所述用于数据恢复的方法包括:从主机获得第一数据;从所述存储器的所述多个页面选择第一页面用于储存所述第一数据;在所述存储器中储存指示所述第一页面的物理地址的起始页面链接;将所述第一数据、指示下一个页面的物理地址的第一页面链接以及相应于所述第一页面的第一快闪转换层分段数据写入所述第一页面;从所述主机获得下一个数据;以及将所述下一个数据、指示后续页面的物理地址的下一个页面链接以及相应于所述下一个页面的快闪转换层分段数据写入所述下一个页面。
一种用于数据恢复的装置,其特征在于,所述用于数据恢复的装置包括:存储器,包括用于数据储存的多个页面;随机存取存储器,根据所述多个页面的逻辑地址与物理地址之间的一映像关系储存快闪转换层数据;微处理器,用于从主机获得第一数据,从所述存储器的所述多个页面选择第一页面用于储存所述第一数据,在所述存储器中储存指示所述第一页面的物理地址的起始页面链接,将所述第一数据、指示下一个页面的物理地址的第一页面链接以及相应于所述第一页面的第一快闪转换层分段数据写入所述第一页面,从所述主机获得下一个数据以及将所述下一个数据、指示后续页面的物理地址的下一个页面链接以及相应于所述下一个页面的快闪转换层分段数据写入所述下一个页面。
一种用于快闪装置的数据恢复的方法,其特征在于,所述快闪装置的存储器包括用于数据储存的多个页面,随机存取存储器根据所述多个页面的逻辑地址与物理地址之间的映像关系储存快闪转换层数据,并且所述快闪存储器储存所述快闪转换层数据的前一个版本,所述用于快闪装置的数据恢复的方法包括:从主机获得第一数据;从所述快闪存储器的所述多个页面选择第一页面用于储存所述第一数据;将所述第一数据、指示所述快闪转换层数据的前一个版本的第一页面链接以及相应于所述第一页面的第一快闪转换层分段数据写入所述第一页面;从所述主机获得下一个数据;以及将所述下一个数据、指示所述第一页面的前一个页面链接以及相应于下一个页面的快闪转换层分段数据写入所述下一个页面。
一种用于快闪装置的数据恢复的方法,其特征在于,所述快闪装置的快闪存储器包括多个区块,并且所述多个区块中的每个包括用于数据储存的多个页面,所述用于快闪装置的数据恢复的方法包括:当将数据写入从所述多个区块选择的目标区块的目标页面时,在所述目标页面中记录所述目标区块的区块类型与物理区块号;恢复所述快闪装置的电源后,根据储存于所述目标区块的多个页面中的区块类型与物理区块号决定所述目标区块是否是废料收集区块;以及根据所述目标区块是否是废料收集区块重建快闪转换层数据,其中所述快闪转换层数据记录逻辑区块号与物理区块号之间的映射关系。
一种用于数据恢复的装置,其特征在于,包括:存储器,包括多个区块,其中所述多个区块中的每个包括用于数据储存的多个页面;以及微处理器,当将数据写入目标页面时,在所述目标页面中记录目标区块的区块类型与物理区块号,恢复所述装置的电源后,根据储存于所述目标区块的多个页面中的区块类型与物理区块号决定所述目标区块是否是废料收集区块,并且根据决定结果重建快闪转换层数据,其中所述快闪转换层数据记录逻辑区块号与物理区块号之间的映射关系。
本发明的效果之一在于,能够在电源突然关闭后恢复最新的FTL数据。
以下为根据多个图式对本发明的较佳实施例进行详细描述,所属技术领域技术人员阅读后应可明确了解本发明的目的。
附图说明
图1为根据本发明的装置的方块示意图。
图2A为根据本发明的实施例的用于将FTL恢复信息写入快闪存储器的页面的方法的示意图。
图2B为根据本发明的用于恢复最新FTL数据的方法的流程示意图。
图3A为根据本发明另一实施例的将FTL恢复信息写入快闪存储器的页面的方法的示意图。
图3B为根据本发明的用于恢复最新FTL数据的方法的流程示意图。
图4为根据本发明另一实施例的用于将FTL恢复信息写入快闪存储器的页面的方法的示意图。
图5为根据本发明另一实施例的用于将FTL恢复信息写入快闪存储器的页面的方法的示意图。
图6为相应于逻辑区块号的多个区块的实施例的示意图。
图7为决定目标区块是否为废料收集区块的方法的流程示意图。
图8为从相应于逻辑区块号的多个区块决定最新的区块的方法的流程示意图。
图9为有效区块转变为数据区块的实施例的示意图。
图10为相应于逻辑区块号的多个区块的实施例的示意图。
图11为决定目标区块是否为废料收集区块的方法的流程示意图。
图12为从相应于逻辑区块号的多个区块决定最新的区块的方法的流程示意图。
图13为有效区块转变为数据区块的实施例的示意图。
图14为相应于逻辑区块号的多个区块的另一个实施例的示意图。
图15为根据本发明一个实施例的多个区块的示意图。
具体实施方式
下面的实施例仅用来例举本发明的实施态样,以及阐释本发明的技术特征,并非用来限制本发明的范畴。所属技术领域技术人员可依据本发明的精神轻易完成的改变或均等性的安排均属于本发明所主张的范围,本发明的权利范围应以权利范围为准。
图1为根据本发明一实施例的装置100的方块示意图。装置100包括微处理器102、RAM(例如DRAM 104)、存储器控制器106、存储器108以及主机界面107。举例来说,装置100可为快闪装置,存储器108可为快闪存储器。装置100用于为主机(图未示)储存数据。主机界面107用于主机与微处理器102之间的数据通信。DRAM 104用于为微处理器102储存数据。存储器控制器106控制快闪存储器108的操作。快闪存储器108包括多个区块,并且每个区块包括多个用于数据储存的页面(page)。快闪存储器108储存FTL数据109(图中显示为FTL),其中FTL数据109记录主机使用的逻辑地址与快闪存储器108使用的物理地址之间的映像关系。致能装置100后,微处理器102将FTL数据承载至DRAM 104,并且根据储存于DRAM 104中的FTL数据105(图中显示为最新FTL)将从主机接收的逻辑地址转换为物理地址。微处理器102在储存于DRAM 104中的FTL数据105中记录逻辑地址与物理地址之间的新映像关系。因此,储存于DRAM 104中的FTL数据105包括地址映像关系的最新版本。
因为储存于DRAM 104中的最新FTL数据105与储存于快闪存储器108中的FTL数据109有些不同,因此微处理器102需要保持FTL数据109与最新FTL数据105相同。每当一个预设时间周期过去后,微处理器102就根据储存于DRAM 104中的最新FTL数据105更新储存于快闪存储器108中的FTL数据109。然而,当装置100的电源突然关闭时,微处理器102没有时间更新储存于快闪存储器108中的FTL数据109,并且电源的突然关闭导致储存于DRAM104中的最新FTL数据105丢失。装置100重新获得电源后,微处理器102需要恢复最新FTL数据105以用于地址转换。为了参考最新FTL数据105,每当将数据写入新页面时,微处理器102将一些信息随着数据写入新页面。
请参考图2A。图2A为根据本发明的实施例的用于将FTL恢复信息写入快闪存储器108的页面的方法的示意图。微处理器102首先根据储存于DRAM104中的最新FTL数据105更新储存于快闪存储器108中的FTL数据109,其中FTL数据109与最新FTL数据105相同。假设主机要将一系列数据写入装置100,并且主机界面107从主机顺序地接收数据序列。微处理器102首先决定快闪存储器108的第一页面111以用于储存数据序列的第一数据。微处理器102接着记录起始页面链接110(图中显示为S),起始页面链接110用于指示快闪存储器108中的第一页面111的物理地址。微处理器102接着指导存储器控制器106将第一数据写入第一页面111。将第一数据写入第一页面111后,微处理器102同样指导存储器控制器106将下一个页面链接N1(即下一个页面链接N1能视为第一页面链接)以及FTL片段数据T1(即FTL片段数据T1能视为第一FTL片段数据)写入第一页面111,其中下一个页面链接N1指示第二页面112的物理地址(即第二页面112能视为第一页面111的下一个页面),并且FTL片段数据T1是相应于写入第一页面111的数据的最新FTL数据105的更新数据。
微处理器102接着指导存储器控制器106将数据序列的第二数据写入第二页面112。将第二数据写入第二页面112后,微处理器102同样指导存储器控制器106将下一个页面链接N2以及FTL片段数据T2写入第二页面112,其中下一个页面链接N2指示第三页面的物理地址,并且FTL片段数据T2是相应于写入第二页面112的数据的最新FTL数据105的更新数据。微处理器102接着以与第一页面111以及第二页面112相同的方式将数据写入后续页面(例如,11K页面是11(K-1)页面的后续页面)。换句话说,每当微处理器102将数据写入新页面,微处理器102同样写入指示后续页面的物理地址的下一个页面链接以及相应于写入新页面的数据的FTL分段数据。换句话说,重复执行写入下一个数据、下一个页面链接以及下一个页面的快闪转换层分段数据的步骤直到主机不再发送新数据。最后,微处理器102将数据序列的最终数据、下一个页面链接NK以及FTL分段数据TK写入最终页面11K,其中下一个页面链接NK指向空值(NULL)。当传统快闪装置的电源突然关闭后,储存于DRAM 104中的最新FTL数据会丢失,并且微处理器102无法恢复储存于多个区块(区块用于储存最近的数据)中的数据。因为图2A所示的每个页面储存FTL分段数据以及指向下一个页面的下一个页面链接,因此,当装置100的电源突然关闭时,微处理器102能够根据下一个页面链接重新获得页面111~11K并且根据FTL分段数据恢复最新FTL数据,没有数据丢失。因此根据本发明的装置100比传统快闪装置具有更好的性能。
假设装置100的电源突然关闭,储存于DRAM 104中的最新FTL数据105丢失了。装置100重新获得电源后,微处理器102需要恢复最新FTL数据105。请参考图2B,图2B为根据本发明的用于恢复最新FTL数据的方法200的流程示意图。首先,微处理器102根据储存于快闪存储器108中的起始页面链接110决定用于储存数据的第一页面111(步骤202)。微处理器102接着指导存储器控制器106读取第一页面111以获得相应于第一页面的FTL分段数据T1(步骤204),其中FTL片段数据T1能视为第一FTL片段数据。因为第一页面111的下一个页面链接N1已经储存了下一个页面112的物理地址,因此微处理器102接着根据第一页面111的下一个页面链接N1决定下一个页面112(步骤206)。微处理器102接着指导存储器控制器106读取下一个页面112以获得相应于下一个页面112的FTL分段数据(步骤208)。
因为前一个页面总是储存指示下一个页面的物理地址的下一个页面链接,根据当前的下一个页面的下一个页面链接决定新的下一个页面(步骤212),微处理器102继续读取下一个页面以收集相应于下一个页面的FTL分段数据(步骤208)。最后,微处理器102决定最终页面11K是否已经储存指向NULL的下一个页面链接(步骤210)。微处理器102读取最终页面11K以获得相应于最终页面11K的FTL分段数据之后,微处理器102整合所有页面111~11K的FTL分段数据以获得FTL补丁(patch)数据,其中FTL补丁数据包括相应于写入所有页面111~11K的数据的FTL更新数据(步骤214)。举例来说,页面111~11K的FTL分段数据T1~TK可包括关于区块的逻辑区块号以及区块类型的信息以支持重建(rebuild)最新FTL数据,其中区块包含页面111~11K。因此微处理器102可结合页面111~11K的FTL分段数据T1~TK以获得FTL补丁数据,其中补丁数据是储存于快闪存储器108中的原始FTL数据109的丢失信息。最后,微处理器102将储存于快闪存储器108中的FTL数据109与FTL补丁数据结合以恢复在电源被切断之前的最新FTL数据105(步骤216)。也就是说,将储存于快闪存储器108中的FTL数据的前一个版本与FTL补丁数据结合以获得FTL数据的最新版本。最新FTL数据恢复后,微处理器102接着可根据最新FTL数据105中包含的地址映像关系将从主机接收的逻辑地址转换为物理地址并接着根据物理地址存取储存于快闪存储器108中的数据。
请参考图3A。图3A为根据本发明另一实施例的将FTL恢复信息写入快闪存储器108的页面的方法的示意图。微处理器102首先根据储存于DRAM 104中的最新FTL数据105更新储存于快闪存储器108中的FTL数据109,其中FTL数据109与最新FTL数据105相同。假设主机要将一系列数据写入装置100,并且主机界面107从主机顺序地接收数据序列。微处理器102首先决定快闪存储器108的第一页面121以用于储存数据序列的第一数据。微处理器102接着指导存储器控制器106将第一数据写入第一页面121。将第一数据写入第一页面121后,微处理器102同样指导存储器控制器106将前一个页面链接P1以及FTL片段数据T1写入第一页面121,其中前一个页面链接P1指示储存于快闪存储器108中的FTL数据109的物理地址,并且FTL片段数据T1是相应于写入第一页面121的数据的最新FTL数据105的更新数据。
微处理器102接着决定第二页面122用于储存数据序列的第二数据并且指导存储器控制器106将数据序列的第二数据写入第二页面122。将第二数据写入第二页面122后,微处理器102同样指导存储器控制器106将前一个页面链接P2以及FTL片段数据T2(FTL片段数据T2能视为第二FTL片段数据)写入第二页面122,其中前一个页面链接P2指示第一页面121的物理地址,并且FTL片段数据T2是相应于写入第二页面122的数据的最新FTL数据105的更新数据。微处理器102接着以与第一页面121以及第二页面122相同的方式将数据写入后续页面。换句话说,每当微处理器102将数据写入新页面,微处理器102同样写入指示先前页面的物理地址的前一个页面链接以及相应于写入新页面的数据的FTL分段数据。最后,微处理器102将数据序列的最终数据、前一个页面链接PK以及FTL分段数据TK写入最终页面12K,其中前一个页面链接PK指示先前页面12(K-1)的物理地址。
假设装置100的电源突然关闭,储存于DRAM104中的最新FTL数据105会丢失。装置100重新获得电源后,微处理器102需要恢复最新FTL数据105。请参考图3B。图3B为根据本发明的用于恢复最新FTL数据的方法的流程示意图。首先,微处理器102搜索快闪存储器108的页面以找到最后的页面12K(步骤302)。微处理器102接着指导存储器控制器106读取最后的页面12K以获得相应于最后的页面12K的FTL分段数据TK(步骤304)。因为最后的页面12K的前一个页面链接PK已经储存了前一个页面12(K-1)的物理地址,因此微处理器102接着根据最后的页面12K的前一个页面链接PK决定前一个页面12(K-1)(步骤306)。微处理器102接着指导存储器控制器106读取前一个页面12(K-1)以获得相应于前一个页面12(K-1)的FTL分段数据(步骤308)。
因为后续页面总是储存指示前一个页面的物理地址的前一个页面链接,根据当前的前一个页面的前一个页面链接决定新的前一个页面(步骤312),微处理器102继续读取前一个页面以收集相应于前一个页面的FTL分段数据(步骤308)。微处理器102决定前一个页面的前一个页面链接是否指向储存于快闪存储器中的FTL数据(步骤310)。也就是说,微处理器102决定第一页面121是否已经储存指向储存于快闪存储器108中的FTL数据109的前一个页面链接。微处理器102读取第一页面121以获得相应于第一页面121的FTL分段数据之后,微处理器102整合所有页面121~12K的FTL分段数据以获得FTL补丁数据,其中FTL补丁数据包括相应于写入所有页面121~12K的数据的FTL更新数据(步骤314)。最后,微处理器102将储存于快闪存储器108中的FTL数据109与FTL补丁数据结合以获得最新FTL数据105(步骤316)。最新FTL数据恢复后,微处理器102接着可根据最新FTL数据105中包含的地址映像关系将从主机接收的逻辑地址转换为物理地址并接着根据物理地址存取储存于快闪存储器108中的数据。
图3A的另一个实施例并不包括储存最后的页面12K的结束页面链接。因此,当FTL数据恢复过程300开始后(即方法300开始后),微处理器102需要搜索快闪存储器108的页面以找到最后的页面12K。搜索最后的页面12K的操作需要很长的时间周期。请参考图4。图4为根据本发明另一实施例的用于将FTL恢复信息写入快闪存储器108的页面的方法的示意图。图4所示实施例与图3A所示实施例相似,区别主要在于,图4中包括储存装置130,储存装置130储存结束页面链接120(图中显示为E)。储存装置130可为快闪存储器108或额外的电可除程序化只读存储器(Electrically Erasable Programmable Read OnlyMemory,EEPROM)。在电源和装置100之间耦接电容器以延长消逝喘息周期(dying gasp period),其中在消逝喘息周期中电源突然关闭后,电源仍然供电。在短暂的消逝喘息周期中,微处理器102在储存装置130中储存结束页面链接120,结束页面链接120指示最后的页面12K。因此,当微处理器102执行方法300以重建最新FTL数据105时,微处理器102可以直接根据储存于储存装置130中的结束页面链接120找到最后的页面12K。
请参考图5。图5为根据本发明另一实施例的用于将FTL恢复信息写入快闪存储器108的页面的方法的示意图。图5所示实施例与图2A所示实施例相似。图2A中所示页面储存FTL分段数据T1~TK,FTL分段数据T1~TK分别相应于写入页面111~11K的数据。其中,FTL分段数据T1~TK是未被压缩的。图5中当微处理器102将数据写入页面131~13K时,微处理器102将压缩的FTL分段数据C1~CK写入页面131~13K。举例来说,当将第一数据写入第一页面131时,最新FTL数据105必须相应地改变以记录第一页面131的物理地址与第一数据的逻辑地址之间的映像关系。接着压缩表明最新FTL数据105与原始FTL数据109之间的差异的更新数据以获得已压缩FTL分段数据C1,并且微处理器102将已压缩FTL分段数据C1写入第一页面131。类似地,将相应于页面132~13K的已压缩FTL分段数据C2~CK写入页面132~13K。这样,最新FTL数据105与原始FTL数据109之间的差异数据就储存于已压缩FTL分段数据C2~CK中而没有进一步逻辑处理。重新获得装置100的电源后,微处理器102可将已压缩FTL分段数据C1~CK解压缩以获得FTL补丁数据,其中FTL补丁数据表明最新FTL数据105与原始FTL数据109之间的差异。微处理器102可接着根据FTL补丁数据更新储存于快闪存储器108中的FTL数据109以获得最新FTL数据105。
另一方面,图2A中所示页面111~11K的分段FTL数据T1~TK是由逻辑处理产生的逻辑数据,并且最新FTL数据105与原始FTL数据109之间的差异数据必须经由微处理器102的逻辑处理从分段FTL数据T1~TK得到。因此,根据已压缩分段数据C2~CK恢复最新FTL数据105比根据分段FTL数据T1~TK恢复最新FTL数据105需要更短的时间周期
耦接于装置100的主机可频繁地更新具有相同逻辑区块号(逻辑区块号也称为逻辑区块地址)的数据,因此装置100在具有不同物理区块号(PhysicalBlock Number,PBN)的多个区块中储存相应于特定逻辑区块号的数据。举例来说,相应于逻辑区块号的数据区块首先储存数据。当主机要将更新数据写入相同逻辑区块号时,装置100可将更新数据储存于相应于相同逻辑区块号的有效(active)区块中。另外,装置100的微处理器102可整合数据区块与有效区块的数据以获得相应于相同逻辑区块号的废料收集(garbage collection)区块。因此,可提高存取具有连续逻辑地址和间歇物理地址的数据的性能。当装置100的电源突然关闭,储存于DRAM 104中的最新FTL数据105丢失,微处理器102不易决定相应于相同逻辑区块号的多个区块是否储存数据的最新版本。因此,需要一种用于从相应于相同逻辑区块号的多个区块决定最新的区块的方法。逻辑区块号可同时相应于储存原始数据的数据区块、储存更新数据的有效区块以及储存数据区块的原始数据和有效区块的更新数据的废料收集区块。微处理器102接着决定相应于逻辑区块号的区块中的哪一个是最新的区块,并且将最新的区块的逻辑区块号与物理区块号之间的映像关系储存于重建的最新FTL数据中。
因为废料收集区块是通过将数据区块和有效区块结合而获得,因此和有效区块以及数据区块相比,通常废料收集区块是最新的区块。因此,要从相应于逻辑区块号的多个区块中决定最新的区块,微处理器102必须首先决定区块是否为废料收集区块,并接着从废料收集区块选择最新的区块。为了更好的从多个区块中决定最新的区块和废料收集区块,当将数据写入目标区块的页面时,微处理器102指导存储器控制器106将目标区块的区块类型和目标区块的物理区块号写入目标区块的页面。这样,当装置100的电源关闭时,区块的每页包括原始区块的区块类型以及原始区块的物理区块号(物理区块号也称为物理区块地址)的信息。当装置100重新获得电源后,微处理器102可接着根据储存于区块的页面中的区块类型信息以及物理区块号信息从相应于逻辑区块号的多个区块决定最新的区块。
请参考图6。图6为相应于逻辑区块号的多个区块601~605的实施例的示意图。区块601具有区块类型“数据区块”以及物理区块号X,并且区块601包括三个页面,页面601a~601c。页面601a~601c都储存区块类型信息“数据区块”以及物理区块号“X”。区块602具有区块类型“有效区块”以及物理区块号Y,并且区块602包括三个页面,页面602a~602c。页面602a~602c都储存区块类型信息“有效区块”以及物理区块号“Y”以及相应数据区块的物理区块号“X”。区块603具有区块类型“有效区块”以及物理区块号Z,并且区块603包括五个页面,页面603a~603e。页面603a 储存区块类型信息“有效区块”以及物理区块号“Y”。页面603b~603c储存区块类型信息“数据区块”以及物理区块号“X”。页面603d~603e储存区块类型信息“数据区块”以及物理区块号“Z”。区块604具有区块类型“有效区块”以及物理区块号Q,并且区块604包括三个页面,页面604a~604c。区块605具有区块类型“数据区块”以及物理区块号P,并且区块605包括五个页面,页面605a~605e。
首先,微处理器102决定区块601~605是否为废料收集区块。请参考图7。图7为决定目标区块是否为废料收集区块的方法700的流程示意图。首先,微处理器102获得目标区块(步骤702)。微处理器102接着决定目标区块是否包括储存与目标区块的物理区块号不同的物理区块号的页面(步骤704)。若是,则微处理器102决定目标区块为废料收集区块(步骤708)。微处理器102接着决定目标区块是否包括储存不同区块类型(信息)的至少两个页面(步骤706)。若是,则微处理器102决定目标区块为废料收集区块(步骤708)。若目标区块的所有页面储存与目标区块的物理区块号相同的物理区块号,并且目标区块没有包括储存不同区块类型信息的两个页面,则微处理器102决定目标区块不是废料收集区块(步骤710)。
举例来说,区块601的所有页面601a~601c储存物理区块号X,其中物理区块号X是区块601的物理区块号,并且区块601的所有页面601a~601c储存相同的区块类型信息“数据区块”。因此区块601不是废料收集区块。类似地,区块602的所有页面602a~602c储存物理区块号Y,其中物理区块号Y是区块602的物理区块号,并且区块602的所有页面602a~602c储存相同的区块类型信息“有效区块”。因此区块602不是废料收集区块。类似地,决定区块604也不是废料收集区块。然而,区块603包括储存物理区块号Y的页面603a,物理区块号Y与区块603的物理区块号Z不同,并且区块603包括页面603b与603c,页面603b与603c储存物理区块号X,其中页面603b与603c储存的物理区块号X与区块603的物理区块号Z不同。另外,区块603包括页面603a,页面603a储存区块类型信息“有效区块”,页面603a储存的区块类型信息“有效区块”与页面603b~603e储存的区块类型信息“数据区块”不同。因此,微处理器102决定区块603是废料收集区块。类似地,决定区块605也是废料收集区块。
因此微处理器102决定区块603与区块605是废料收集区块。请参考图8。图8为从相应于逻辑区块号的多个区块决定最新的区块的方法800的流程示意图。首先,微处理器102获得相应于相同逻辑区块号的多个区块601~605(步骤802)。微处理器102接着决定多个区块601~605是否为废料收集区块(步骤804)。根据图7所示方法700,仅决定区块603与区块605是废料收集区块。决定是否仅有一个区块是废料收集区块(步骤806),若决定仅有一个区块是废料收集区块,则微处理器102决定废料收集区块是最新的区块(步骤808)。举例来说,若仅有三个区块601~603相应于一个逻辑区块号,区块603是唯一的废料收集区块,则决定区块603是最新的区块。
决定是否不止一个区块是废料收集区块(步骤812),若不止一个区块是废料收集区块,则微处理器102在多个废料收集区块中搜索目标废料收集区块,其中目标废料收集区块包括储存其他废料收集区块的物理区块号的页面(步骤814),并且决定目标废料收集区块是最新的区块(步骤816)。举例来说,若决定区块603与区块605是废料收集区块,因为区块605包括储存物理区块号Z的页面605e,其中物理区块号Z是另一个废料收集区块603的物理区块号,因此微处理器102决定区块605是最新的区块。否则,若决定没有区块是废料收集区块,则微处理器102根据多个区块的区块类型决定最新的区块(步骤818)。举例来说,若仅有两个区块,区块601与区块602相应于逻辑区块号,因为区块602是有效区块并且区块601是数据区块,所以微处理器102决定有效区块602是最新的区块。最后,决定最新区块后,微处理器102记录最新的区块的物理区块号与储存于DRAM 104中的最新FTL数据105中的逻辑区块号之间的映射关系,以重建最新FTL数据105。
请参考图9。图9为有效区块902转变为数据区块902’的实施例的示意图。数据区块901相应于逻辑区块号。接着更新储存于数据区块901中的数据。建立有效区块902以储存数据区块901的更新数据。微处理器102接着将有效区块902转变为数据区块902’。因为区块902’的区块类型从“有效区块”改变为“数据区块”,因此区块902’的新页面902o与新页面902p储存区块类型信息“数据区块”。接着更新储存于数据区块902’中的数据。微处理器102接着建立有效区块903以储存数据区块902’中的更新数据。当微处理器102将更新数据储存至有效区块903的页面903a与页面903b时,微处理器102也将区块类型信息“有效D”写入页面903a与页面903b,以指示区块903是从有效区块转变过来的数据区块902’的有效区块。
图6所示的实施例中,当将数据写入目标区块的页面时,微处理器102仅将关于目标区块的区块类型以及目标区块的物理区块号的信息写入页面。另一个实施例中,当微处理器102将更新数据写入有效区块的页面时,微处理器102除了写入关于有效区块的区块类型以及有效区块的物理区块号的信息,微处理器102还将关于相应于有效区块的数据区块的物理区块号的信息写入有效区块的页面,其中有效区块为相应的数据区块储存更新的数据。关于相应于有效区块的数据区块的物理区块号的写入的信息可称为“数据-源物理区块号”,简写为PBNds。将PBNds信息写入有效区块的页面后,储存于有效区块的页面中的PBNds信息有助于从相应于相同逻辑区块号的多个废料收集区块中决定最新的区块。
请参考图10。图10为相应于逻辑区块号的多个区块1001~1005的实施例的示意图。区块1001具有区块类型“数据区块”与物理区块号X,并且区块1001包括三个页面,页面1001a~1001c。页面1001a~1001c都储存区块类型信息“数据区块”与物理区块号“X”。区块1002具有区块类型“有效区块”与物理区块号Y,并且区块1002包括三个页面,页面1002a~1002c。页面1002a~1002c都储存区块类型信息“有效区块”与物理区块号“Y”。另外,因为有效区块1002为数据区块1001储存更新数据,页面1002a~1002c也储存相应于数据区块1001的数据-源物理区块号“X”。区块1003具有区块类型“数据区块”与物理区块号Z,并且区块1003包括五个页面,页面1003a~1003e。实际上,区块1003是包含数据区块1001与有效区块1002的已整合数据的废料收集区块。因此,从页面1002c得到的页面1003a储存相应数据区块1001的区块类型信息“有效区块”、物理区块号“Y”以及数据-源物理区块号“X”。从页面1001b~1001c得到的页面1003b~1003c储存区块类型信息“数据区块”以及物理区块号“X”。页面1003d~1003e储存区块类型信息“数据区块”以及物理区块号“Z”。
区块1004具有区块类型“有效区块”与物理区块号Q,并且区块1004是为数据区块1003储存更新数据的有效区块。有效区块1004包括三个页面,页面1004a~1004c。类似地,页面1004a~1004c储存有效区块1004的区块类型信息“有效区块”、有效区块1004的物理区块号“Z”以及相应数据区块1003的数据-源物理区块号“Z”。区块1005具有区块类型“数据区块”以及物理区块号P。实际上,区块1005是包含数据区块1003与有效区块1004的已整合数据的废料收集区块。因此,从页面1003a得到的页面1005a储存区块类型信息“有效区块”、物理区块号“Y”以及数据-源物理区块号“X”。从页面1003b~1003c得到的页面1005b~1005c储存区块类型信息“数据区块”以及物理区块号“X”。从有效区块1004的更新页面1004c得到的页面1005d储存相应数据区块1003的区块类型信息“有效区块”、物理区块号“Q”以及数据-源物理区块号“Z”。从页面1003e得到的页面1005e储存区块类型信息“数据区块”以及物理区块号“Z”。页面1005f储存区块1005的区块类型信息“数据区块”以及物理区块号“P”。
图11为决定目标区块是否为废料收集区块的方法的流程示意图。如图11所示,微处理器102可首先根据方法1100决定区块1001~1005是否为废料收集区块。图11所示方法1100的步骤与图7所示方法700的步骤相似。举例来说,数据区块1001的所有页面1001a~1001c储存物理区块号X,其中物理区块号X是区块1001的物理区块号,并且数据区块1001的所有页面1001a~1001c储存相同的区块类型信息“数据区块”。因此区块1001不是废料收集区块。类似地,区块1002的所有页面1002a~1002c储存物理区块号Y,其中物理区块号Y是区块1002的物理区块号,并且区块1002的所有页面1002a~1002c储存相同的区块类型信息“有效区块”。因此区块1002不是废料收集区块。类似地,决定区块1004也不是废料收集区块。然而,区块1003包括储存物理区块号Y的页面1003a,物理区块号Y与区块1003的物理区块号Z不同,并且区块1003包括页面1003b与1003c,页面1003b与1003c储存物理区块号X,其中页面1003b与1003c储存的物理区块号X与区块1003的物理区块号Z不同。另外,区块1003包括页面1003a,页面1003a储存区块类型信息“有效区块”,页面1003a储存的区块类型信息“有效区块”与页面1003b~1003e储存的区块类型信息“数据区块”不同。因此,微处理器102决定区块1003是废料收集区块。类似地,决定区块1005也是废料收集区块。
因此微处理器102决定图10所示区块1003与区块1005是废料收集区块。请参考图12。图12为从相应于逻辑区块号的多个区块决定最新的区块的方法1200的流程示意图。首先,微处理器102获得相应于相同的逻辑区块号的多个区块1001~1005(步骤1202)。微处理器102接着决定多个区块1001~1005中是否存在废料收集区块(步骤1204)。根据图11所示方法1100,仅决定区块1003与区块1005是废料收集区块。微处理器102进一步决定在区块1001~1005中是否有不止一个废料收集区块(步骤1206)。若决定仅有一个区块是废料收集区块,则微处理器102决定废料收集区块是最新的区块(即决策步骤1206之后的“否”路径)。举例来说,举例来说,若仅有三个区块1001~1003相应于一个逻辑区块号,区块1203是唯一的废料收集区块,则决定区块1003是最新的区块。
若决定不止一个区块是废料收集区块(即决策步骤1206之后的“是”路径),当储存于废料收集区块的页面中的物理区块号或数据-源物理区块号与废料收集区块的物理区块号不相等,微处理器102决定具有储存于废料收集区块的页面的物理区块号字段或数据-源物理区块号字段中的物理区块号的区块是旧区块(步骤1208)。举例来说,因为废料收集区块1003的页面1003a和页面1003b分别储存物理区块号Y与物理区块号X,其中物理区块号Y与物理区块号X分别是区块1002和区块1001的物理区块号,并且决定区块1001和区块1002是旧区块。另外,微处理器102决定具有储存于另一个废料收集区块的页面的物理区块号字段或数据-源物理区块号字段中的物理区块号的废料收集区块是旧区块(步骤1210)。举例来说,因为废料收集区块1005的页面1005d储存数据-源物理区块号Z,其中数据-源物理区块号Z是另一个废料收集区块1003的物理区块号,并且页面1005e储存物理区块号Z,其中物理区块号Z是另一个废料收集区块1003的物理区块号,微处理器102决定区块1003是旧区块。因为从区块1001~1005决定了旧区块,因此微处理器102可接着根据区块的区块类型决定最新的区块(步骤1212),例如从区块1001~1005决定最新的区块1005,并且根据储存于最新的区块1005中的数据重建FTL(步骤1214)。
请参考图13。图13为有效区块1302转变为数据区块1302’的实施例的示意图。数据区块1301相应于逻辑区块号X。接着更新储存于数据区块1301中的数据。建立有效区块1302以储存数据区块1301的更新数据。因此页面1302a~1302d储存数据区块1301的数据-源物理区块号X。微处理器102接着将有效区块1302转变为数据区块1302’。因为区块1302’的区块类型从“有效区块”改变为“数据区块”,因此区块1302’的新页面1302o与新页面1302p储存区块类型信息“数据区块”。接着更新储存于数据区块1302’中的数据。微处理器102接着建立有效区块1303以储存数据区块1302’中的更新数据。当微处理器102将更新数据储存至有效区块1303的页面1303a与页面1303b时,微处理器102也将数据区块1302’的数据-源物理区块号Y写入有效区块1303的页面1303a与页面1303b。因为页面1303a与页面1303b储存数据区块1302’的数据-源物理区块号Y,因此微处理器102可根据图12所示方法1200决定有效区块1303比数据区块1302’更新。
请参考图14。图14为相应于逻辑区块号的多个区块1401~1405的另一个实施例的示意图。区块1401、区块1403以及区块1405为数据区块,并且区块1402与区块1404为有效区块。区块1401~1405分别具有物理区块号X、Y、Z、Q以及P。因此微处理器102可根据图12所示方法1200从区块1401~1405决定旧区块。区块1403的页面1403a储存区块1402的物理区块号Y以及区块1401的数据-源物理区块号X。因此,根据方法1200的步骤1208,区块1401与区块1402相对于区块1403是旧区块。类似地,因为页面1404a~1404d储存区块1403的数据-源物理区块号Z,根据方法1200的步骤1208,区块1403相对于区块1404是旧区块。另外,区块1400的页面1405d与页面1405e储存区块1404的物理区块号Q与区块1403的数据-源物理区块号Z。微处理器102因此根据方法1200的步骤1210决定区块1403与区块1404相对于区块1405是旧区块。因为区块1401~1404都是旧区块,微处理器102可决定区块1405是最新的区块并且根据储存于最新的区块1405中的数据重建FTL数据。
上述实施例中仅有两种区块类型,两种区块类型包括数据区块类型与有效区块类型。若存在第三种区块类型,废料收集区块类型用于指示废料收集区块,并且将区块类型信息写入废料收集区块的页面,则微处理器102可根据储存于页面中的区块类型直接决定废料收集区块的类型。请参考图15。图15为根据本发明一个实施例的区块1501~1505的示意图。区块1501是数据区块。区块1502与区块1504是有效区块。区块1503与区块1505是废料收集区块。页面1503a、页面1503b以及页面1503c因此储存废料收集区块类型的区块类型信息,并且微处理器102可因此无须根据图11所示方法1100而决定区块1503是废料收集区块。类似地,页面1505a、页面1505b、页面1505c、页面1505以及页面1505e储存废料收集区块类型的区块类型信息,并且微处理器102可因此无须根据图11所示方法1100而决定区块1505是废料收集区块。
上述的实施例仅用来例举本发明的实施态样,以及阐释本发明的技术特征,并非用来限制本发明的范畴。任何所属技术领域技术人员可依据本发明的精神轻易完成的改变或均等性的安排均属于本发明所主张的范围,本发明的权利范围应以权利要求为准。

Claims (34)

1.一种用于数据恢复的方法,其特征在于,存储器包括用于数据储存的多个页面,随机存取存储器根据所述多个页面的逻辑地址与物理地址之间的映像关系储存快闪转换层数据,并且所述存储器储存所述快闪转换层数据的前一个版本,所述用于数据恢复的方法包括:
从主机获得第一数据;
从所述存储器的所述多个页面选择第一页面用于储存所述第一数据;
在所述存储器中储存指示所述第一页面的物理地址的起始页面链接;
将所述第一数据、指示下一个页面的物理地址的第一页面链接以及相应于所述第一页面的第一快闪转换层分段数据写入所述第一页面;
从所述主机获得下一个数据;以及
将所述下一个数据、指示后续页面的物理地址的下一个页面链接以及相应于所述下一个页面的快闪转换层分段数据写入所述下一个页面。
2.根据权利范围1所述的用于数据恢复的方法,其特征在于,重复执行写入所述下一个数据、所述下一个页面链接以及所述下一个页面的快闪转换层分段数据的步骤直到所述主机不再发送新数据。
3.根据权利范围1所述的用于数据恢复的方法,其特征在于,所述方法包括:
所述存储器的电源恢复后,根据储存于所述存储器中的所述起始页面链接决定所述第一页面;
读取所述第一页面以获得相应于所述第一页面的第一快闪转换层分段数据;
根据所述第一页面的所述第一页面链接决定所述下一个页面;
读取所述下一个页面以获得相应于所述下一个页面的快闪转换层分段数据;
重复根据当前的下一个页面的下一个页面链接决定新的下一个页面并且读取所述新的下一个页面,以获得相应于所述新的下一个页面的快闪转换层分段数据直到当前的下一个页面的下一个页面链接指向空值;
整合所述第一快闪转换层分段数据与所有快闪转换层分段数据以获得快闪转换层补丁数据;以及
将储存于所述存储器中的快闪转换层数据的前一个版本与所述快闪转换层补丁数据结合以获得所述快闪转换层数据的最新版本。
4.根据权利范围3所述的用于数据恢复的方法,其特征在于,所述方法进一步包括:
根据所述快闪转换层数据的所述最新版本将从所述主机接收的逻辑地址转换为物理地址;以及
根据所述物理地址存取储存于所述存储器中的数据。
5.根据权利范围1所述的用于数据恢复的方法,其特征在于,相应于所述第一页面的第一快闪转换层分段数据是相应于所述第一页面的已压缩快闪转换层数据,并且相应于所述下一个页面的快闪转换层分段数据是相应于所述下一个页面的已压缩快闪转换层分段数据。
6.一种用于数据恢复的装置,其特征在于,所述用于数据恢复的装置包括:
存储器,包括用于数据储存的多个页面;
随机存取存储器,根据所述多个页面的逻辑地址与物理地址之间的一映像关系储存快闪转换层数据;
微处理器,用于从主机获得第一数据,从所述存储器的所述多个页面选择第一页面用于储存所述第一数据,在所述存储器中储存指示所述第一页面的物理地址的起始页面链接,将所述第一数据、指示下一个页面的物理地址的第一页面链接以及相应于所述第一页面的第一快闪转换层分段数据写入所述第一页面,从所述主机获得下一个数据以及将所述下一个数据、指示后续页面的物理地址的下一个页面链接以及相应于所述下一个页面的快闪转换层分段数据写入所述下一个页面。
7.根据权利范围6所述的用于数据恢复的装置,其特征在于,所述微处理器重复从所述主机获得新的下一个数据,并且重复将所述新的下一个数据、新的下一个页面链接以及新的快闪转换层分段数据写入新的下一个页面直到所述主机不再将所述新的下一个数据发送至所述用于数据恢复的装置。
8.根据权利范围6所述的用于数据恢复的装置,其特征在于,所述用于数据恢复的装置的电源恢复后,根据储存于所述存储器中的所述起始页面链接决定所述第一页面,读取所述第一页面以获得相应于所述第一页面的第一快闪转换层分段数据,根据所述第一页面的所述第一页面链接决定所述下一个页面,读取所述下一个页面以获得相应于所述下一个页面的快闪转换层分段数据,重复根据当前的下一个页面的下一个页面链接决定新的下一个页面并且读取所述新的下一个页面,以获得相应于所述新的下一个页面的快闪转换层分段数据直到当前的下一个页面的下一个页面链接指向空值,整合所述第一快闪转换层分段数据与所有快闪转换层分段数据以获得快闪转换层补丁数据,以及将储存于所述存储器中的快闪转换层数据的前一个版本与所述快闪转换层补丁数据结合以获得所述快闪转换层数据的最新版本。
9.根据权利范围8所述的用于数据恢复的装置,其特征在于,所述微处理器根据所述快闪转换层数据的所述最新版本将从所述主机接收的逻辑地址转换为物理地址,并且根据所述物理地址存取储存于所述存储器中的数据。
10.根据权利范围6所述的用于数据恢复的装置,其特征在于,相应于所述第一页面的第一快闪转换层分段数据是相应于所述第一页面的已压缩快闪转换层数据,并且相应于所述下一个页面的快闪转换层分段数据是相应于所述下一个页面的已压缩快闪转换层分段数据。
11.一种用于快闪装置的数据恢复的方法,其特征在于,所述快闪装置的存储器包括用于数据储存的多个页面,随机存取存储器根据所述多个页面的逻辑地址与物理地址之间的映像关系储存快闪转换层数据,并且所述快闪存储器储存所述快闪转换层数据的前一个版本,所述用于快闪装置的数据恢复的方法包括:
从主机获得第一数据;
从所述快闪存储器的所述多个页面选择第一页面用于储存所述第一数据;
将所述第一数据、指示所述快闪转换层数据的前一个版本的第一页面链接以及相应于所述第一页面的第一快闪转换层分段数据写入所述第一页面;
从所述主机获得下一个数据;以及
将所述下一个数据、指示所述第一页面的前一个页面链接以及相应于下一个页面的快闪转换层分段数据写入所述下一个页面。
12.根据权利范围11所述的用于快闪装置的数据恢复的方法,其特征在于,所述方法进一步包括:
从所述主机获得新的下一个数据;
将所述新的下一个数据、指示前一个页面的前一个页面链接以及相应于所述新的下一个页面的快闪转换层分段数据写入所述新的下一个页面;以及
重复从所述主机获得新的下一个数据以及将所述新的下一个数据、所述前一个页面链接以及所述快闪转换层分段数据写入所述新的下一个页面的步骤,直到所述主机不再发送新数据至所述快闪装置。
13.根据权利范围11所述的用于快闪装置的数据恢复的方法,其特征在于,所述方法包括:
所述快闪装置的电源恢复后,搜索所述快闪存储器的多个页面以找到最后的页面;
读取所述最后的页面以获得相应于所述最后的页面的快闪转换层分段数据;
根据所述最后的页面的最后的页面链接决定前一个页面;
读取所述前一个页面以获得相应于所述前一个页面的快闪转换层分段数据;
重复根据当前的前一个页面的前一个页面链接决定新的前一个页面并且读取所述新的前一个页面,以获得相应于所述新的前一个页面的快闪转换层分段数据直到当前的前一个页面的前一个页面链接指示所述第一页面;
整合所述第一快闪转换层分段数据与所有快闪转换层分段数据以获得快闪转换层补丁数据;以及
将储存于所述快闪存储器中的快闪转换层数据的前一个版本与所述快闪转换层补丁数据结合以获得所述快闪转换层数据的最新版本。
14.根据权利范围13所述的用于快闪装置的数据恢复的方法,其特征在于,所述方法进一步包括:
根据所述快闪转换层数据的所述最新版本将从所述主机接收的逻辑地址转换为物理地址;以及
根据所述物理地址存取储存于所述快闪存储器中的数据。
15.根据权利范围11所述的用于快闪装置的数据恢复的方法,其特征在于,所述方法进一步包括:
关闭所述快闪装置的电源时,在储存装置中记录指示最后的页面的结束页面链接;以及
恢复所述快闪装置的电源后,根据储存于所述储存装置中的所述结束页面链接决定所述最后的页面。
16.根据权利范围11所述的用于快闪装置的数据恢复的方法,其特征在于,相应于所述第一页面的第一快闪转换层分段数据是相应于所述第一页面的已压缩快闪转换层数据,并且相应于所述下一个页面的快闪转换层分段数据是相应于所述下一个页面的已压缩快闪转换层分段数据。
17.一种用于快闪装置的数据恢复的方法,其特征在于,所述快闪装置的快闪存储器包括多个区块,并且所述多个区块中的每个包括用于数据储存的多个页面,所述用于快闪装置的数据恢复的方法包括:
当将数据写入从所述多个区块选择的目标区块的目标页面时,在所述目标页面中记录所述目标区块的区块类型与物理区块号;
恢复所述快闪装置的电源后,根据储存于所述目标区块的多个页面中的区块类型与物理区块号决定所述目标区块是否是废料收集区块;以及
根据所述目标区块是否是废料收集区块重建快闪转换层数据,其中所述快闪转换层数据记录逻辑区块号与物理区块号之间的映射关系。
18.根据权利范围17所述的用于快闪装置的数据恢复的方法,其特征在于,决定所述目标区块是否是废料收集区块的步骤包括:
获得所述目标区块;
决定所述目标区块是否包括储存与所述目标区块的第二物理区块号不同的第一物理区块号的第一页面;以及
若所述目标区块包括储存与所述目标区块的所述第二物理区块号不同的所述第一物理区块号的所述第一页面,则决定所述目标区块是废料收集区块。
19.根据权利范围18所述的用于快闪装置的数据恢复的方法,其特征在于,决定所述目标区块是否是废料收集区块的步骤进一步包括:
决定所述目标区块是否包括储存不同区块类型信息的至少两个第二页面;以及
当决定所述目标区块包括储存不同区块类型信息的至少两个第二页面时,决定所述目标区块是废料收集区块。
20.根据权利范围17所述的用于快闪装置的数据恢复的方法,其特征在于,所述方法进一步包括:
所述快闪装置的电源恢复后,获得相应于目标逻辑区块号的多个第一区块;
决定所述多个第一区块是否是废料收集区块;
当所述多个第一区块仅包括个废料收集区块,决定所述废料收集区块是最新的区块;
当所述多个第一区块包括多个废料收集区块,在多个废料收集区块中搜索目标废料收集区块,所述目标废料收集区块包括储存其他废料收集区块的物理区块号的页面,并且决定所述目标废料收集区块是最新的区块;以及
将最新的区块的物理区块号与所述目标逻辑区块号之间的映像关系记录于所述快闪转换层数据中。
21.根据权利范围20所述的用于快闪装置的数据恢复的方法,其特征在于,所述方法进一步包括:
当所述多个第一区块包括多个废料收集区块,决定所述多个第一区块的区块类型;以及
当所述多个第一区块包括有效区块,决定所述有效区块是最新的区块。
22.根据权利范围17所述的用于快闪装置的数据恢复的方法,其特征在于,所述方法进一步包括:
当将数据写入从所述多个区块选择的所述目标区块的所述目标页面并且所述目标区块是为数据源区块储存更新数据的有效区块,将所述数据源区块的物理区块号作为数据-源物理区块号记录于所述目标页面中。
23.根据权利范围22所述的用于快闪装置的数据恢复的方法,其特征在于,所述方法进一步包括:
所述快闪装置的电源恢复后,获得相应于目标逻辑区块号的多个第一区块;
决定所述多个第一区块是否是废料收集区块;
当所述多个第一区块仅包括一个废料收集区块,决定所述废料收集区块是最新的区块;以及
根据储存于所述最新的区块中的数据重建快闪转换层数据。
24.根据权利范围23所述的用于快闪装置的数据恢复的方法,其特征在于,所述方法进一步包括:
当所述多个第一区块包括多个废料收集区块,检查储存于所述多个废料收集区块的页面中的多个特定物理区块号或多个特定数据-源物理区块号与所述多个废料收集区块的物理区块号是否不相等;
决定具有与储存于所述多个废料收集区块的页面的多个特定物理区块号或多个特定数据-源物理区块号相等的物理区块号的所述多个第一区块是旧区块;
从不是所述旧区块的多个第一区块中决定最新的区块;以及
根据储存于所述最新的区块中的数据重建快闪转换层数据。
25.根据权利范围17所述的用于快闪装置的数据恢复的方法,其特征在于,所述快闪存储器的所述多个区块具有区块类型数据区块、有效区块以及废料收集区块,并且在所述目标页面中记录所述目标区块的区块类型的步骤进一步包括:
当所述目标区块是废料收集区块,在所述目标页面中记录所述目标区块的区块类型废料收集区块。
26.一种用于数据恢复的装置,其特征在于,包括:
存储器,包括多个区块,其中所述多个区块中的每个包括用于数据储存的多个页面;以及
微处理器,当将数据写入目标页面时,在所述目标页面中记录目标区块的区块类型与物理区块号,恢复所述装置的电源后,根据储存于所述目标区块的多个页面中的区块类型与物理区块号决定所述目标区块是否是废料收集区块,并且根据决定结果重建快闪转换层数据,其中所述快闪转换层数据记录逻辑区块号与物理区块号之间的映射关系。
27.根据权利范围26所述的用于数据恢复的装置,其特征在于,当决定所述目标区块是废料收集区块,所述微处理器获得所述目标区块,决定所述目标区块是否包括储存与所述目标区块的第二物理区块号不同的第一物理区块号的第一页面,并且当所述目标区块包括储存与所述目标区块的所述第二物理区块号不同的所述第一物理区块号的所述第一页面,则决定所述目标区块是废料收集区块。
28.根据权利范围27所述的用于数据恢复的装置,其特征在于,当决定所述目标区块是否是废料收集区块时,所述微处理器进一步决定所述目标区块是否包括储存不同区块类型的至少两个第二页面,并且当决定所述目标区块包括储存不同区块类型的至少两个第二页面时,决定所述目标区块是废料收集区块。
29.根据权利范围26所述的用于数据恢复的装置,其特征在于,所述装置的电源恢复后,所述微处理器获得相应于目标逻辑区块号的多个第一区块,决定所述多个第一区块是否是废料收集区块,当所述多个第一区块仅包括一个废料收集区块,决定所述废料收集区块是最新的区块,当所述多个第一区块包括多个废料收集区块,在多个废料收集区块中搜索目标废料收集区块,所述目标废料收集区块包括储存其他废料收集区块的物理区块号的页面,决定所述目标废料收集区块是最新的区块,并且将所述最新的区块的物理区块号与所述目标逻辑区块号之间的映像关系记录于所述快闪转换层数据中。
30.根据权利范围29所述的用于数据恢复的装置,其特征在于,当所述多个第一区块包括多个废料收集区块时所述微处理器进一步决定所述多个第一区块的区块类型,并且当所述多个第一区块包括有效区块时决定所述有效区块是最新的区块。
31.根据权利范围26所述的用于数据恢复的装置,其特征在于,当将数据写入从所述多个区块选择的所述目标区块的所述目标页面并且所述目标区块是为数据源区块储存更新数据的有效区块,所述微处理器将所述数据源区块的物理区块号作为数据-源物理区块号记录于所述目标页面中。
32.根据权利范围31所述的用于数据恢复的装置,其特征在于,所述装置的电源恢复后所述微处理器获得相应于目标逻辑区块号的多个第一区块,决定所述多个第一区块是否是废料收集区块,当所述多个第一区块仅包括一个废料收集区块,决定所述废料收集区块是最新的区块,并且根据储存于所述最新的区块中的数据重建快闪转换层数据。
33.根据权利范围32所述的用于数据恢复的装置,其特征在于,当所述多个第一区块包括多个废料收集区块,所述微处理器进一步检查储存于所述多个废料收集区块的页面中的多个特定物理区块号或多个特定数据-源物理区块号与所述多个废料收集区块的物理区块号是否不相等,决定具有与储存于所述多个废料收集区块的页面的多个特定物理区块号或多个特定数据-源物理区块号相等的物理区块号的所述多个第一区块是旧区块,从不是所述旧区块的多个第一区块中决定最新的区块,并且根据储存于所述最新的区块中的数据重建快闪转换层数据。
34.根据权利范围26所述的用于数据恢复的装置,其特征在于,所述快闪存储器的所述多个区块具有区块类型数据区块、有效区块以及废料收集区块,并且当所述目标区块是废料收集区块,所述微处理器在所述目标页面中记录所述目标区块的区块类型废料收集区块。
CN2010102782024A 2010-05-21 2010-09-10 用于数据恢复的方法以及用于数据恢复的装置 Active CN102253868B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/784,593 2010-05-21
US12/784,593 US8381018B2 (en) 2010-05-21 2010-05-21 Method for data recovery for flash devices

Publications (2)

Publication Number Publication Date
CN102253868A true CN102253868A (zh) 2011-11-23
CN102253868B CN102253868B (zh) 2013-07-10

Family

ID=44973472

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102782024A Active CN102253868B (zh) 2010-05-21 2010-09-10 用于数据恢复的方法以及用于数据恢复的装置

Country Status (3)

Country Link
US (1) US8381018B2 (zh)
CN (1) CN102253868B (zh)
TW (1) TWI584119B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102789431A (zh) * 2012-06-29 2012-11-21 记忆科技(深圳)有限公司 数据保护方法和***
CN103744795A (zh) * 2013-12-19 2014-04-23 记忆科技(深圳)有限公司 固态硬盘快速启动的方法及其固态硬盘
CN103986898A (zh) * 2014-06-03 2014-08-13 四川效率源信息安全技术有限责任公司 一种提取dvr硬盘中残余视频和被删除视频的装置和方法
CN104868987A (zh) * 2014-08-23 2015-08-26 深圳键桥通讯技术股份有限公司 基于机卡分离式网关装置的数据同步方法
CN103744795B (zh) * 2013-12-19 2016-11-30 记忆科技(深圳)有限公司 固态硬盘快速启动的方法及其固态硬盘
CN106445400A (zh) * 2015-08-05 2017-02-22 宏碁股份有限公司 计算机***及非挥发性存储器的控制方法
CN106802777A (zh) * 2017-01-20 2017-06-06 杭州电子科技大学 一种用于固态存储设备的闪存转换层控制方法
CN107301133A (zh) * 2017-07-20 2017-10-27 郑州云海信息技术有限公司 一种构建丢失的FTL table的方法及装置
CN107544913A (zh) * 2016-06-29 2018-01-05 北京忆恒创源科技有限公司 一种ftl表快速重建方法与装置
CN111324289A (zh) * 2018-12-14 2020-06-23 北京兆易创新科技股份有限公司 一种存储器

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799555B2 (en) * 2011-04-14 2014-08-05 Apple Inc. Boot data storage schemes for electronic devices
JP5659178B2 (ja) * 2012-03-16 2015-01-28 株式会社東芝 不揮発性記憶装置及び不揮発性メモリの制御方法
KR101992934B1 (ko) 2012-11-14 2019-06-26 삼성전자주식회사 메모리 시스템 및 이의 동작 방법
CN103279366B (zh) * 2013-04-24 2016-08-10 中国科学院苏州纳米技术与纳米仿生研究所 固态硬盘及掉电后基于固态硬盘快速开机的方法
CN103778964B (zh) * 2013-12-30 2016-08-17 上海晨思电子科技有限公司 一种NAND Flash烧写数据的处理、使用方法及装置、***
KR102069274B1 (ko) 2014-02-05 2020-01-22 삼성전자주식회사 메모리 제어 방법
TWI613652B (zh) * 2017-03-27 2018-02-01 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
US10725675B2 (en) * 2018-03-19 2020-07-28 Kabushiki Kaisha Toshiba Management apparatus, information processing apparatus, management method, and computer program product
CN108681509B (zh) * 2018-04-20 2022-04-08 江苏华存电子科技有限公司 一种快速建立闪存映射表的方法
US11354058B2 (en) 2018-09-06 2022-06-07 Pure Storage, Inc. Local relocation of data stored at a storage device of a storage system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1030834A (zh) * 1987-06-29 1989-02-01 数字设备公司 具有可控梯形变化率的总线发送器
US6574754B1 (en) * 2000-02-14 2003-06-03 International Business Machines Corporation Self-monitoring storage device using neural networks
WO2005041020A1 (en) * 2003-10-24 2005-05-06 Nokia Corporation Method for shifting a shortcut in an electronic device, a display unit of the device, and an electronic device
CN201417444Y (zh) * 2009-04-08 2010-03-03 李丽丽 一种显示***及其显示装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5043940A (en) 1988-06-08 1991-08-27 Eliyahou Harari Flash EEPROM memory systems having multistate storage cells
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US5341330A (en) 1992-10-30 1994-08-23 Intel Corporation Method for writing to a flash memory array during erase suspend intervals
US6535949B1 (en) * 1999-04-19 2003-03-18 Research In Motion Limited Portable electronic device having a log-structured file system in flash memory
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
JP4772214B2 (ja) 2001-06-08 2011-09-14 ルネサスエレクトロニクス株式会社 不揮発性記憶装置及びその書き換え制御方法
US6711663B2 (en) 2001-11-15 2004-03-23 Key Technology Corporation Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof
KR100449708B1 (ko) 2001-11-16 2004-09-22 삼성전자주식회사 플래시 메모리 관리방법
US6839826B2 (en) 2002-02-06 2005-01-04 Sandisk Corporation Memory device with pointer structure to map logical to physical addresses
WO2004021191A1 (ja) 2002-08-29 2004-03-11 Matsushita Electric Industrial Co., Ltd. 半導体メモリ装置、及び、フラッシュメモリへのデータ書き込み方法
US8041878B2 (en) * 2003-03-19 2011-10-18 Samsung Electronics Co., Ltd. Flash file system
US7139864B2 (en) 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US20070016721A1 (en) * 2005-07-18 2007-01-18 Wyse Technology Inc. Flash file system power-up by using sequential sector allocation
US7818610B2 (en) * 2007-09-27 2010-10-19 Microsoft Corporation Rapid crash recovery for flash storage
US8417893B2 (en) * 2008-02-04 2013-04-09 Apple Inc. Memory mapping techniques
KR101555022B1 (ko) * 2008-12-02 2015-09-23 삼성전자주식회사 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 맵핑정보 복원 방법
US9063886B2 (en) * 2009-09-18 2015-06-23 Apple Inc. Metadata redundancy schemes for non-volatile memories
US9110594B2 (en) * 2009-11-04 2015-08-18 Seagate Technology Llc File management system for devices containing solid-state media
US8250324B2 (en) * 2009-11-30 2012-08-21 International Business Machines Corporation Method to efficiently locate meta-data structures on a flash-based storage device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1030834A (zh) * 1987-06-29 1989-02-01 数字设备公司 具有可控梯形变化率的总线发送器
US6574754B1 (en) * 2000-02-14 2003-06-03 International Business Machines Corporation Self-monitoring storage device using neural networks
WO2005041020A1 (en) * 2003-10-24 2005-05-06 Nokia Corporation Method for shifting a shortcut in an electronic device, a display unit of the device, and an electronic device
CN201417444Y (zh) * 2009-04-08 2010-03-03 李丽丽 一种显示***及其显示装置

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102789431A (zh) * 2012-06-29 2012-11-21 记忆科技(深圳)有限公司 数据保护方法和***
CN102789431B (zh) * 2012-06-29 2015-11-25 记忆科技(深圳)有限公司 数据保护方法和***
CN103744795A (zh) * 2013-12-19 2014-04-23 记忆科技(深圳)有限公司 固态硬盘快速启动的方法及其固态硬盘
CN103744795B (zh) * 2013-12-19 2016-11-30 记忆科技(深圳)有限公司 固态硬盘快速启动的方法及其固态硬盘
US9740776B2 (en) 2014-06-03 2017-08-22 Xly Salvationdata Technology, Inc. Method for extracting residual videos and deleted videos in a DVR hard disk
CN103986898A (zh) * 2014-06-03 2014-08-13 四川效率源信息安全技术有限责任公司 一种提取dvr硬盘中残余视频和被删除视频的装置和方法
CN103986898B (zh) * 2014-06-03 2017-02-01 四川效率源信息安全技术股份有限公司 一种提取dvr硬盘中残余视频和被删除视频的方法
CN104868987B (zh) * 2014-08-23 2018-05-01 深圳键桥通讯技术股份有限公司 基于机卡分离式网关装置的数据同步方法
CN104868987A (zh) * 2014-08-23 2015-08-26 深圳键桥通讯技术股份有限公司 基于机卡分离式网关装置的数据同步方法
CN106445400A (zh) * 2015-08-05 2017-02-22 宏碁股份有限公司 计算机***及非挥发性存储器的控制方法
CN106445400B (zh) * 2015-08-05 2019-05-24 宏碁股份有限公司 计算机***及非挥发性存储器的控制方法
CN107544913A (zh) * 2016-06-29 2018-01-05 北京忆恒创源科技有限公司 一种ftl表快速重建方法与装置
CN106802777A (zh) * 2017-01-20 2017-06-06 杭州电子科技大学 一种用于固态存储设备的闪存转换层控制方法
CN107301133A (zh) * 2017-07-20 2017-10-27 郑州云海信息技术有限公司 一种构建丢失的FTL table的方法及装置
CN107301133B (zh) * 2017-07-20 2021-01-12 苏州浪潮智能科技有限公司 一种构建丢失的FTL table的方法及装置
CN111324289A (zh) * 2018-12-14 2020-06-23 北京兆易创新科技股份有限公司 一种存储器
CN111324289B (zh) * 2018-12-14 2024-02-20 兆易创新科技集团股份有限公司 一种存储器

Also Published As

Publication number Publication date
TWI584119B (zh) 2017-05-21
US8381018B2 (en) 2013-02-19
TW201142592A (en) 2011-12-01
CN102253868B (zh) 2013-07-10
US20110289352A1 (en) 2011-11-24

Similar Documents

Publication Publication Date Title
CN102253868B (zh) 用于数据恢复的方法以及用于数据恢复的装置
CN101169751B (zh) 具有闪存设备的***及其数据恢复方法
CN101346771B (zh) 用于传统主机的方法和存储器***
US8706989B2 (en) Data storage device with power-off recovery system and method thereof
CN101681315B (zh) 存储器***
US9841917B2 (en) Systems and methods for configuring non-volatile memory
CN101095121B (zh) 高速暂存区块
CN102508788B (zh) Ssd及ssd垃圾回收方法和装置
JP5268710B2 (ja) 半導体記憶装置
CN105027090A (zh) 用于固态驱动器中的物理到逻辑映射的方法、设备和***
CN102866956B (zh) 基于固态存储介质的数据实时跟踪存储***及方法
EP2216719B1 (en) Mobile electronic apparatus and data management method in mobile electronic apparatus
US10838629B2 (en) Solid state device with fast boot after ungraceful shutdown
CN100511166C (zh) 一种快速存储装置及快速更新数据的方法
CN101241471A (zh) 快闪存储器***及其垃圾收集方法
CN101681299A (zh) 存储器***
CN105740157A (zh) 数据储存装置以及快闪存储器控制方法
US8296503B2 (en) Data updating and recovering methods for a non-volatile memory array
CN105122220A (zh) 固态驱动器中的原子写入命令支持
CN102667740A (zh) 将数据存储装置分区与物理数据扇区的边界对齐
CN103455432A (zh) 用来管理一记忆装置的方法以及其相关的记忆装置
CN101216789A (zh) 数据更新方法、装置及***
CN102063266A (zh) 非易失存储器控制器与用于将当前数据写入非易失存储器的方法
CN101334756A (zh) 非易失性存储器的控制装置及其控制方法以及存储装置
CN102053879A (zh) 基于falsh的自恢复实时文件***

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