CN101169751A - 具有闪存设备的系统及其数据恢复方法 - Google Patents
具有闪存设备的系统及其数据恢复方法 Download PDFInfo
- Publication number
- CN101169751A CN101169751A CNA2007101814312A CN200710181431A CN101169751A CN 101169751 A CN101169751 A CN 101169751A CN A2007101814312 A CNA2007101814312 A CN A2007101814312A CN 200710181431 A CN200710181431 A CN 200710181431A CN 101169751 A CN101169751 A CN 101169751A
- Authority
- CN
- China
- Prior art keywords
- information
- block
- piece
- mapping table
- memory device
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
提供了一种用于在包括闪存设备的系统中恢复块映射表的方法,其中所述块映射表根据耗损平衡方案来采用地址映射。所述方法包括:对于所述耗损平衡方案读取来自闪存设备的块排列信息;参考所述块排列信息中包含的分配块信息恢复所述块映射表;参考所述块排列信息中包含的擦写块信息,扫描在所述闪存设备的擦写块的备用区域中包含的地址分配信息,并且根据扫描的地址分配信息更新所述块映射表。
Description
技术领域
本发明一般涉及存储媒体,更具体地,本发明涉及用于恢复非易失性存储器中的数据的方法和系统。
对2006年10月25日提交的韩国专利申请No.2006-104152要求35U.S.C§下的优先权,在此并入其整体内容作为参考。
背景技术
根据存储器单元用位线相互连接的方式,闪存通常被分类为NOR型或NAND型。NOR闪存能够进行相对快的读操作,因此通常用作代码存储器。另一方面,NAND闪存能有相对高的写频率,并且通常用作低成本、高容量数据存储媒体。
在NOR型闪存和NAND型闪存两者中,每个单位存储器单元在编程之前必须处于擦写状态。另外,通常以擦写块或者包含大量存储器单元的擦写区为单位执行擦写功能。闪存的这些和其他特性必须使用设备的闪存和文件系统之间的“快闪翻译层”(FTL)。FTL通常用于隐藏闪存的擦写操作,并且用于仿效诸如盘驱动器的存储设备或其他海量存储设备。例如,在写操作期间,FTL用于使用文件系统生成的逻辑地址来映射闪存的物理地址。为了实现快速映射操作,FTL使用通常由静态随机存取存储器(RAM)组成的地址映射表。FTL的地址映射功能允许主机识别作为硬盘驱动器(HDD)或静态RAM的闪存,并且允许主机以与HDD或静态RAM相同的方式存取闪存。
作为FTL的块地址映射示例,图1是虚拟块映射方案的图表示出。如所示,“n”个逻辑地址域块LBN_0至LBN_n-1被映射到“n+m”个物理地址域块PBN_0至PBN_n-1以及RBN_0至RBN_m-1。超过“n”个逻辑域块的“m”个物理地址域块可被认为是代替异常(“坏”)块采用的备用块。
在逻辑地址域块映射到物理地址域块未被固定地定义的意义上,逻辑地址域块映射到物理地址域块是动态的。例如,“耗损平衡(wear-leveling)”方案可被用来延长闪存的存储器块的寿命。例如,耗损平衡可以包含存储指示对每个存储器块的擦写计数(erase count)的信息、和将逻辑块地址分配给具有最小擦写计数的那些存储器块。
同时,一旦发生因疏忽所致的(inadvertent)电源失去(例如电源故障),则在重新启动期间必须恢复FTL映射信息。这通常通过执行这样的处理来完成,即,通过扫描所有块来读取来自每个块中包含的特定字段的映射信息,然后恢复RAM(随机存取存储器)中组成的映射表。该处理引起在重新启动期间消耗时间和资源的缺点。
发明内容
根据本发明的一方面,提供了一种在包括闪存设备的系统中恢复块映射表的方法,其中所述块映射表采用根据耗损平衡方案的地址映射。所述方法包括:对于耗损平衡方案从闪存设备读取块排列信息;参考所述块排列信息中包含的分配块信息恢复所述块映射表;参考所述块排列信息中包含的擦写块信息,扫描在所述闪存设备的擦写块的备用区域中包含的地址分配信息,并且根据扫描的地址分配信息更新所述块映射表。
根据本发明的另一方面,提供了一种存储器系统,包括:非易失性存储设备,其存储块排列信息;中央处理单元;和随机存取存储器,其存储块映射表,所述块映射表被配置成对应于从所述中央处理单元提供的逻辑块地址而分配所述非易失性存储设备的物理块地址,其中所述块映射表采用根据耗损平衡方案的地址映射。所述中央处理单元参考非易失性存储设备的块排列信息中包含的分配块信息来恢复块映射表,参考擦写块信息来定位擦写块的备用区域中包含的地址信息,并且根据所定位的地址信息来更新块映射表。
根据本发明的再一方面,提供了一种系统,包括:中央处理单元;混合硬盘,其存储数据并包含非易失性高速缓冲存储器;和随机存取存储器,其存储块映射表,所述块映射表被配置成对应于从所述中央处理单元提供的逻辑块地址而分配所述非易失性高速缓冲存储器的物理块地址,其中所述块映射表采用根据耗损平衡方案的地址映射。所述中央处理单元参考非易失性高速缓冲存储器的块排列信息中包含的分配块信息来恢复块映射表,参考擦写块信息定位擦写块的备用区域中包含的地址信息,并且根据所定位的地址信息来更新块映射表。
附图说明
将参考附图描述本发明的非限制性和非穷尽的实施例,其中,贯穿各个附图,除非相反规定,否则相同的附图标记指代相同的部件。附图中:
图1是用于解释虚拟块(virtual block)映射方案的图表;
图2是用于解释根据本发明实施例的恢复块映射表的方法的图表;
图3是图解说明图2的图表中所示的闪存区的示例性配置的图表;
图4是用于解释图3的图表中所示的耗损分类块列表(WSBL)的图表;
图5是用于解释图3的图表中所示的树信息区域的图表;
图6是用于解释根据本发明实施例的树信息区域的恢复操作的图表;
图7是图解说明根据本发明实施例的块映射表的恢复方法的操作过程的流程图;和
图8是示意性图解说明可按根据本发明实施例的块映射表的恢复方法操作的系统的方框图。
具体实施方式
下面将参考附图更详细地描述本发明的优选实施例。然而,本发明能够以不同的方式体现,并且不应当被曲解为限制于此处所陈述的实施例。相反,提供这些实施例,使得本公开透彻完整,并且将向本领域的普通技术人员完全传达本发明的范围。贯穿附图,相同的附图标记指代相同的元件。
根据本发明的实施例,在失去电源之后的重新启动期间,通过利用闪存设备中存储的耗损分类块列表(wear-sorted block list,WSBL)(即,块排列信息)来执行映射表的恢复。首先,恢复存储WSBL中包含的有效数据的分配块的地址信息。然后,参考地址信息,根据搜索在与其对应的块的备用字段中记录的地址映射信息,高速恢复在发生电源失去时的全部数据结构。
现在将参考图2来描述根据本发明实施例的在闪存设备的电源失去之后恢复块映射表的方法。
图2图解说明了块映射表10和闪存存储区。如所示,块映射表包括被映射到物理地址PBN的逻辑地址LBN。例如,对主设备提供的逻辑地址被映射表10翻译为物理地址PBN。物理地址PBN识别闪存存储区的多个存储块BLK_0至BLK_n-1之一。
块映射表10可以由诸如移动设备或计算机之类的系统的RAM形成,并且可被周期性地存储在闪存设备中或者遵从来自主机的命令。
块BLK_0至BLK_n-1中的每个构成闪存设备的擦写单元。而且,每个块包括多个页,并且每一页构成闪存设备的写单元。在图2的示例中,块BLK_0至BLK_n-1被划分为分区信息字段20、元数据字段30和用户数据字段40。分区信息字段20存储与闪存的所有文件相关的分区信息以及与坏块的位置相关的信息。元数据字段30包含具有从主机提供的逻辑地址和闪存的物理地址的映射信息、以及耗损分类块列表WSBL。用户数据字段40被提供用于存储从主机输入的数据。各个字段的每个块可以包括用于存储数据的主区域、和用于存储与主区域的数据相关的信息的备用区域。
下面将举例来描述使用闪存设备作为硬盘驱动器(HDD)的高速缓冲存储器的本发明的映射表恢复方法。闪存设备辅助垃圾收集的操作,所述垃圾收集操作利用各个块上分散的数据来填满块。而且,它还提供冲刷(flush)操作,用于将高速缓冲数据从用作高速缓冲存储器的闪存设备存储到盘。块映射表10被形成在配备有闪存设备的系统的RAM上,构成文件系统。块映射表10在其每次修改时被预留在闪存设备的特定字段中,并且当发生失败时被用作用于恢复的数据。然而,在映射表10的每次修改时将修改的数据存储到闪存设备的该操作模式会引起明显的操作开销。因此,为了减少操作开销,可以改变块映射表10的更新条件。而且,仅当产生垃圾收集或冲刷操作时才可以更新闪存设备中包含的WBSL。本发明实施例的系统首先通过WBSL恢复映射表。进而,经由通过参考WSBL的耗损计数(wear count)直接存取相应的块来读取映射信息的扫描操作,恢复在电源失去之前更新WSBL之后修改的映射信息。
如此,参考具有相对较小的更新计数的WSBL来完成产生电源失去时块映射表10的恢复。参考WSBL(即,块排列信息),首先在更新WSBL时恢复块映射表10。然后,顺序进行:参考WSBL信息对擦写块搜索空白字段(spacefield),并且读出从WSBL更新时间到电源失去时修改的块地址信息。而且,参考所读出的修改的块地址信息,可以将块映射表10恢复到电源失去时间的状态。
图3是图解说明图2中所示的闪存区的示例性配置的示意图表。参考图3,如先前所描述的,闪存区由分区信息字段20、元数据字段30和用户数据字段40组成。
分区信息字段20包含用于分区地管理物理存储区域的分区信息。分区信息由文件系统读出并且被安装在系统的RAM上。而且,在形成块映射表的同时,坏块信息被提供给分区信息字段20并被安装在其上。
元数据字段30包括具有其位置信息的表指针区域31。元数据字段30还包括区域32,其包含耗损平衡信息(WSBL)。耗损平衡信息区域(WSBL)32存储基于擦写计数而将被排列的块的分区信息。树表33包含闪存设备的各个块的映射和扇区地址信息。树表33变成形成块映射表10的真正数据。
用户数据字段40由与块映射表10分配的物理地址对应的块组成,用于存储输入数据。而且,在将输入数据存储到用户数据字段40的同时产生的冲刷或垃圾收集操作期间,更新耗损平衡信息区域32的WSBL和树表33。
根据本发明实施例的文件系统,在冲刷或垃圾收集操作期间,使用RAM中形成的最新信息将WSBL更新到闪存。而且,当产生树信息的变化时,在RAM中立即更新树表33,但是仅用周期性修改的信息更新闪存。恢复RAM中的映射表是将树表33返回到已经发生电源失去时的以前状态。根据本发明实施例的存储设备能够首先在发生电源失去时通过WSBL恢复树表33,然后通过最少的块扫描操作恢复在电源失去之前RAM中组织的树表33的以前状态。
图4是用于图解说明图3中所示的耗损分类块列表(WSBL)的示例的方框图。参考图4,WSBL包括分配信息区(Alloc)320、自由信息区(Free)321和垃圾信息区(Garbage)322。
分配信息区320存储有关其中从主机传送的数据已被编程并且由此被存储在其中的块的信息。这时存储数据的模式符合擦写计数的顺序(下文中称作EC)。即,具有较低EC的块首先被分配在从主机提供的逻辑块地址LBN之前。在分配信息区320中包含的块上,符号为0xAA的WSBL_mark被呈现来表示块中编程的数据有效。
在自由信息区321中,有关擦写块、即自由块的全部信息被设置为基于EC大小而排列。在从主机提供的逻辑地址LBN之前,物理地址PBN被分配给具有较低EC的块。自由块用0xA5的WSBL_mark标记。
垃圾信息区322被组织来存储有关为在系统中生成的垃圾收集指定的块的信息,即,有关垃圾块的信息。垃圾收集是用于检测和消除不再使用条件下的数据的对象的系统操作。每当文件系统可用的存储容量下降在固定水平以下时自动进行垃圾收集。自动的垃圾收集发现数据的所有对象之间存在相关性,然后与闪存的高速缓冲数据无关的数据或块由垃圾标记0x55表示。在这期间,垃圾标记的数据的位置可以是以页或块为单位的数据。垃圾标记0x55表示的数据被认为是不必要的数据,代表那些数据对应于将被归还到系统的存储器区域。因此,具有垃圾标记0x55的存储器区域是将被擦写的区域。如果具有垃圾标记0x55的块被擦写,则标记改变为指示自由块(或擦写块)。擦写块也可被分配来对应根据它们的EC外部提供的逻辑块地址。
现在,参考WSBL的上述配置和排列,通过从闪存读取WSBL能够恢复对应于已经发生冲刷或垃圾收集操作时刻的块映射信息。这是因为WSBL的分配信息区320包括这样的信息:以EC顺序排列已发生冲刷或垃圾收集时刻的物理块地址到逻辑块地址。然而,如果在冲刷或垃圾收集操作之后发生电源失去,则WSBL不足以完全恢复已发生电源失去时刻的映射表。即,需要另外以EC顺序来扫描WSBL的自由信息区321的擦写块,以便完成块映射表的成功恢复。
图5是图解说明存储所有文件或块的地址信息(或映射信息)的树信息区域(即树表)33的示意图。参考图5,树区域33包含与闪存的文件系统相关的树信息(iTree)。树信息(iTree)包含地址映射信息。具体地,在组织用于文件管理的树和在RAM上加载的文件系统的层结构中使用树信息(iTree)。树区域中存储的树信息(iTree)包括引导系统和安装其他文件系统必需的文件。这些文件被加载在系统的RAM中,形成树结构。结果,通过重新启动系统恢复数据的特征是指将RAM的树结构(iTree)恢复到与在电源故障之前的状态对应的树结构。包含闪存的文件系统的树信息(iTree)的树区域33包括:备份区331,在引导系统的同时存储当中断正常电源时备份的树信息;和更新区332(Updta1~Update M),存储后来修改的树信息。因为在一次编程模式中可操作闪存设备,不能将数据重写到其存储单元。因此,修改的树信息被写入更新区。尽管可以按页为单位写更新信息,作为替换可以写其他存储单元。
编程到更新区332的数据包括对安装在RAM上的树信息修改的信息。首标区(Header)334包含一般ID信息336、变量337、代表更新节点的数量的信息338、和更新节点索引339。
在具有如此数据结构的闪存设备的树区域33中,树信息(iTree)与第一块映射表对应地被存储在备份区(或树信息区)中。之后,顺序更新的树信息区形成树结构。当在树信息区中没有要写入的空间时,擦信息区331被擦除,然后用在RAM中呈现的最近树信息来编程树信息区331。
图6是图解说明通过根据本发明实施例的WSBL的树信息区域33的恢复操作的方框图。参考图6,在文件系统中,如果在因疏忽所致的电源失去之后重新启动系统,则通过WSBL 32的分配块信息320来恢复树区域的备份区331(参考图5),并且之后通过参考树信息区321扫描页,用普通树信息或块映射表来恢复更新区332。
如果重新启动系统,则从闪存设备读出最后更新的WSBL,并且基于最后更新的WSBL恢复树信息。这对应于树区域33的备份区331。通过WSBL的读取操作将所有树区域数据恢复到块PBN27。然后,对于排除了WSBL 32的分配信息区320的剩余块执行扫描操作。该操作通过参考EC扫描WSBL中包含的自由块(free block)来完成。因此,通过以EC顺序直接存取自由块和读取来自备用区域的树信息获得了从WSBL的最近更新到电源失去的树信息。
图6示意性示出了块PBN37的扫描操作。该块扫描操作可以对应包含在块的第一页的备用区域中存储的块信息的树信息。具体地,更新区332可以通过读它的相应块的逻辑地址和扇区信息而被恢复。对于自由块的该扫描操作被执行,直到检测垃圾块为止。在对所有自由块读取树信息或块映射信息之后,完成块映射表的恢复。基于恢复的块映射表,可以将文件系统的树结构安装在RAM上。
扫描操作包括从闪存设备的块信息区读取数据,译解读出数据,并且确定是否存在垃圾标记。扫描操作继续,直到发现在闪存设备的块信息区中存储的垃圾标记(GM)。如果发现垃圾标记(GM),恢复直到相应块的映射表。即,通过WBSL的顺序来恢复电源失去之前的冲刷或垃圾收集时刻的块映射表。而且,通过剩余块的扫描操作恢复从冲刷或垃圾收集的时刻到电源失去时刻的映射信息。这里,尽管处理了对自由块的备用区域的扫描操作直到发现垃圾标记(GM),但是也允许仅扫描作为自由块的用WSBL_mark(0xA5)表示的块。
图7是示出本发明的块映射表的恢复方法的操作过程的流程图。参考图7,将描述通过WSBL顺序首先恢复块映射表、随后随时间通过块扫描操作恢复剩余映射信息的过程。将结合下面的附图详述恢复块映射表的顺序。
如果由于因疏忽所致的电源失去而重新启动系统,则数据恢复操作由文件管理器(或固件)开始。一旦数据恢复操作开始,从闪存设备的WSBL区域读出电源失去之前的最近更新的WSBL(S10)。参考读出的WSBL中包含的EC(即擦写计数),系统恢复与更新时间对应的块映射表。WSBL在产生冲刷或垃圾收集操作时刻在RAM上被更新,并且随后被编程到闪存设备的元数据字段30。因此,由于因疏忽所致的电源失去,系统应当被设置来在重新启动模式中读取WSBL。根据WSBL指定的所有块的EC的顺序首先完成RAM上形成的块映射表(S20)。在参考读出的WSBL完成块映射表的恢复之后,针对仍未被WSBL指定的物理块执行扫描操作,以便获取映射信息。该扫描操作开始读取未被WSBL定义的块的块信息区(S30)。然后,包含在未被WSBL定义的物理块的备用区域中的块映射信息被读取并且被添加到RAM上构成的块映射表(S40)。如果根据扫描每个块的块信息区发现垃圾标记,则执行恢复块映射表的顺序,直到具有垃圾标记的块。因此,它检测是否存在垃圾标记(S50)。如果在扫描的块中不存在垃圾标记(GM),则扫描操作的过程移动到未被WSBL定义的剩余块。然后,它读取在用于移动的块的块信息区中包含的映射数据,并且基于读出的映射数据更新RAM的块映射表(S60)。一旦检测具有垃圾标记(GM)的块,通过给RAM的块映射表提供映射信息来完成全部映射表的恢复过程,直到被垃圾标记表示的块(S7)。
图8是示意性图解说明可按根据本发明实施例的块映射表的上述恢复方法操作的计算机系统的示例的方框图。参考图8,计算机系统包括中央处理单元110、RAM(即,对应于上述的RAM)120、输入/输出设备130、和使用闪存设备作为写高速缓冲存储器(即,非易失性高速缓冲存储器102)的混合硬盘100。在由于因疏忽所致的电源失去引起的重新启动模式中,系统通过从闪存设备的非易失性高速缓冲存储器102读取WSBL来恢复块映射表。而且,通过直到检测垃圾标记(GM)时刻进行的扫描操作可以恢复WSBL未分配的块。混合硬盘100通常通过系统总线130的方式被提供命令、地址和数据。盘控制器101暂时存储将被提供给非易失性高速缓冲存储器102的数据,并且当非易失性高速缓冲存储器102不能进一步存储数据时将高速缓存数据冲刷到磁盘103。而且,盘控制器101与从中央处理单元110或操作系统提供的逻辑地址相应地映射闪存设备的物理地址。
当发生因疏忽所致的电源失去时,系统从非易失性高速缓冲存储器102读取编程的WSBL,并且参考WSBL中包含的EC将物理块地址分配给在RAM 120中组成的块映射表。而且,系统对未由WSBL定义的块读取块信息区。继续读取块信息区的这一操作,直到检测具有垃圾标记的块。
通过上述方案,当发生因疏忽所致的电源失去时,系统能够快速地恢复块映射数据或者块映射表。尽管重新启动系统,也可以从非易失性高速缓冲存储器102调用最近更新的WSBL,并且然后参考WSBL首先恢复块映射数据。而且,执行对剩余块的恢复映射信息的恢复操作,直到从剩余块检测到垃圾标记。
如上所述,根据本发明的恢复方案,当恢复闪存设备的块映射表或数据时,可能实现能够提高操作速度的高速缓冲存储器。而且,因为不必将附加的映射信息恢复到闪存设备,因此能够减少高速缓冲操作的开销。
上述主题事务将被认为是图解性的,而不是限制性,并且所附权利要求旨在覆盖落入本发明的真正精神和范畴之内的所有修改、改进和其他实施例。因此,为了法律允许的最大延伸,本发明的范围由所附权利要求及其等效物的最广可能解释而确定,并且不应当受前面详细描述的限制。
Claims (26)
1.一种用于在包括闪存设备的系统中恢复块映射表的方法,所述块映射表采用根据耗损平衡方案的地址映射,所述方法包括:
对于所述耗损平衡方案从闪存设备读取块排列信息;
参考所述块排列信息中包含的分配块信息恢复所述块映射表;
参考所述块排列信息中包含的擦写块信息,扫描在所述闪存设备的擦写块的备用区域中包含的地址分配信息,并且根据扫描的地址分配信息更新所述块映射表。
2.如权利要求1所述的方法,其中所述块排列信息包括指示所述闪存设备的块的擦写计数的信息。
3.如权利要求2所述的方法,其中所述块排列信息以擦写计数的顺序排列,并且其中具有最小擦写计数的块首先被分配给从主机提供的逻辑块地址。
4.如权利要求1所述的方法,其中所述块映射表组成在系统的随机存取存储器中。
5.如权利要求1所述的方法,其中所述块排列信息包括:
指示初步分配给逻辑块地址并且以擦写计数的顺序排列的信息;
包含指示擦写块并且以擦写计数的顺序排列的信息的自由块信息;和
指示存储副本或无效数据的垃圾块的信息。
6.如权利要求5所述的方法,其中除了垃圾块以外,执行地址分配信息的扫描。
7.如权利要求6所述的方法,垃圾块的备用区域包括指示垃圾块状态的垃圾标记。
8.一种存储器系统,包括:
非易失性存储设备,其存储块排列信息;
中央处理单元;和
随机存取存储器,其存储块映射表,所述块映射表被配置成对应于从所述中央处理单元提供的逻辑块地址而分配所述非易失性存储设备的物理块地址,所述块映射表采用根据耗损平衡方案的地址映射,
其中所述中央处理单元参考非易失性存储设备的块排列信息中包含的分配块信息来恢复块映射表,参考擦写块信息来定位擦写块的备用区域中包含的地址信息,并且根据所定位的地址信息来更新块映射表。
9.如权利要求8所述的存储器系统,其中所述块排列信息包括根据非易失性存储设备的块的擦写计数而排列的地址信息,
其中所述地址信息包括指示存储有效数据的块的分配块信息、指示擦写块的擦写块信息、和指示存储无效数据的块的垃圾块信息。
10.如权利要求9所述的存储器系统,其中所述块排列信息在垃圾收集操作期间被从随机存取存储器更新到非易失性存储设备中。
11.如权利要求10所述的存储器系统,其中所述块映射表由包含非易失性存储设备的数据结构的树结构定义。
12.如权利要求11所述的存储器系统,其中所述树结构被周期性地存储在非易失性存储设备中。
13.如权利要求8所述的存储器系统,其中所述非易失性存储设备包括NAND闪存设备。
14.如权利要求8所述的存储器系统,其中所述非易失性存储设备包括oneNAND闪存设备。
15.如权利要求8所述的存储器系统,还包括用于进行数据输入/输出操作的输入/输出设备。
16.如权利要求15所述的存储器系统,还包括互连输入/输出设备、中央处理单元、随机存取存储器和非易失性存储设备的系统总线。
17.一种系统,包括:
中央处理单元;
混合硬盘,其存储数据并包含非易失性高速缓冲存储器;和
随机存取存储器,其存储块映射表,所述块映射表被配置成对应于从所述中央处理单元提供的逻辑块地址而分配所述非易失性高速缓冲存储器的物理块地址,所述块映射表采用根据耗损平衡方案的地址映射,
其中所述中央处理单元参考非易失性高速缓冲存储器的块排列信息中包含的分配块信息来恢复块映射表,参考擦写块信息定位擦写块的备用区域中包含的地址信息,并且根据所定位的地址信息来更新块映射表。
18.如权利要求17所述的系统,其中所述混合硬盘包括:
磁盘,其存储非易失性高速缓冲存储器的高速缓冲数据;和
盘控制器,其连接外部数据,并且控制从非易失性高速缓冲存储器将被冲刷到磁盘的高速缓冲数据。
19.如权利要求18所述的系统,其中所述块排列信息包括根据非易失性高速缓冲存储器的块的擦写计数排列的地址信息,
其中所述地址信息包括指示存储有效数据的块的分配块信息、指示擦写块的擦写块信息、和指示存储无效数据的块的垃圾块信息。
20.如权利要求19所述的系统,其中所述块排列信息在冲刷操作或垃圾收集操作期间从随机存取存储器被更新到非易失性高速缓冲存储器。
21.如权利要求19所述的系统,其中所述块映射表由包含非易失性高速缓冲存储器的数据结构的树结构定义。
22.如权利要求21所述的系统,其中所述树结构在非易失性高速缓冲存储器中被周期性地更新。
23.如权利要求17所述的系统,其中所述非易失性高速缓冲存储器包括NAND闪存。
24.如权利要求17所述的存储器系统,其中所述非易失性高速缓冲存储器包括oneNAND闪存。
25.如权利要求17所述的系统,还包括用于进行数据输入/输出操作的输入/输出设备。
26.如权利要求24所述的系统,还包括互连输入/输出设备、中央处理单元、随机存取存储器和混合硬盘的系统总线。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR104152/06 | 2006-10-25 | ||
KR1020060104152A KR100843543B1 (ko) | 2006-10-25 | 2006-10-25 | 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101169751A true CN101169751A (zh) | 2008-04-30 |
CN101169751B CN101169751B (zh) | 2012-07-04 |
Family
ID=39331749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101814312A Active CN101169751B (zh) | 2006-10-25 | 2007-10-25 | 具有闪存设备的系统及其数据恢复方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8028120B2 (zh) |
KR (1) | KR100843543B1 (zh) |
CN (1) | CN101169751B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101782872A (zh) * | 2009-01-16 | 2010-07-21 | 马维尔国际贸易有限公司 | 使用固态盘的缓存系统和方法 |
CN101833510A (zh) * | 2010-03-29 | 2010-09-15 | 清华大学 | 闪存ftl的地址转换方法 |
CN102483714A (zh) * | 2009-07-24 | 2012-05-30 | 苹果公司 | 恢复索引页 |
CN102567210A (zh) * | 2010-12-27 | 2012-07-11 | 厦门市美亚柏科信息股份有限公司 | 闪存芯片数据分析环境重组方法和装置 |
CN102693185A (zh) * | 2011-02-17 | 2012-09-26 | 索尼公司 | 管理设备和管理方法 |
CN102999430A (zh) * | 2011-09-16 | 2013-03-27 | 苹果公司 | 处理具有非易失性存储器的系统的未完全关闭 |
CN104809037A (zh) * | 2015-05-13 | 2015-07-29 | 深圳芯邦科技股份有限公司 | eMMC基于特殊页的快速启动方法及装置 |
CN105589767A (zh) * | 2015-12-21 | 2016-05-18 | 北京时代民芯科技有限公司 | 一种用于nand flash的系统掉电保护实现方法 |
CN103870392B (zh) * | 2014-03-26 | 2017-01-11 | 青岛海信宽带多媒体技术有限公司 | 一种基于嵌入式系统的闪存操作方法及装置 |
CN106802777A (zh) * | 2017-01-20 | 2017-06-06 | 杭州电子科技大学 | 一种用于固态存储设备的闪存转换层控制方法 |
CN107544913A (zh) * | 2016-06-29 | 2018-01-05 | 北京忆恒创源科技有限公司 | 一种ftl表快速重建方法与装置 |
CN108733319A (zh) * | 2017-04-17 | 2018-11-02 | 桑迪士克科技有限责任公司 | 用于非易失性存储器中的混合推拉数据管理的系统和方法 |
CN108932202A (zh) * | 2017-05-24 | 2018-12-04 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110531921A (zh) * | 2018-05-24 | 2019-12-03 | 爱思开海力士有限公司 | 数据存储装置、具有其的存储系统及用于恢复的操作方法 |
CN111919201A (zh) * | 2018-03-21 | 2020-11-10 | 美光科技公司 | 混合式存储器系统 |
CN113096713A (zh) * | 2021-04-12 | 2021-07-09 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
Families Citing this family (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9495241B2 (en) | 2006-12-06 | 2016-11-15 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for adaptive data storage |
US8935302B2 (en) | 2006-12-06 | 2015-01-13 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume |
WO2008070814A2 (en) | 2006-12-06 | 2008-06-12 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for a scalable, composite, reconfigurable backplane |
JP5026102B2 (ja) * | 2007-02-07 | 2012-09-12 | 株式会社日立製作所 | ストレージ制御装置及びデータ管理方法 |
US8892831B2 (en) * | 2008-01-16 | 2014-11-18 | Apple Inc. | Memory subsystem hibernation |
US8397014B2 (en) * | 2008-02-04 | 2013-03-12 | Apple Inc. | Memory mapping restore and garbage collection operations |
JP5049835B2 (ja) * | 2008-03-27 | 2012-10-17 | 株式会社東芝 | ハイブリッド記録装置 |
WO2009140157A2 (en) * | 2008-05-15 | 2009-11-19 | Board Of Governors Of Higher Education, State Of Rhode Island And Providence Plantations | Systems and methods for recovering information from nand gate array memory systems |
US20090307409A1 (en) * | 2008-06-06 | 2009-12-10 | Apple Inc. | Device memory management |
KR101029704B1 (ko) * | 2008-06-17 | 2011-04-18 | 주식회사 셀픽 | 플래시 메모리 관리 방법 |
KR101033465B1 (ko) * | 2008-12-30 | 2011-05-09 | 주식회사 하이닉스반도체 | 플래쉬 메모리 장치 및 및 이를 위한 리드동작 제어 방법 |
US20100174845A1 (en) * | 2009-01-05 | 2010-07-08 | Sergey Anatolievich Gorobets | Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques |
US8700840B2 (en) * | 2009-01-05 | 2014-04-15 | SanDisk Technologies, Inc. | Nonvolatile memory with write cache having flush/eviction methods |
KR101067018B1 (ko) * | 2009-04-17 | 2011-09-22 | 서울대학교산학협력단 | 가비지 컬렉션 수행 방법 및 상기 방법을 이용한 플래시 메모리 장치 |
KR100988388B1 (ko) * | 2009-04-20 | 2010-10-18 | 성균관대학교산학협력단 | 플래시 메모리 장치의 성능 향상 방법 및 이를 수행하는 플래시 메모리 장치 |
US8516219B2 (en) * | 2009-07-24 | 2013-08-20 | Apple Inc. | Index cache tree |
KR101078289B1 (ko) | 2009-08-25 | 2011-10-31 | 한국전자통신연구원 | 파티션 복구 방법 및 장치 |
US8443167B1 (en) | 2009-12-16 | 2013-05-14 | Western Digital Technologies, Inc. | Data storage device employing a run-length mapping table and a single address mapping table |
US8407449B1 (en) | 2010-02-26 | 2013-03-26 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table |
US9063728B2 (en) * | 2010-03-17 | 2015-06-23 | Apple Inc. | Systems and methods for handling hibernation data |
US8194340B1 (en) | 2010-03-18 | 2012-06-05 | Western Digital Technologies, Inc. | Disk drive framing write data with in-line mapping data during write operations |
US8687306B1 (en) | 2010-03-22 | 2014-04-01 | Western Digital Technologies, Inc. | Systems and methods for improving sequential data rate performance using sorted data zones |
US8856438B1 (en) | 2011-12-09 | 2014-10-07 | Western Digital Technologies, Inc. | Disk drive with reduced-size translation table |
US8693133B1 (en) | 2010-03-22 | 2014-04-08 | Western Digital Technologies, Inc. | Systems and methods for improving sequential data rate performance using sorted data zones for butterfly format |
US8699185B1 (en) | 2012-12-10 | 2014-04-15 | Western Digital Technologies, Inc. | Disk drive defining guard bands to support zone sequentiality when butterfly writing shingled data tracks |
US9330715B1 (en) | 2010-03-22 | 2016-05-03 | Western Digital Technologies, Inc. | Mapping of shingled magnetic recording media |
US8812816B2 (en) * | 2010-03-23 | 2014-08-19 | Apple Inc. | Garbage collection schemes for index block |
US8554741B1 (en) | 2010-06-16 | 2013-10-08 | Western Digital Technologies, Inc. | Timeline application for log structured storage devices |
KR20110139956A (ko) * | 2010-06-24 | 2011-12-30 | 삼성전자주식회사 | 맵핑 테이블을 복구하는 데이터 기억 장치 및 데이터 관리 방법 |
US9146875B1 (en) * | 2010-08-09 | 2015-09-29 | Western Digital Technologies, Inc. | Hybrid drive converting non-volatile semiconductor memory to read only based on life remaining |
US8756361B1 (en) | 2010-10-01 | 2014-06-17 | Western Digital Technologies, Inc. | Disk drive modifying metadata cached in a circular buffer when a write operation is aborted |
US8954664B1 (en) | 2010-10-01 | 2015-02-10 | Western Digital Technologies, Inc. | Writing metadata files on a disk |
WO2012083308A2 (en) | 2010-12-17 | 2012-06-21 | Fusion-Io, Inc. | Apparatus, system, and method for persistent data management on a non-volatile storage media |
US9268646B1 (en) | 2010-12-21 | 2016-02-23 | Western Digital Technologies, Inc. | System and method for optimized management of operation data in a solid-state memory |
US8521948B2 (en) * | 2011-01-03 | 2013-08-27 | Apple Inc. | Handling dynamic and static data for a system having non-volatile memory |
US9361044B2 (en) | 2011-03-28 | 2016-06-07 | Western Digital Technologies, Inc. | Power-safe data management system |
US8793429B1 (en) | 2011-06-03 | 2014-07-29 | Western Digital Technologies, Inc. | Solid-state drive with reduced power up time |
US8756382B1 (en) | 2011-06-30 | 2014-06-17 | Western Digital Technologies, Inc. | Method for file based shingled data storage utilizing multiple media types |
US8949508B2 (en) * | 2011-07-18 | 2015-02-03 | Apple Inc. | Non-volatile temporary data handling |
RU2556459C1 (ru) * | 2011-10-27 | 2015-07-10 | Хуавэй Текнолоджиз Ко., Лтд. | Способ для управления отображением кэша и системой кэша |
US9164887B2 (en) | 2011-12-05 | 2015-10-20 | Industrial Technology Research Institute | Power-failure recovery device and method for flash memory |
US9213493B1 (en) | 2011-12-16 | 2015-12-15 | Western Digital Technologies, Inc. | Sorted serpentine mapping for storage drives |
US8819367B1 (en) | 2011-12-19 | 2014-08-26 | Western Digital Technologies, Inc. | Accelerated translation power recovery |
US8612706B1 (en) | 2011-12-21 | 2013-12-17 | Western Digital Technologies, Inc. | Metadata recovery in a disk drive |
US10019353B2 (en) | 2012-03-02 | 2018-07-10 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for referencing data on a storage medium |
US8898548B1 (en) | 2012-08-24 | 2014-11-25 | Western Digital Technologies, Inc. | Methods, data storage devices and systems having variable size ECC page size |
JP5990430B2 (ja) * | 2012-08-29 | 2016-09-14 | 株式会社バッファローメモリ | Ssd(ソリッドステートドライブ)装置 |
US9268682B2 (en) | 2012-10-05 | 2016-02-23 | Skyera, Llc | Methods, devices and systems for physical-to-logical mapping in solid state drives |
US9507523B1 (en) | 2012-10-12 | 2016-11-29 | Western Digital Technologies, Inc. | Methods, devices and systems for variable size logical page management in a solid state drive |
US9489296B1 (en) | 2012-10-17 | 2016-11-08 | Western Digital Technologies, Inc. | Methods, devices and systems for hardware-based garbage collection in solid state drives |
US8954694B2 (en) | 2012-11-15 | 2015-02-10 | Western Digital Technologies, Inc. | Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive |
CN103106125B (zh) * | 2013-01-04 | 2016-09-28 | 国网山东省电力公司胶州市供电公司 | 基于存储块修复的闪存存储方法 |
US9396755B2 (en) * | 2013-02-20 | 2016-07-19 | Kabushiki Kaisha Toshiba | Temperature-defined data-storage policy for a hybrid disk drive |
KR102127284B1 (ko) | 2013-07-01 | 2020-06-26 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 관리 방법 |
US9354955B1 (en) | 2014-03-19 | 2016-05-31 | Western Digital Technologies, Inc. | Partial garbage collection for fast error handling and optimized garbage collection for the invisible band |
US8953269B1 (en) | 2014-07-18 | 2015-02-10 | Western Digital Technologies, Inc. | Management of data objects in a data object zone |
US9875055B1 (en) | 2014-08-04 | 2018-01-23 | Western Digital Technologies, Inc. | Check-pointing of metadata |
US9990278B2 (en) | 2014-10-20 | 2018-06-05 | Cypress Semiconductor Corporation | Overlaid erase block mapping |
US20160179399A1 (en) * | 2014-12-23 | 2016-06-23 | Sandisk Technologies Inc. | System and Method for Selecting Blocks for Garbage Collection Based on Block Health |
US10474569B2 (en) * | 2014-12-29 | 2019-11-12 | Toshiba Memory Corporation | Information processing device including nonvolatile cache memory and processor |
CN106201911A (zh) * | 2015-05-05 | 2016-12-07 | 苏州携云信息科技有限公司 | 一种基于固态硬盘的缓存加速方法 |
KR101676175B1 (ko) * | 2015-06-16 | 2016-11-14 | 한양대학교 산학협력단 | 전원 손실 이후 데이터 손실을 방지하기 위한 메모리 저장 장치 및 방법 |
US20180189144A1 (en) * | 2015-06-16 | 2018-07-05 | Iucf-Hyu (Industry-University Cooperation Foundation Hanyang University) | Apparatus and method for memory storage to protect data-loss after power loss |
US9785507B2 (en) | 2015-07-30 | 2017-10-10 | International Business Machines Corporation | Restoration of consistent regions within a streaming environment |
KR102501751B1 (ko) | 2015-09-22 | 2023-02-20 | 삼성전자주식회사 | 메모리 콘트롤러, 불휘발성 메모리 시스템 및 그 동작방법 |
US9940261B2 (en) | 2016-05-05 | 2018-04-10 | Western Digital Technology, Inc. | Zoning of logical to physical data address translation tables with parallelized log list replay |
CN106897228A (zh) * | 2017-02-20 | 2017-06-27 | 山东威尔数据股份有限公司 | 一种NOR‑Flash哈希表存储方法及装置 |
KR102259256B1 (ko) * | 2017-05-16 | 2021-06-02 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US10649661B2 (en) * | 2017-06-26 | 2020-05-12 | Western Digital Technologies, Inc. | Dynamically resizing logical storage blocks |
KR102384773B1 (ko) | 2017-10-12 | 2022-04-11 | 삼성전자주식회사 | 스토리지 장치, 컴퓨팅 시스템, 그리고 그것의 디버깅 방법 |
KR102410296B1 (ko) * | 2017-11-06 | 2022-06-20 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
KR20190107504A (ko) * | 2018-03-12 | 2019-09-20 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11860947B2 (en) * | 2019-01-31 | 2024-01-02 | International Business Machines Corporation | Deleted data restoration |
KR20210044564A (ko) | 2019-10-15 | 2021-04-23 | 삼성전자주식회사 | 스토리지 장치 및 그것의 가비지 컬렉션 방법 |
US11656967B2 (en) | 2020-02-13 | 2023-05-23 | MemRay Corporation | Method and apparatus for supporting persistence and computing device |
KR102470888B1 (ko) * | 2020-02-13 | 2022-11-25 | 주식회사 멤레이 | 지속성 지원 장치 및 방법, 그리고 컴퓨팅 장치 |
CN111949220B (zh) * | 2020-09-03 | 2023-12-08 | 合肥沛睿微电子股份有限公司 | 存储设备异常断电恢复方法及存储设备 |
KR20220066688A (ko) | 2020-11-16 | 2022-05-24 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06150673A (ja) * | 1992-11-12 | 1994-05-31 | Casio Electron Mfg Co Ltd | 不揮発メモリのアクセス制御装置 |
JP3313576B2 (ja) * | 1996-04-25 | 2002-08-12 | エヌイーシービューテクノロジー株式会社 | メモリアクセス制御方法及び装置 |
KR100695720B1 (ko) | 2000-09-29 | 2007-03-15 | 닛본 세이고 가부시끼가이샤 | 차륜 구동용 베어링 유니트 |
JP3675375B2 (ja) | 2001-07-25 | 2005-07-27 | ソニー株式会社 | 不揮発性メモリ並びに不揮発性メモリのデータ書き換え方法 |
KR100449708B1 (ko) * | 2001-11-16 | 2004-09-22 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
DE10227255B4 (de) | 2002-06-19 | 2008-06-26 | Hyperstone Gmbh | Verfahren zur Wiederherstellung von Verwaltungsdatensätzen eines blockweise löschbaren Speichers |
US6985992B1 (en) * | 2002-10-28 | 2006-01-10 | Sandisk Corporation | Wear-leveling in non-volatile storage systems |
JP4266742B2 (ja) | 2003-08-04 | 2009-05-20 | Necディスプレイソリューションズ株式会社 | フラッシュメモリ搭載電子装置、そのメモリデータ管理方法およびプログラム |
JP2005168652A (ja) | 2003-12-09 | 2005-06-30 | Sanyo Electric Co Ltd | 洗濯機 |
KR100704618B1 (ko) | 2004-01-19 | 2007-04-10 | 삼성전자주식회사 | 플래시 메모리의 데이터 복구 장치 및 방법 |
US7149866B2 (en) * | 2004-06-04 | 2006-12-12 | International Business Machines Corporation | Free item distribution among multiple free lists during garbage collection for more efficient object allocation |
US7558906B2 (en) * | 2005-08-03 | 2009-07-07 | Sandisk Corporation | Methods of managing blocks in nonvolatile memory |
US20080005462A1 (en) * | 2006-06-30 | 2008-01-03 | Mosaid Technologies Incorporated | Method of configuring non-volatile memory for a hybrid disk drive |
US9110594B2 (en) * | 2009-11-04 | 2015-08-18 | Seagate Technology Llc | File management system for devices containing solid-state media |
-
2006
- 2006-10-25 KR KR1020060104152A patent/KR100843543B1/ko active IP Right Grant
-
2007
- 2007-01-17 US US11/653,986 patent/US8028120B2/en active Active
- 2007-10-25 CN CN2007101814312A patent/CN101169751B/zh active Active
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101782872A (zh) * | 2009-01-16 | 2010-07-21 | 马维尔国际贸易有限公司 | 使用固态盘的缓存系统和方法 |
CN102483714B (zh) * | 2009-07-24 | 2015-06-10 | 苹果公司 | 恢复闪存存储器设备中的索引页的系统及方法 |
CN102483714A (zh) * | 2009-07-24 | 2012-05-30 | 苹果公司 | 恢复索引页 |
CN101833510A (zh) * | 2010-03-29 | 2010-09-15 | 清华大学 | 闪存ftl的地址转换方法 |
CN101833510B (zh) * | 2010-03-29 | 2012-10-10 | 清华大学 | 闪存ftl的地址转换方法 |
CN102567210A (zh) * | 2010-12-27 | 2012-07-11 | 厦门市美亚柏科信息股份有限公司 | 闪存芯片数据分析环境重组方法和装置 |
CN102567210B (zh) * | 2010-12-27 | 2015-01-21 | 厦门市美亚柏科信息股份有限公司 | 闪存芯片数据分析环境重组方法和装置 |
CN102693185A (zh) * | 2011-02-17 | 2012-09-26 | 索尼公司 | 管理设备和管理方法 |
US9104614B2 (en) | 2011-09-16 | 2015-08-11 | Apple Inc. | Handling unclean shutdowns for a system having non-volatile memory |
CN102999430A (zh) * | 2011-09-16 | 2013-03-27 | 苹果公司 | 处理具有非易失性存储器的系统的未完全关闭 |
CN103870392B (zh) * | 2014-03-26 | 2017-01-11 | 青岛海信宽带多媒体技术有限公司 | 一种基于嵌入式系统的闪存操作方法及装置 |
CN104809037B (zh) * | 2015-05-13 | 2018-04-13 | 深圳芯邦科技股份有限公司 | eMMC基于特殊页的快速启动方法及装置 |
CN104809037A (zh) * | 2015-05-13 | 2015-07-29 | 深圳芯邦科技股份有限公司 | eMMC基于特殊页的快速启动方法及装置 |
CN105589767A (zh) * | 2015-12-21 | 2016-05-18 | 北京时代民芯科技有限公司 | 一种用于nand flash的系统掉电保护实现方法 |
CN105589767B (zh) * | 2015-12-21 | 2018-07-31 | 北京时代民芯科技有限公司 | 一种用于nand flash的系统掉电保护实现方法 |
CN107544913A (zh) * | 2016-06-29 | 2018-01-05 | 北京忆恒创源科技有限公司 | 一种ftl表快速重建方法与装置 |
CN106802777A (zh) * | 2017-01-20 | 2017-06-06 | 杭州电子科技大学 | 一种用于固态存储设备的闪存转换层控制方法 |
CN108733319A (zh) * | 2017-04-17 | 2018-11-02 | 桑迪士克科技有限责任公司 | 用于非易失性存储器中的混合推拉数据管理的系统和方法 |
CN108932202A (zh) * | 2017-05-24 | 2018-12-04 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN111919201A (zh) * | 2018-03-21 | 2020-11-10 | 美光科技公司 | 混合式存储器系统 |
CN110531921A (zh) * | 2018-05-24 | 2019-12-03 | 爱思开海力士有限公司 | 数据存储装置、具有其的存储系统及用于恢复的操作方法 |
CN113096713A (zh) * | 2021-04-12 | 2021-07-09 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101169751B (zh) | 2012-07-04 |
US8028120B2 (en) | 2011-09-27 |
KR20080037283A (ko) | 2008-04-30 |
KR100843543B1 (ko) | 2008-07-04 |
US20080104308A1 (en) | 2008-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101169751B (zh) | 具有闪存设备的系统及其数据恢复方法 | |
CN101937319B (zh) | 存储器系统及其映射方法 | |
CN101681314B (zh) | 存储器系统 | |
CN101689140B (zh) | 存储器系统 | |
CN102981963B (zh) | 一种固态盘的闪存转换层的实现方法 | |
CN102693184B (zh) | 处理具有非易失性存储器的系统的动态和静态数据 | |
JP3708047B2 (ja) | フラッシュメモリの管理方法 | |
CN101425041B (zh) | 在nand flash存储器上建立fat文件系统的优化方法 | |
CN102508788B (zh) | Ssd及ssd垃圾回收方法和装置 | |
CN102999431B (zh) | 用于非易失性存储器系统的编织序列计数器 | |
CN102576332B (zh) | 用于电力中断管理的方法和包含电力中断管理的存储器系统 | |
CN101681299A (zh) | 存储器系统 | |
CN100533408C (zh) | 一种闪存的安全读写方法 | |
CN100501868C (zh) | 基于NAND Flash存储器文件系统的实现方法 | |
CN101241471A (zh) | 快闪存储器系统及其垃圾收集方法 | |
CN102298555A (zh) | 基于nand技术的模块化闪存管理系统 | |
CN101681315A (zh) | 存储器系统 | |
KR20110117099A (ko) | 메모리 장치에서 맵핑 어드레스 테이블을 유지관리하는 방법 | |
CN104268094A (zh) | 一种优化的闪存地址映射方法 | |
CN103164346A (zh) | Lba位图使用 | |
CN101526927B (zh) | Flash文件系统的数据处理方法及数据处理装置 | |
CN103136116A (zh) | 存储器存储系统及其中控装置、管理方法与断电恢复方法 | |
CN105740162A (zh) | 应用于nand存储器的nftl数据存储系统及方法 | |
CN101231617B (zh) | 闪存设备的数据处理方法 | |
CN103294604A (zh) | 闪存器件和使用闪存器件的电子设备 |
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 |