CN104461391B - 一种存储设备元数据管理处理方法及*** - Google Patents
一种存储设备元数据管理处理方法及*** Download PDFInfo
- Publication number
- CN104461391B CN104461391B CN201410737270.0A CN201410737270A CN104461391B CN 104461391 B CN104461391 B CN 104461391B CN 201410737270 A CN201410737270 A CN 201410737270A CN 104461391 B CN104461391 B CN 104461391B
- Authority
- CN
- China
- Prior art keywords
- superblock
- address
- storage
- mapping information
- storage 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.)
- Active
Links
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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种存储设备元数据管理方法及***。所述存储设备元数据管理方法包括:由至少一个擦除块组成一个的超级块;所述超级块保留有一个存储所述超级块相关元数据的空间;所述超级块相关元数据包括为所述超级块分配的序列号以及所述超级块内的地址映射信息;所述地址映射信息保存了物理扇区地址到逻辑扇区地址的映射关系;当写入数据到所述超级块时,将所述数据相应的地址映射信息也写入到所述超级块中;***恢复时,将根据各个所述超级块中的地址映射信息恢复所述存储***的页表;所述页表标识了逻辑扇区地址到物理扇区地址的映射关系。本发明的技术方案能够保证页表在开机时完全恢复,保证存储设备启动时可以正常工作。
Description
技术领域
本发明涉及一种计算机存储技术,特别是涉及一种存储设备元数据管理方法及***。
背景技术
基于闪存(NAND Flash)的数据存储技术在过去十几年发展迅速,在很多应用中逐渐取代了传统的磁记录硬盘(hard disk drive,HDD)。闪存相对于传统的基于硬盘的最显著的区别是需要一个相当复杂的闪存转换层(FTL)。由于闪存的不可覆盖写特性,逻辑块地址(LBA:Logical Block Address)到物理块地址(PBA:Physical Block Address)是动态变化的,而FTL需要维护这一动态变化的映射表数据结构.这一动态映射表组成了元数据(metadata)的一部分,来实现闪存LBA到PBA相互转换的功能。在数据存储***中,除了用户数据需要存储之外,一定数量的元数据(metadata)也是必不可少的。固态硬盘(SSD)为数据存储***的性能带来了革命性的提升,同时也对元数据的存储和恢复带来了全新的挑战。由于***重启,断电等事件不可避免,元数据不仅需要存在于易失性的DRAM中,以便于FTL的随时取用和更新,还需要保留在非易失性的存储介质中,而且必须保证百分之百的数据完整性,否则将带来严重的用户数据丢失,甚至整个SSD不再可用。
需要维护的元数据包括以下部分:1,SSD的基本格式,包括使用的闪存种类,数量和组织结构等。2,那些块是坏块,即不可使用的块。3,逻辑扇区地址(LBA)如何映射到物理扇区地址(PBA)。4,如果同一个LBA对应多个PBA,那么哪一个对应最新版本。5,每一块的擦除次数。6,其他需要保留的信息,如各种统计等。如果需要将元数据保存在闪存介质上,还需要考虑以下方面:1,存在哪里。每一块擦除块都有可能是坏的,也有可能变坏,下次开机的时候如何找到元数据。2,什么时候写入。元数据是不停变化的,而闪存是不可在原位置重新写入的。当前,业界的SSD主要分为采取两种方式:一种是使用另外的可靠介质存储元数据。另一种是仅在关机或断电时整体写入元数据。但不管那种方式都有严重问题:因为在元数据的大小和需要的写入性能要求下不存在真正意义的可靠介质。同时,由于***崩溃,突然断电等可能性存在,整体写入的可靠性不高。
鉴于此,如何提高闪存介质上元数据的存储和恢复的可靠性成为本领域人员亟待解决的问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种存储设备元数据管理方法及***,用于解决现有技术中闪存介质上元数据的存储和恢复的可靠性不高的问题。
为实现上述目的及其他相关目的,本发明提供一种存储设备元数据管理方法,所述存储设备元数据管理方法包括:由至少一个擦除块组成一个超级块;所述超级块保留有一个存储所述超级块相关元数据的空间;所述超级块相关元数据包括为所述超级块分配的序列号以及所述超级块内的地址映射信息;所述地址映射信息保存了物理扇区地址到逻辑扇区地址的映射关系;当写入数据到所述超级块时,将所述数据相应的地址映射信息也写入到所述超级块中;***恢复时,将根据各个所述超级块中的地址映射信息恢复所述存储***的页表;所述页表标识了逻辑扇区地址到物理扇区地址的映射关系。
可选地,当***恢复时,将根据各个所述超级块中的地址映射信息逆转以恢复所述存储***的页表。
可选地,所述存储所述超级块相关元数据的空间紧接着所述超级块的数据存储空间。
可选地,所述超级块相关元数据还包括所述超级块的擦除次数和/或所述超级块的至少一种统计数据。
可选地,当不同的超级块的地址映射信息中存在相同的逻辑扇区地址时,所述页表中所述逻辑扇区地址所对应的物理扇区地址为序列号分配在后的超级块的地址映射信息中对应的物理扇区地址。
可选地,当同一超级块的地址映射信息中存在相同的逻辑扇区地址时,所述页表中所述逻辑扇区地址所对应的物理扇区地址为所述超级块的后写入的地址映射信息中对应的物理扇区地址。
可选地,所述存储设备元数据管理方法还包括:***恢复时,针对未完成写入的超级块,通过对所述未完成写入的超级块进行完全扫描以读出逻辑地址与物理地址的映射关系并恢复所述未完成写入的超级块中的页表。
可选地,所述元数据中的静态数据和/或坏块信息存储于所述存储设备的起始擦除块中。
本发明提供一种存储设备元数据管理***,所述存储设备元数据管理***包括:超级块管理模块,用于将至少一个擦除块组成一个超级块;所述超级块保留有一个存储所述超级块相关元数据的空间;所述超级块相关元数据包括为所述超级块分配的序列号以及所述超级块内的地址映射信息;所述地址映射信息保存了物理扇区地址到逻辑扇区地址的映射关系;当写入数据到所述超级块时,将所述数据相应的地址映射信息也写入到所述超级块中;***恢复模块,用于在***恢复时,将根据各个所述超级块中的地址映射信息恢复所述存储***的页表;所述页表标识了逻辑扇区地址到物理扇区地址的映射关系。
可选地,所述***将在***恢复时将各个所述超级块中的地址映射信息逆转以恢复所述存储***的页表。
可选地,所述存储所述超级块相关元数据的空间紧接着所述超级块的数据存储空间。
可选地,所述超级块相关元数据还包括所述超级块的擦除次数和/或所述超级块的至少一种统计数据。
可选地,在***恢复时,当不同的超级块的地址映射信息中存在相同的逻辑扇区地址时,所述页表中所述逻辑扇区地址所对应的物理扇区地址为序列号分配在后的超级块的地址映射信息中对应的物理扇区地址。
可选地,在***恢复时,当同一超级块的地址映射信息中存在相同的逻辑扇区地址时,所述页表中所述逻辑扇区地址所对应的物理扇区地址为所述超级块的后写入的地址映射信息中对应的物理扇区地址。
可选地,所述***恢复模块还用于针对未完成写入的超级块,通过对所述未完成写入的超级块进行完全扫描以读出逻辑地址与物理地址的映射关系并恢复所述未完成写入的超级块中的页表。
本发明再提供一种存储设备,所述存储设备包括如上所述的存储设备元数据管理***。
可选地,所述存储设备为基于闪存的固态硬盘。
如上所述,本发明的存储设备元数据管理方法及***,具有以下有益效果:兼顾了容错性,性能代价和实现复杂度等诸多方面,能够保证页表在开机时完全恢复,保证SSD启动时可以正常工作。
本发明能够满足以下要求:1,不受动态产生的坏块影响。2,不受突然断电,***崩溃的影响。3,即使由于极端故障条件的出现,某些数据无法恢复,受到的影响也应是受限的。4,开机时间尽可能短。5,关机时间尽可能短。6,对正常工作的性能影响尽可能小。7,空间需求尽可能小。并且采用本发明的技术方案能达到以下性能:1,关机时间小于10ms,至多每一个闪存芯片须写入两页。2,开机时至多需要读取总容量的千分之一的数据。3,占用闪存总容量的千分之一。4,正常工作下对性能基本无影响。
附图说明
图1显示为本发明的存储设备元数据管理方法的一实施例的流程示意图。
图2显示为本发明的存储设备元数据管理***的一实施例的模块示意图。
图3显示为本发明的存储设备的一实施例的结构示意图。
图4显示为本发明的存储设备的一实施例的结构示意图。
元件标号说明
1 存储设备元数据管理***
11 超级块管理模块
12 ***恢复模块
S1~S3 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明提供一种存储设备元数据管理方法。在一个实施例中,如图1所示,所述存储设备元数据管理方法包括:
步骤S1,由至少一个擦除块组成一个超级块;所述超级块保留有一个存储所述超级块相关元数据的空间;所述超级块相关元数据包括为所述超级块分配的序列号以及所述超级块内的地址映射信息;所述地址映射信息保存了物理扇区地址到逻辑扇区地址的映射关系。具体地,存储设备的元数据包括:存储设备(如SSD,Solid State Drive,固态硬盘)的基本格式,包括使用的闪存(Flash)种类,数量和组织结构等,这部分数据除非重新格式化,否则不变,也可以称作静态数据;坏块信息,哪些块是坏块,即不可使用的块,随着使用时间的推移,坏块可能会增加,但添加速度很慢;逻辑扇区地址(LBA,Logical Block Address,也称作逻辑区块地址)如何映射到物理扇区地址(PBA,Physical Block Address,也称作物理区块地址);如果同一个LBA对应有多个PBA,那么哪一个对应最新版本;每一擦除块的擦除次数;其他需要保留的信息,如各种统计等。所述存储所述超级块相关元数据的空间紧接着所述超级块的数据存储空间。因此,我们可以把所述存储所述超级块相关元数据的空间称作后记(Epilog)。在一个实施例中,所述元数据中的静态数据和/或坏块信息存储于所述存储设备的起始擦除块中。所述坏块信息可以为坏块表。在一个实施例中,所述超级块相关元数据还包括所述超级块的擦除次数和/或所述超级块的至少一种统计数据。
步骤S2,当写入数据到所述超级块时,将所述数据相应的地址映射信息也写入到所述超级块中。具体地,当写入数据到某个超级块时,紧接着写入数据将所写入的数据相应的地址映射信息也写入到所述超级块中。***通过页表来访问数据,页表中标识的是逻辑扇区地址到物理扇区地址的映射关系,但写入的地址映射信息数据与所述页表中的数据是逆向的,即地址映射信息中的数据标识的是物理扇区地址到逻辑扇区地址的映射关系。采用本方法,相当于将部分元数据信息(包括整个页表信息)分布式地存储在各个超级块中。在一个实施例中,当写入数据到某个超级块后,还将各种统计信息写入到所述超级块的存储所述超级块相关元数据的空间中。
步骤S3,***恢复时,将各个所述超级块中的地址映射信息逆转以恢复所述存储***的页表;所述页表标识了逻辑扇区地址到物理扇区地址的映射关系。由于每一个超级块内的小页表仅包含本超级块内的映射,而且此映射是逆向的,即PBA->LBA,我们需要将其翻转才得到LBA->PBA的映射。这仍是一个O(n)的算法。PBA到LBA的映射有可能是多对一,即同一个LBA有可能对应多个PBA,其中只有一个是最终的版本。如果为每一个PBA写入分配和记录序列号的话,代价比较大。在一个实施例中,采用的方法是为每一个超级块分配一个序列号,并记录在后记中。依赖于此字段,我们很容易就可以知道任两个PBA谁先谁后:一,当不同的超级块的地址映射信息中存在相同的逻辑扇区地址时,所述页表中所述逻辑扇区地址所对应的物理扇区地址为序列号分配在后的超级块的地址映射信息中对应的物理扇区地址。即不同超级块之间,新块数据新,旧块数据旧。二,当同一超级块的地址映射信息中存在相同的逻辑扇区地址时,所述页表中所述逻辑扇区地址所对应的物理扇区地址为所述超级块的后写入的地址映射信息中对应的物理扇区地址。即同一超级块内前面写入的PBA旧,后面写入的新。
在一个实施例中,所述存储设备元数据管理方法还包括:在***恢复时,针对未完成写入的超级块,通过对所述未完成写入的超级块进行完全扫描以读出逻辑地址与物理地址的映射关系并恢复所述未完成写入的超级块中的页表。SSD关机的时候有可能有一个或多个超级块未包含完全的后记,我们称此超级块是未封口的。针对未完成写入的超级块,其后记不可用,我们需要从头扫描此超级块。每一个PBA在写入的时候,它所包含的LBA也在写入的数据内,所以我们仍然可以得到PBA->LBA映射。由于未封口超级块的个数严格受限,所以这不影响全算法的时间复杂度。所述存储设备元数据管理方法可以应用在SSD中,还可以运用到传统基于硬盘的阵列,或下一代存储介质的阵列上。
本发明提供一种存储设备元数据管理***。在一个实施例中,如图2所示,所述存储设备元数据管理***1包括超级块管理模块11和***恢复模块12。其中:
超级块管理模块11用于将至少一个擦除块组成一个超级块;所述超级块保留有一个存储所述超级块相关元数据的空间;所述超级块相关元数据包括为所述超级块分配的序列号以及所述超级块内的地址映射信息;所述地址映射信息保存了物理扇区地址到逻辑扇区地址的映射关系;当写入数据到所述超级块时,将所述数据相应的地址映射信息也写入到所述超级块中。具体地,存储设备的元数据包括:存储设备(如SSD,Solid State Drive,固态硬盘)的基本格式,包括使用的闪存(Flash)种类,数量和组织结构等,这部分数据除非重新格式化,否则不变,也可以称作静态数据;坏块信息,哪些块是坏块,即不可使用的块,随着使用时间的推移,坏块可能会增加,但添加速度很慢;逻辑扇区地址(LBA,LogicalBlock Address,也称作逻辑区块地址)如何映射到物理扇区地址(PBA,Physical BlockAddress,也称作物理区块地址);如果同一个LBA对应有多个PBA,那么哪一个对应最新版本;每一物理块的擦除次数;其他需要保留的信息,如各种统计等。所述存储所述超级块相关元数据的空间紧接着所述超级块的数据存储空间。因此,我们可以把所述存储所述超级块相关元数据的空间称作后记(Epilog)。在一个实施例中,所述元数据中的静态数据和/或坏块信息存储于所述存储设备的起始擦除块中。所述坏块信息可以为坏块表。在一个实施例中,当写入数据到某个超级块时,超级块管理模块11紧接着写入数据将所写入的数据相应的地址映射信息也写入到所述超级块中。***通过页表来访问数据,页表中标识的是逻辑扇区地址到物理扇区地址的映射关系,但写入的地址映射信息数据与所述页表中的数据是逆向的,即地址映射信息中的数据标识的是物理扇区地址到逻辑扇区地址的映射关系。采用本***,相当于将部分元数据信息(包括整个页表信息)分布式地存储在各个超级块中。在一个实施例中,超级块管理模块11所涉及的所述超级块相关元数据还包括所述超级块的擦除次数和/或所述超级块的各种统计数据。当写入数据到某个超级块后,超级块管理模块11还将至少一种统计信息写入到所述超级块的存储所述超级块相关元数据的空间中。
***恢复模块12用于在***恢复时,将各个所述超级块中的地址映射信息逆转以恢复所述存储***的页表;所述页表标识了逻辑扇区地址到物理扇区地址的映射关系;当不同的超级块的地址映射信息中存在相同的逻辑扇区地址时,所述逻辑扇区地址所对应的物理扇区地址为序列号分配在后的超级块的地址映射信息中对应的物理扇区地址。具体地,由于每一个超级块内的小页表仅包含本超级块内的映射,而且此映射是逆向的,即PBA->LBA,我们需要将其翻转才得到LBA->PBA的映射。这仍是一个O(n)的算法。在一个实施例中,PBA到LBA的映射有可能是多对一,即同一个LBA有可能对应多个PBA,其中只有一个是最终的版本。如果为每一个PBA写入分配和记录序列号的话,代价比较大。***恢复模块12的方法是为每一个超级块分配一个序列号,并记录在后记中。依赖于此字段,***恢复模块12很容易就可以知道任两个PBA谁先谁后:一,当不同的超级块的地址映射信息中存在相同的逻辑扇区地址时,所述页表中所述逻辑扇区地址所对应的物理扇区地址为序列号分配在后的超级块的地址映射信息中对应的物理扇区地址。即不同超级块之间,新块数据新,旧块数据旧。二,当同一超级块的地址映射信息中存在相同的逻辑扇区地址时,所述页表中所述逻辑扇区地址所对应的物理扇区地址为所述超级块的后写入的地址映射信息中对应的物理扇区地址。即同一超级块内前面的PBA旧,后面的新。在一个实施例中,所述***恢复模块12还包括:在***恢复时,针对未完成写入的超级块,通过对所述未完成写入的超级块进行完全扫描以读出逻辑地址与物理地址的映射关系并恢复所述未完成写入的超级块中的页表。所述存储设备元数据管理***可以应用在SSD中,还可以运用到传统基于硬盘的阵列,或下一代存储介质的阵列上。
一种存储设备,所述存储设备包括如上所述的存储设备元数据管理***1。在一个实施例中,所述存储设备对于元数据中的静态数据,仅在格式化的时候写入到前几个擦除块内,这部分可以称为主引导分区(MBR,Master Boot Record)。对于坏块信息,我们在坏块出现的时候顺序写入到MBR的剩余空间内。前几个擦除块之后,来自于所述至少一个闪存芯片的擦除块组成一个超级块,如图3所示,其中LUN(Logic Unit Number)为单独操作的闪存单元,SB(Super Block)_为一超级块。每一个超级块内部的组织结构如图4所示,在这一实例中一个超级块由6个来自于6个LUN的擦除块组成,其中一个LUN用于存放该超级块的奇偶校验码。在这一超级块内,来自于每一个LUN的同一个页面(Page)形成一个奇偶条带(Stripe)。图4中,Epilog为后记,即存储所述超级块相关元数据的空间。在一个实施例中,所述存储设备包括固态硬盘(SSD,Solid State Drive)。
综上所述,本发明的一种存储设备元数据管理方法及***,具有以下有益效果:兼顾了容错性,性能代价和实现复杂度等诸多方面,能够保证页表在开机时完全恢复,保证存储设备启动时可以正常工作。本发明能够满足以下要求:1,不受动态产生的坏块影响。2,不受突然断电,***崩溃的影响。3,就算由于极端故障条件的出现,某些数据无法恢复,受到的影响也应是受限的。4,开机时间尽可能短。5,关机时间尽可能短。6,对正常工作的性能影响尽可能小。7,空间需求尽可能小。并且采用本发明的技术方案能达到以下性能:1,关机时间很小,至多每一个闪存芯片须写入两个页面。2,开机时至多需要读取的元数据总容量的千分之一的数据。3,元数据存储占用存储总容量的约千分之一。4,正常工作下对性能基本无影响。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (14)
1.一种存储设备元数据管理方法,其特征在于,所述存储设备元数据管理方法包括:
由至少一个擦除块组成一个超级块;所述超级块保留有一个存储所述超级块相关元数据的空间;所述超级块相关元数据包括为所述超级块分配的序列号以及所述超级块内的地址映射信息;所述地址映射信息保存了物理扇区地址到逻辑扇区地址的映射关系;
当写入数据到所述超级块时,将所述数据相应的地址映射信息也写入到所述超级块中;
***恢复时,将根据各个所述超级块中的地址映射信息恢复存储***的页表,以及针对未完成写入的超级块,通过对所述未完成写入的超级块进行完全扫描以读出逻辑地址与物理地址的映射关系并恢复所述未完成写入的超级块中的页表;所述页表标识了逻辑扇区地址到物理扇区地址的映射关系;
其中,所述元数据中的静态数据在存储设备格式化时写入到所述存储设备的起始擦除块中,且所述元数据中的坏块信息在坏块出现时顺序写入到所述起始擦除块的剩余空间内。
2.根据权利要求1所述的存储设备元数据管理方法,其特征在于在***恢复时,将各个所述超级块中的地址映射信息逆转以恢复所述存储***的逻辑扇区到物理扇区的映射关系。
3.根据权利要求1所述的存储设备元数据管理方法,其特征在于:所述存储所述超级块相关元数据的空间紧接着所述超级块的数据存储空间。
4.根据权利要求1所述的存储设备元数据管理方法,其特征在于:所述超级块相关元数据还包括所述超级块的擦除次数和/或所述超级块的至少一种统计数据。
5.根据权利要求1所述的存储设备元数据管理方法,其特征在于:当不同的超级块的地址映射信息中存在相同的逻辑扇区地址时,所述页表中所述逻辑扇区地址所对应的物理扇区地址为序列号分配在后的超级块的地址映射信息中对应的物理扇区地址。
6.根据权利要求1所述的存储设备元数据管理方法,其特征在于:当同一超级块的地址映射信息中存在相同的逻辑扇区地址时,所述页表中所述逻辑扇区地址所对应的物理扇区地址为所述超级块的后写入的地址映射信息中对应的物理扇区地址。
7.一种存储设备元数据管理***,其特征在于:所述存储设备元数据管理***包括:超级块管理模块,用于将至少一个擦除块组成一个超级块;所述超级块保留有一个存储所述超级块相关元数据的空间;所述超级块相关元数据包括为所述超级块分配的序列号以及所述超级块内的地址映射信息;所述地址映射信息保存了物理扇区地址到逻辑扇区地址的映射关系;当写入数据到所述超级块时,将所述数据相应的地址映射信息也写入到所述超级块中;***恢复模块,用于在***恢复时,将根据各个所述超级块中的地址映射信息恢复存储***的页表,以及针对未完成写入的超级块,通过对所述未完成写入的超级块进行完全扫描以读出逻辑地址与物理地址的映射关系并恢复所述未完成写入的超级块中的页表;所述页表标识了逻辑扇区地址到物理扇区地址的映射关系;
其中,所述元数据中的静态数据和/或坏块信息存储于所述存储设备的起始擦除块中所述元数据中的静态数据在存储设备格式化时写入到所述存储设备的起始擦除块中,且所述元数据中的坏块信息在坏块出现时顺序写入到所述起始擦除块的剩余空间内。
8.根据权利要求7所述的存储设备元数据管理***,其特征在于在***恢复时,将各个所述超级块中的地址映射信息逆转以恢复所述存储***的逻辑扇区到物理扇区的映射关系。
9.根据权利要求7所述的存储设备元数据管理***,其特征在于:所述存储所述超级块相关元数据的空间紧接着所述超级块的数据存储空间。
10.根据权利要求7所述的存储设备元数据管理***,其特征在于:所述超级块相关元数据还包括所述超级块的擦除次数和/或所述超级块的至少一种统计数据。
11.根据权利要求7所述的存储设备元数据管理***,其特征在于:在***恢复时,当不同的超级块的地址映射信息中存在相同的逻辑扇区地址时,所述页表中所述逻辑扇区地址所对应的物理扇区地址为序列号分配在后的超级块的地址映射信息中对应的物理扇区地址。
12.根据权利要求7所述的存储设备元数据管理***,其特征在于:在***恢复时,当同一超级块的地址映射信息中存在相同的逻辑扇区地址时,所述页表中所述逻辑扇区地址所对应的物理扇区地址为所述超级块的后写入的地址映射信息中对应的物理扇区地址。
13.一种存储设备,其特征在于:所述存储设备包括如权利要求7至12所述的存储设备元数据管理***。
14.根据权利要求13所述的存储设备,其特征在于:所述存储设备为基于闪存的固态硬盘。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410737270.0A CN104461391B (zh) | 2014-12-05 | 2014-12-05 | 一种存储设备元数据管理处理方法及*** |
PCT/CN2015/096496 WO2016086899A1 (zh) | 2014-12-05 | 2015-12-04 | 一种存储设备元数据管理处理方法及*** |
US15/528,839 US10445231B2 (en) | 2014-12-05 | 2015-12-04 | Method and system for storage device metadata management and processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410737270.0A CN104461391B (zh) | 2014-12-05 | 2014-12-05 | 一种存储设备元数据管理处理方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104461391A CN104461391A (zh) | 2015-03-25 |
CN104461391B true CN104461391B (zh) | 2019-08-02 |
Family
ID=52907520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410737270.0A Active CN104461391B (zh) | 2014-12-05 | 2014-12-05 | 一种存储设备元数据管理处理方法及*** |
Country Status (3)
Country | Link |
---|---|
US (1) | US10445231B2 (zh) |
CN (1) | CN104461391B (zh) |
WO (1) | WO2016086899A1 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461391B (zh) * | 2014-12-05 | 2019-08-02 | 上海宝存信息科技有限公司 | 一种存储设备元数据管理处理方法及*** |
CN106339179B (zh) * | 2015-07-06 | 2020-11-17 | 上海宝存信息科技有限公司 | 主机装置、存取***、以及存取方法 |
US10191841B2 (en) | 2015-07-06 | 2019-01-29 | Shannon Systems Ltd. | Host device, access system, and access method |
CN105808378B (zh) | 2016-02-26 | 2018-10-30 | 华为技术有限公司 | 元数据修复方法及装置 |
KR102529696B1 (ko) * | 2016-07-14 | 2023-05-10 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
CN107301073B (zh) * | 2017-06-23 | 2021-06-15 | 郑州云海信息技术有限公司 | 一种基于固态硬盘***的配置信息检索方法及其装置 |
CN107329909B (zh) * | 2017-06-27 | 2020-07-07 | 郑州云海信息技术有限公司 | 一种数据管理方法及装置 |
US10515701B1 (en) * | 2017-10-31 | 2019-12-24 | Pure Storage, Inc. | Overlapping raid groups |
US11204841B2 (en) * | 2018-04-06 | 2021-12-21 | Micron Technology, Inc. | Meta data protection against unexpected power loss in a memory system |
KR102620727B1 (ko) * | 2018-04-18 | 2024-01-03 | 에스케이하이닉스 주식회사 | 전자 장치 |
CN108716916B (zh) * | 2018-05-31 | 2021-05-25 | 北京航空航天大学 | 一种基于超级块的分布式并行星点质心提取方法及fpga实现装置 |
KR102611566B1 (ko) * | 2018-07-06 | 2023-12-07 | 삼성전자주식회사 | 솔리드 스테이트 드라이브 및 그의 메모리 할당 방법 |
CN109101437A (zh) * | 2018-07-20 | 2018-12-28 | 浪潮电子信息产业股份有限公司 | 一种数据存储方法与终端 |
CN109086222B (zh) * | 2018-07-24 | 2023-08-25 | 浪潮电子信息产业股份有限公司 | 固态硬盘的数据恢复方法以及固态硬盘 |
US10901889B2 (en) * | 2018-07-25 | 2021-01-26 | ScaleFlux, Inc. | Using hybrid-software/hardware based logical-to-physical address mapping to improve the data write throughput of solid-state data storage devices |
CN109324930A (zh) * | 2018-09-28 | 2019-02-12 | 深圳忆联信息***有限公司 | 一种固态硬盘快速引导数据的处理方法及装置 |
CN109582239B (zh) * | 2018-12-03 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种ssd坏块表的保存方法、装置、设备以及存储介质 |
CN111506255B (zh) * | 2019-01-31 | 2023-09-26 | 山东存储之翼电子科技有限公司 | 基于nvm的固态硬盘元数据管理方法及*** |
US20200409601A1 (en) * | 2019-06-28 | 2020-12-31 | Western Digital Technologies, Inc. | Hold of Write Commands in Zoned Namespaces |
US11295031B2 (en) | 2019-10-08 | 2022-04-05 | International Business Machines Corporation | Event log tamper resistance |
US11392348B2 (en) * | 2020-02-13 | 2022-07-19 | International Business Machines Corporation | Ordering records for timed meta-data generation in a blocked record environment |
CN111581022B (zh) * | 2020-04-30 | 2022-07-08 | 江苏芯盛智能科技有限公司 | 一种数据恢复方法及*** |
US10990526B1 (en) * | 2020-04-30 | 2021-04-27 | Micron Technology, Inc. | Handling asynchronous power loss in a memory sub-system that programs sequentially |
CN111813709B (zh) * | 2020-07-21 | 2023-08-08 | 北京计算机技术及应用研究所 | 一种基于fpga存算一体架构的高速并行存储方法 |
CN113590505A (zh) * | 2021-06-30 | 2021-11-02 | 深圳大普微电子科技有限公司 | 地址映射方法、固态硬盘控制器及固态硬盘 |
CN115048046B (zh) * | 2022-05-26 | 2022-11-25 | 北京华昱卓程软件有限公司 | 日志文件***以及数据管理方法 |
CN114691418B (zh) * | 2022-05-30 | 2022-08-23 | 阿里巴巴(中国)有限公司 | 存储设备的信息恢复方法、装置、电子设备及存储介质 |
CN115629720B (zh) * | 2022-12-20 | 2023-07-28 | 鹏钛存储技术(南京)有限公司 | 基于闪存为介质的存储设备上的非对称条带化方法 |
CN116880781B (zh) * | 2023-09-08 | 2023-12-26 | 合肥康芯威存储技术有限公司 | 一种存储设备及其控制方法 |
CN117806572A (zh) * | 2024-03-01 | 2024-04-02 | 合肥康芯威存储技术有限公司 | 一种存储设备以及内存管理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819496A (zh) * | 2012-08-16 | 2012-12-12 | 无锡紫芯集成电路***有限公司 | 闪存ftl的地址转换方法 |
CN103176916A (zh) * | 2013-03-07 | 2013-06-26 | 中国科学院苏州纳米技术与纳米仿生研究所 | 闪存及闪存的地址转换方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080082736A1 (en) * | 2004-03-11 | 2008-04-03 | Chow David Q | Managing bad blocks in various flash memory cells for electronic data flash card |
CN100573476C (zh) | 2005-09-25 | 2009-12-23 | 深圳市朗科科技股份有限公司 | 闪存介质数据管理方法 |
US8510370B2 (en) * | 2008-02-26 | 2013-08-13 | Avid Technology, Inc. | Array-based distributed storage system with parity |
US8219776B2 (en) * | 2009-09-23 | 2012-07-10 | Lsi Corporation | Logical-to-physical address translation for solid state disks |
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 |
KR101522848B1 (ko) * | 2011-10-05 | 2015-05-26 | 엘에스아이 코포레이션 | 비휘발성 스토리지에 대한 셀프-저널링 및 계층적 일치성 |
CN102866956B (zh) * | 2012-09-14 | 2015-02-18 | 上海宝存信息科技有限公司 | 基于固态存储介质的数据实时跟踪存储***及方法 |
US9348758B2 (en) * | 2012-09-24 | 2016-05-24 | Sk Hynix Memory Solutions Inc. | Virtual addressing with multiple lookup tables and RAID stripes |
US9671962B2 (en) * | 2012-11-30 | 2017-06-06 | Sandisk Technologies Llc | Storage control system with data management mechanism of parity and method of operation thereof |
CN104461391B (zh) * | 2014-12-05 | 2019-08-02 | 上海宝存信息科技有限公司 | 一种存储设备元数据管理处理方法及*** |
-
2014
- 2014-12-05 CN CN201410737270.0A patent/CN104461391B/zh active Active
-
2015
- 2015-12-04 WO PCT/CN2015/096496 patent/WO2016086899A1/zh active Application Filing
- 2015-12-04 US US15/528,839 patent/US10445231B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819496A (zh) * | 2012-08-16 | 2012-12-12 | 无锡紫芯集成电路***有限公司 | 闪存ftl的地址转换方法 |
CN103176916A (zh) * | 2013-03-07 | 2013-06-26 | 中国科学院苏州纳米技术与纳米仿生研究所 | 闪存及闪存的地址转换方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170344474A1 (en) | 2017-11-30 |
WO2016086899A1 (zh) | 2016-06-09 |
US10445231B2 (en) | 2019-10-15 |
CN104461391A (zh) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104461391B (zh) | 一种存储设备元数据管理处理方法及*** | |
CN105574104B (zh) | 一种基于ObjectStore的LogStructure存储***及其数据写入方法 | |
CN102779096B (zh) | 一种基于页块面三维的闪存地址映射方法 | |
CN103635968B (zh) | 包含存储器***控制器的设备和相关方法 | |
WO2016086819A1 (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
TWI645404B (zh) | 資料儲存裝置以及非揮發式記憶體操作方法 | |
CN106255953B (zh) | 持久性数据存储体中的前向参考记录的方法和*** | |
CN110032521A (zh) | 用于增强闪存转换层映射灵活性以得到性能和寿命改进的方法和*** | |
US20180095680A1 (en) | Physical media aware spacially coupled journaling and replay | |
US20140129758A1 (en) | Wear leveling in flash memory devices with trim commands | |
US10481979B2 (en) | Storage system, computing system, and methods thereof | |
CN108021513A (zh) | 一种数据存储方法及装置 | |
CN104268088A (zh) | 车载dvr硬盘数据存储方法 | |
CN104679442A (zh) | 一种提高磁盘阵列性能的方法及装置 | |
US20230236761A1 (en) | Read-disturb-based logical storage read temperature information identification system | |
CN103473266A (zh) | 固态硬盘及其删除重复数据的方法 | |
CN108733318A (zh) | 一种tlc nand flash固态硬盘的写入方法 | |
CN103645862A (zh) | 一种磁盘阵列初始化性能提升方法 | |
CN103365786A (zh) | 数据存储方法、装置和*** | |
CN104484287A (zh) | 一种非易失性缓存实现方法及装置 | |
US20230236760A1 (en) | Read-disturb-based logical storage read temperature information maintenance system | |
CN100492323C (zh) | 对缓存内容进行保护的方法和装置以及缓存控制器 | |
CN106844229A (zh) | 固态硬盘固件映射表的组织方法、***及装置 | |
CN104657471B (zh) | 一种fat文件***的预分配文件建立方法及*** | |
CN104461930A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |