CN111338846B - 一种基于多核恢复l2p表的方法和装置 - Google Patents
一种基于多核恢复l2p表的方法和装置 Download PDFInfo
- Publication number
- CN111338846B CN111338846B CN202010094694.5A CN202010094694A CN111338846B CN 111338846 B CN111338846 B CN 111338846B CN 202010094694 A CN202010094694 A CN 202010094694A CN 111338846 B CN111338846 B CN 111338846B
- Authority
- CN
- China
- Prior art keywords
- software
- core
- cores
- storage area
- tables
- 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
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000011084 recovery Methods 0.000 claims abstract description 30
- 230000011218 segmentation Effects 0.000 claims description 6
- 238000013507 mapping Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000004146 energy storage Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- 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/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种基于多核恢复L2P表的方法和装置,采用快照存储L2P表的方式,包括:选择JM软件核和DM软件核的数量;将L2P表保存在SSD的存储区域;JM软件核和DM软件核对所述存储区域中的L2P表进行恢复。本发明所述方法和装置,通过在SSD掉电的时候,将L2P表存储到SSD上多个存储区域,并在SSD上电后,将L2P表的恢复工作均分到上电相对空闲的核上,由多核并行恢复L2P表,将上电恢复时间节省了约1/多核数量。
Description
技术领域
本发明涉及数据恢复技术领域,具体涉及一种基于多核恢复L2P表的方法和装置。
背景技术
FTL映射表,也称L2P表,用于完成主机逻辑地址空间(LBA)到Flash闪存物理地址空间(PBA)的映射。L2P表是一份以LBA为索引,PBA为内容的顺序表。SSD在工作时,会将每一笔用户逻辑数据刷写到闪存地址空间,同时记录下该逻辑地址到物理地址的映射关系,即记录到L2P表中。
SSD首次上电或全盘格式化后,DDR中的L2P表默认为初始空值状态。SSD工作时,用户数据被刷写到flash后,SSD主控会动态更新L2P表,并定期或根据一定规则将整份L2P表或L2P表的更新部分刷写到Flash闪存中的相应空间;SSD正常断电时,SSD主控会将整份L2P表或L2P表的更新部分刷写到Flash闪存中的相应空间。L2P表一般存储在FLASH中,在SSD上电时,从Flash闪存中的相应空间读出并放到确定的一段DDR中。
理论L2P表的大小为SSD盘容量的千分之一,考虑SSD配置数据等占用空间,实际L2P表略小于理论L2P表大小。比如,2TB SSD的L2P表大小约为2GB。考虑异常掉电时间短(储能电容可维持几十毫秒)无法将整份L2P表完整刷写到NAND中的需要,SSD工作时往往会刷写L2P的快照到NAND中。异常掉电时,SSD仅需要将待保存的快照刷写到Flash闪存中的相应空间。但SSD上电后,根据快照方式构建L2P表耗时相对比较长,无法达到上电恢复时间要求。
发明内容
本发明实施例中提供了一种基于多核恢复L2P表的方法和装置,将L2P表的恢复工作时间均分到上电相对空闲的核上,由多核并行恢复L2P表,以解决现有技术在SSD上电后,恢复L2P表耗时的问题。
本发明实施例公开了如下技术方案:
本发明第一方面提供了一种基于多核恢复L2P表的方法,采用快照存储L2P表的方式,包括:
选择JM软件核和DM软件核的数量;
将L2P表保存在SSD的存储区域;
JM软件核和DM软件核对所述存储区域中的L2P表进行恢复。
进一步地,所述选择JM软件核和DM软件核的数量,具体为:
根据JM软件核和DM软件核不在同一个物理核上的要求,选择一个或多个JM软件核用于L2P表的保存,再将DM软件核按照JM软件核的数量进行平分,将平分后的每组DM软件核和一个JM软件核进行绑定形成软件核组,所述每个软件核组中的JM软件核和DM软件核用于L2P表的恢复。
进一步地,所述将L2P表保存在SSD的存储区域,具体为:
根据系统中JM软件核的数量,将SSD分为相同数量的存储区域;
根据软件核组的数量,对L2P表进行平均切分,形成一个或多个第一子L2P表;
根据软件核组中JM软件核和DM软件核的总数量,对每个第一子L2P表进行平均切分,形成一个或多个第二子L2P表;
SSD掉电时,每个所述JM软件核将每个第二子L2P表以快照的方式分别存储到一个所述存储区域中。
进一步地,所述JM软件核和DM软件核对所述存储区域中的L2P表进行恢复,具体为:
每个软件核组中的JM软件核和DM软件核并行读取所述存储区域中的第二子L2P表;
所述JM软件核检查每个JM软件核和每个DM软件核恢复的第二子L2P表是否完成;
如是,则说明所述存储区域中的第一子L2P表恢复完成;
当所有的第一子L2P表都恢复完成,则说明L2P表恢复完成,将所述L2P表上报到系统。
本发明第二方面提供了一种基于多核恢复L2P表的装置,包括:软件核组模块、L2P表保存模块和L2P表恢复模块,所述软件核组模块用于选择JM软件核和DM软件核的数量,所述L2P表保存模块用于将L2P表保存在SSD的存储区域,所述L2P表恢复模块用于JM软件核和DM软件核对所述存储区域中的L2P表进行恢复。
进一步地,所述软件核组模块选择JM软件核和DM软件核的数量,具体为:
根据JM软件核和DM软件核不在同一个物理核上的要求,选择一个或多个JM软件核用于L2P表的保存,再将DM软件核按照JM软件核的数量进行平分,将平分后的每组DM软件核和一个JM软件核进行绑定形成软件核组,所述每个软件核组中的JM软件核和DM软件核用于L2P表的恢复。
进一步地,所述L2P表保存模块将L2P表保存在SSD的存储区域,具体为:
根据系统中JM软件核的数量,将SSD分为相同数量的存储区域;
根据软件核组的数量,对L2P表进行平均切分,形成一个或多个第一子L2P表;
根据软件核组中JM软件核和DM软件核的总数量,对每个第一子L2P表进行平均切分,形成一个或多个第二子L2P表;
SSD掉电时,每个所述JM软件核将每个第二子L2P表以快照的方式分别存储到一个所述存储区域中。
进一步地,所述L2P表恢复模块用于JM软件核和DM软件核对所述存储区域中的L2P表进行恢复,具体为:
每个软件核组中的JM软件核和DM软件核并行读取所述存储区域中的第二子L2P表;
所述JM软件核检查每个JM软件核和每个DM软件核恢复的第二子L2P表是否完成;
如是,则说明所述存储区域中的第一子L2P表恢复完成;
当所有的第一子L2P表都恢复完成,则说明L2P表恢复完成,将所述L2P表上报到系统。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
本发明提供的一种基于多核恢复L2P表的方法和装置,通过在SSD掉电的时候,将L2P表存储到SSD上多个存储区域,并在SSD上电后,将L2P表的恢复工作均分到上电相对空闲的核上,由多核并行恢复L2P表,将上电恢复时间节省了约1/多核数量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所述方法流程图;
图2为本发明所述装置结构框图。
具体实施方式
为了能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
如图1所示,为本发明方法流程图,本方法采用快照存储L2P表(L2P表,Logical ToPhysical Table,逻辑块到物理块的映射表,即FTL映射表)的方式,具体包括:选择JM(Journal Manager,快照管理器)软件核和DM(Data Manager,数据管理器)软件核的数量;将L2P表保存在SSD(SSD,Solid State Drives,固态硬盘)的存储区域;JM软件核和DM软件核对存储区域中的L2P表进行恢复。
选择JM软件核和DM软件核的数量,具体为:根据JM软件核和DM软件核不在同一个物理核上的要求,选择一个或多个JM软件核用于L2P表的保存,再将DM软件核按照JM软件核的数量进行平分,将平分后的每组DM软件核和一个JM软件核进行绑定形成软件核组,每个软件核组中的JM软件核和DM软件核用于L2P表的恢复。
本发明中,JM软件核处在一个物理核上,负责L2P的保存和恢复。DM软件核处在另外一个物理核上(与JM软件核不在同一个物理核上),负责来自主机端的读写请求的初级处理。SSD上电恢复过程中,不会有来自主机端的读写请求,只有等SSD上电恢复完成,处于ready状态后,主机才可以正常读写SSD。所以上电恢复的软件核,除了JM软件核以外,可以选择DM软件核作为恢复核。
将L2P表保存在SSD的存储区域,具体为:
根据系统中JM软件核的数量,将SSD分为相同数量的存储区域;
根据软件核组的数量,对L2P表进行平均切分,形成一个或多个第一子L2P表;
根据软件核组中JM软件核和DM软件核的总数量,对每个第一子L2P表进行平均切分,形成一个或多个第二子L2P表;
SSD掉电时,每个JM软件核将每个第二子L2P表以快照的方式分别存储到一个存储区域中。
为保证JM软件核和DM软件核可以并行的恢复L2P表,相互之间无干扰。将整份L2P表平分,平均的方式可以采用将整份L2P表按照顺序切分,也可以将整份L2P表按照快照大小均分成N段。
JM软件核和DM软件核对存储区域中的L2P表进行恢复,具体为:
每个软件核组中的JM软件核和DM软件核并行读取存储区域中的第二子L2P表;
JM软件核检查每个JM软件核和每个DM软件核恢复的第二子L2P表是否完成;
如是,则说明存储区域中的第一子L2P表恢复完成;
当所有的第一子L2P表都恢复完成,则说明L2P表恢复完成,将L2P表上报到系统。
SSD上电后,JM软件核和DM软件核并行读取所属的全部快照,进行L2P表的恢复,JM检查DM核是否恢复完成。待JM检查到DM恢复完成后,再上报整份L2P表恢复完成。
如图2所示,为本发明装置结构框图,装置包括:软件核组模块、L2P表保存模块和L2P表恢复模块,软件核组模块用于选择JM软件核和DM软件核的数量,L2P表保存模块用于将L2P表保存在SSD的存储区域,L2P表恢复模块用于JM软件核和DM软件核对存储区域中的L2P表进行恢复。
软件核组模块选择JM软件核和DM软件核的数量,具体为:根据JM软件核和DM软件核不在同一个物理核上的要求,选择一个或多个JM软件核用于L2P表的保存,再将DM软件核按照JM软件核的数量进行平分,将平分后的每组DM软件核和一个JM软件核进行绑定形成软件核组,每个软件核组中的JM软件核和DM软件核用于L2P表的恢复。
L2P表保存模块将L2P表保存在SSD的存储区域,具体为:
根据系统中JM软件核的数量,将SSD分为相同数量的存储区域;
根据软件核组的数量,对L2P表进行平均切分,形成一个或多个第一子L2P表;
根据软件核组中JM软件核和DM软件核的总数量,对每个第一子L2P表进行平均切分,形成一个或多个第二子L2P表;
SSD掉电时,每个JM软件核将每个第二子L2P表以快照的方式分别存储到一个存储区域中。
L2P表恢复模块用于JM软件核和DM软件核对存储区域中的L2P表进行恢复,具体为:
每个软件核组中的JM软件核和DM软件核并行读取存储区域中的第二子L2P表;
JM软件核检查每个JM软件核和每个DM软件核恢复的第二子L2P表是否完成;
如是,则说明存储区域中的第一子L2P表恢复完成;
当所有的第一子L2P表都恢复完成,则说明L2P表恢复完成,将L2P表上报到系统。
以上所述只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。
Claims (4)
1.一种基于多核恢复L2P表的方法,采用快照存储L2P表的方式,其特征在于,所述方法包括:
选择JM软件核和DM软件核的数量;
所述选择JM软件核和DM软件核的数量,具体为:
根据JM软件核和DM软件核不在同一个物理核上的要求,选择一个或多个JM软件核用于L2P表的保存,再将DM软件核按照JM软件核的数量进行平分,将平分后的每组DM软件核和一个JM软件核进行绑定形成软件核组,每个软件核组中的JM软件核和DM软件核用于L2P表的恢复;
将L2P表保存在SSD的存储区域;
所述将L2P表保存在SSD的存储区域,具体为:
根据系统中JM软件核的数量,将SSD分为相同数量的存储区域;
根据软件核组的数量,对L2P表进行平均切分,形成一个或多个第一子L2P表;
根据软件核组中JM软件核和DM软件核的总数量,对每个第一子L2P表进行平均切分,形成一个或多个第二子L2P表;
SSD掉电时,每个所述JM软件核将每个第二子L2P表以快照的方式分别存储到一个所述存储区域中;
JM软件核和DM软件核对所述存储区域中的L2P表进行恢复;
所述JM软件核和DM软件核对所述存储区域中的L2P表进行恢复,具体为:
每个软件核组中的JM软件核和DM软件核并行读取所述存储区域中的第二子L2P表。
2.根据权利要求1所述的一种基于多核恢复L2P表的方法,其特征在于,所述JM软件核和DM软件核对所述存储区域中的L2P表进行恢复,还包括:
所述JM软件核检查每个JM软件核和每个DM软件核恢复的第二子L2P表是否完成;
如是,则说明所述存储区域中的第一子L2P表恢复完成;
当所有的第一子L2P表都恢复完成,则说明L2P表恢复完成,将所述L2P表上报到系统。
3.一种基于多核恢复L2P表的装置,基于权利要求1-2任一项所述方法实现,所述装置包括:软件核组模块、L2P表保存模块和L2P表恢复模块,所述软件核组模块用于选择JM软件核和DM软件核的数量,所述L2P表保存模块用于将L2P表保存在SSD的存储区域,所述L2P表恢复模块用于JM软件核和DM软件核对所述存储区域中的L2P表进行恢复;
所述软件核组模块选择JM软件核和DM软件核的数量,具体为:
所述L2P表保存模块将L2P表保存在SSD的存储区域,具体为:
根据系统中JM软件核的数量,将SSD分为相同数量的存储区域;
根据软件核组的数量,对L2P表进行平均切分,形成一个或多个第一子L2P表;
根据软件核组中JM软件核和DM软件核的总数量,对每个第一子L2P表进行平均切分,形成一个或多个第二子L2P表;
SSD掉电时,每个所述JM软件核将每个第二子L2P表以快照的方式分别存储到一个所述存储区域中;
所述L2P表恢复模块用于JM软件核和DM软件核对所述存储区域中的L2P表进行恢复,具体为:
每个软件核组中的JM软件核和DM软件核并行读取所述存储区域中的第二子L2P表。
4.根据权利要求3所述的一种基于多核恢复L2P表的装置,其特征在于,所述L2P表恢复模块用于JM软件核和DM软件核对所述存储区域中的L2P表进行恢复,还包括:
所述JM软件核检查每个JM软件核和每个DM软件核恢复的第二子L2P表是否完成;
如是,则说明所述存储区域中的第一子L2P表恢复完成;
当所有的第一子L2P表都恢复完成,则说明L2P表恢复完成,将所述L2P表上报到系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010094694.5A CN111338846B (zh) | 2020-02-16 | 2020-02-16 | 一种基于多核恢复l2p表的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010094694.5A CN111338846B (zh) | 2020-02-16 | 2020-02-16 | 一种基于多核恢复l2p表的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111338846A CN111338846A (zh) | 2020-06-26 |
CN111338846B true CN111338846B (zh) | 2023-01-10 |
Family
ID=71183425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010094694.5A Active CN111338846B (zh) | 2020-02-16 | 2020-02-16 | 一种基于多核恢复l2p表的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111338846B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115794497B (zh) * | 2023-02-08 | 2023-05-05 | 成都佰维存储科技有限公司 | Ssd掉电解决方法、装置、可读存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591790A (zh) * | 2011-12-30 | 2012-07-18 | 记忆科技(深圳)有限公司 | 基于固态硬盘的数据存储快照实现方法及固态硬盘 |
CN109213690A (zh) * | 2018-09-21 | 2019-01-15 | 浪潮电子信息产业股份有限公司 | 一种l2p表的重建方法及相关装置 |
CN110647295A (zh) * | 2019-09-12 | 2020-01-03 | 苏州浪潮智能科技有限公司 | 缩短ssd上电恢复时间的方法、系统、设备及存储介质 |
CN110688256A (zh) * | 2019-09-12 | 2020-01-14 | 苏州浪潮智能科技有限公司 | 一种元数据上电恢复方法、装置、电子设备及存储介质 |
-
2020
- 2020-02-16 CN CN202010094694.5A patent/CN111338846B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591790A (zh) * | 2011-12-30 | 2012-07-18 | 记忆科技(深圳)有限公司 | 基于固态硬盘的数据存储快照实现方法及固态硬盘 |
CN109213690A (zh) * | 2018-09-21 | 2019-01-15 | 浪潮电子信息产业股份有限公司 | 一种l2p表的重建方法及相关装置 |
CN110647295A (zh) * | 2019-09-12 | 2020-01-03 | 苏州浪潮智能科技有限公司 | 缩短ssd上电恢复时间的方法、系统、设备及存储介质 |
CN110688256A (zh) * | 2019-09-12 | 2020-01-14 | 苏州浪潮智能科技有限公司 | 一种元数据上电恢复方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111338846A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3726364B1 (en) | Data write-in method and solid-state drive array | |
US10884630B2 (en) | Storage system | |
CN102508724B (zh) | 一种基于软raid的磁盘坏块处理方法 | |
CN101515276B (zh) | 一种文件数据写操作的方法、文件数据恢复方法及系统 | |
DE102017124079A1 (de) | Speichervorrichtung zum Verarbeiten von beschädigten Metadaten und Verfahren zum Betreiben derselben | |
US9009396B2 (en) | Physically addressed solid state disk employing magnetic random access memory (MRAM) | |
CN104461391A (zh) | 一种存储设备元数据管理处理方法及系统 | |
CN103534688B (zh) | 数据恢复方法、存储设备和存储系统 | |
US20160342476A1 (en) | Solid state drive operations | |
CN101625897B (zh) | 用于快闪存储器的数据写入方法、储存系统与控制器 | |
CN101483067A (zh) | 快闪存储器数据写入方法及其快闪存储器控制器 | |
US8762771B2 (en) | Method for completing write operations to a RAID drive pool with an abnormally slow drive in a timely fashion | |
CN113971137A (zh) | 一种垃圾回收方法及装置 | |
WO2022142544A1 (zh) | 防止闪存数据丢失的方法、固态硬盘控制器、固态硬盘 | |
CN103150256A (zh) | 提高usb闪存写入性能的方法和器件 | |
CN104778018A (zh) | 基于非对称混合型磁盘镜像的宽条带磁盘阵列及存储方法 | |
CN109144899A (zh) | 用于管理表恢复的方法 | |
CN111737162A (zh) | 一种快速恢复数据的固态硬盘使用方法及计算机可读存储介质 | |
EP3798852B1 (en) | System controller and system garbage recovery method | |
CN111338846B (zh) | 一种基于多核恢复l2p表的方法和装置 | |
US20140047161A1 (en) | System Employing MRAM and Physically Addressed Solid State Disk | |
CN110262980B (zh) | 基于有限寿命存储介质的高速存储系统 | |
CN102609224A (zh) | 一种独立冗余磁盘阵列系统及其初始化方法 | |
CN115237351B (zh) | Nand块动态重映射、读写命令处理方法及存储设备 | |
CN116483263A (zh) | 一种存储系统的存储设备、存储系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |