一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种更新L2P表的方法、系统、设备以及介质与流程

2022-03-31 10:11:50 来源:中国专利 TAG:

一种更新l2p表的方法、系统、设备以及介质
技术领域
1.本发明涉及存储领域,具体涉及一种更新l2p表的方法、系统、设备以及存储介质。


背景技术:

2.为了高效读写,并充分发挥多核cpu的性能,通常需要不同core或同一个core的不同状态下进行分工,处理host命令和更新l2p表的功能在不同状态或core上进行分工。
3.ssd的core资源非常宝贵,写操作完成后修改l2p表这种大规模操作ddr的工作使用core太浪费资源,所以要用cpu的硬件批量进行,现在为了更高效的使用硬件批量处理ddr,通常会在改表之前轮询访问映射关系,查看逻辑地址是否连续,这依然消耗了一定的core资源。


技术实现要素:

4.有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种更新l2p表的方法,包括以下步骤:
5.响应于第一核接收到数据写入请求,根据所述数据写入请求中携带的逻辑地址的连续性生成预设比特位的消息体;
6.将所述逻辑地址和所述消息体发送到第二核;
7.所述第二核根据所述消息体和所述逻辑地址更新l2p表。
8.在一些实施例中,根据所述数据写入请求中携带的逻辑地址的连续性生成预设比特位的消息体,进一步包括:
9.响应于上一个逻辑地址与下一个逻辑地址之间连续,将所述消息体中对应比特位的标志位置为第一预设值;
10.响应于上一个逻辑地址与下一个逻辑地址之间不连续,将所述消息体中对应比特位的标志位置为第二预设值。
11.在一些实施例中,所述第二核根据所述消息体和所述逻辑地址更新l2p表,进一步包括:
12.确定所述消息体中第二预设值的位置;
13.根据所述第二预设值的位置确定所述逻辑地址中若干段连续的逻辑地址;
14.根据每一段连续的逻辑地址对l2p表中的物理地址进行更新。
15.在一些实施例中,根据所述数据写入请求中携带的逻辑地址的连续性生成预设比特位的消息体,进一步包括:
16.根据所述数据写入请求中携带的逻辑地址的长度生成预设比特位的消息体。
17.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种更新l2p表的系统,包括:
18.生成模块,配置为响应于第一核接收到数据写入请求,根据所述数据写入请求中携带的逻辑地址的连续性生成预设比特位的消息体;
19.发送模块,配置为将所述逻辑地址和所述消息体发送到第二核;
20.更新模块,配置为使所述第二核根据所述消息体和所述逻辑地址更新l2p表。
21.在一些实施例中,生成模块还配置为:
22.响应于上一个逻辑地址与下一个逻辑地址之间连续,将所述消息体中对应比特位的标志位置为第一预设值;
23.响应于上一个逻辑地址与下一个逻辑地址之间不连续,将所述消息体中对应比特位的标志位置为第二预设值。
24.在一些实施例中,更新模块还配置为:
25.确定所述消息体中第二预设值的位置;
26.根据所述第二预设值的位置确定所述逻辑地址中若干段连续的逻辑地址;
27.根据每一段连续的逻辑地址对l2p表中的物理地址进行更新。
28.在一些实施例中,生成模块还配置为:
29.根据所述数据写入请求中携带的逻辑地址的长度生成预设比特位的消息体。
30.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机设备,包括:
31.至少一个处理器;以及
32.存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行以下步骤:
33.响应于第一核接收到数据写入请求,根据所述数据写入请求中携带的逻辑地址的连续性生成预设比特位的消息体;
34.将所述逻辑地址和所述消息体发送到第二核;
35.所述第二核根据所述消息体和所述逻辑地址更新l2p表。
36.在一些实施例中,根据所述数据写入请求中携带的逻辑地址的连续性生成预设比特位的消息体,进一步包括:
37.响应于上一个逻辑地址与下一个逻辑地址之间连续,将所述消息体中对应比特位的标志位置为第一预设值;
38.响应于上一个逻辑地址与下一个逻辑地址之间不连续,将所述消息体中对应比特位的标志位置为第二预设值。
39.在一些实施例中,所述第二核根据所述消息体和所述逻辑地址更新l2p表,进一步包括:
40.确定所述消息体中第二预设值的位置;
41.根据所述第二预设值的位置确定所述逻辑地址中若干段连续的逻辑地址;
42.根据每一段连续的逻辑地址对l2p表中的物理地址进行更新。
43.在一些实施例中,根据所述数据写入请求中携带的逻辑地址的连续性生成预设比特位的消息体,进一步包括:
44.根据所述数据写入请求中携带的逻辑地址的长度生成预设比特位的消息体。
45.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行以下步骤:
46.响应于第一核接收到数据写入请求,根据所述数据写入请求中携带的逻辑地址的连续性生成预设比特位的消息体;
47.将所述逻辑地址和所述消息体发送到第二核;
48.所述第二核根据所述消息体和所述逻辑地址更新l2p表。
49.在一些实施例中,根据所述数据写入请求中携带的逻辑地址的连续性生成预设比特位的消息体,进一步包括:
50.响应于上一个逻辑地址与下一个逻辑地址之间连续,将所述消息体中对应比特位的标志位置为第一预设值;
51.响应于上一个逻辑地址与下一个逻辑地址之间不连续,将所述消息体中对应比特位的标志位置为第二预设值。
52.在一些实施例中,所述第二核根据所述消息体和所述逻辑地址更新l2p表,进一步包括:
53.确定所述消息体中第二预设值的位置;
54.根据所述第二预设值的位置确定所述逻辑地址中若干段连续的逻辑地址;
55.根据每一段连续的逻辑地址对l2p表中的物理地址进行更新。
56.在一些实施例中,根据所述数据写入请求中携带的逻辑地址的连续性生成预设比特位的消息体,进一步包括:
57.根据所述数据写入请求中携带的逻辑地址的长度生成预设比特位的消息体。
58.本发明具有以下有益技术效果之一:本发明提出的方案能够节省core资源,防止core的处理速度成为速度瓶颈,并且降低core在单次写流程中所需的操作,降低写延迟。
附图说明
59.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
60.图1为本发明的实施例提供的更新l2p表的方法的流程示意图;
61.图2为本发明的实施例提供的更新l2p表系统的结构示意图;
62.图3为本发明的实施例提供的计算机设备的结构示意图;
63.图4为本发明的实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
64.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
65.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
66.根据本发明的一个方面,本发明的实施例提出一种更新l2p表的方法,如图1所示,其可以包括步骤:
67.s1,响应于第一核接收到数据写入请求,根据所述数据写入请求中携带的逻辑地址的连续性生成预设比特位的消息体;
68.s2,将所述逻辑地址和所述消息体发送到第二核;
69.s3,所述第二核根据所述消息体和所述逻辑地址更新l2p表。
70.在一些实施例中,根据所述数据写入请求中携带的逻辑地址的连续性生成预设比特位的消息体,进一步包括:
71.响应于上一个逻辑地址与下一个逻辑地址之间连续,将所述消息体中对应比特位的标志位置为第一预设值;
72.响应于上一个逻辑地址与下一个逻辑地址之间不连续,将所述消息体中对应比特位的标志位置为第二预设值。
73.在一些实施例中,所述第二核根据所述消息体和所述逻辑地址更新l2p表,进一步包括:
74.确定所述消息体中第二预设值的位置;
75.根据所述第二预设值的位置确定所述逻辑地址中若干段连续的逻辑地址;
76.根据每一段连续的逻辑地址对l2p表中的物理地址进行更新。
77.在一些实施例中,根据所述数据写入请求中携带的逻辑地址的连续性生成预设比特位的消息体,进一步包括:
78.根据所述数据写入请求中携带的逻辑地址的长度生成预设比特位的消息体。
79.具体的,将处理host的core称为core a(第一核),处理l2p表信息的core称为core b(第二核)。当core a接收到数据写入请求后,当core a将数据写入请求的逻辑地址发送给core b时,可以在core a和core b通信中增加一个记录逻辑地址是否连续的消息体,该消息体的位数大于逻辑地址的范围,记录的方式通过每一个比特位表示当前逻辑地址与下一个逻辑地址是否连续,如果连续对应的比特位为0,不连续对应的比特位为1。core a可以在获取host消息后填写一个写入信息时,将这段连续信息最后一段对应的记录bit置为1。例如接收到数据写入请求对应的逻辑地址为01235678,其中前4个逻辑地址连续,后4个逻辑地址连续,这样消息体可以为00010001。当core b写完成后要改表时,不需要轮询查找每一个表是否与下一个表连续,直接读取记录中bit为1的位置,即可操作硬件批量改表。
80.这样,由于一部分逻辑地址的连续性直接由处理host消息的core决定,而处理映射表的core需要逐个访问对比才能判断每个节点是否连续。这样可以由处理host的core确认l2p表逻辑地址是否连续,记录并发送给处理映射表的core,即可直接获取连续关系。相比于逐个对比,处理的算法复杂度从n减少为1,节省了core的资源消耗。
81.本发明提出的方案能够节省core资源,防止core的处理速度成为速度瓶颈,并且降低core在单次写流程中所需的操作,降低写延迟。
82.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种更新l2p表的系统400,如图2所示,包括:
83.生成模块401,配置为响应于第一核接收到数据写入请求,根据所述数据写入请求中携带的逻辑地址的连续性生成预设比特位的消息体;
84.发送模块402,配置为将所述逻辑地址和所述消息体发送到第二核;
85.更新模块403,配置为使所述第二核根据所述消息体和所述逻辑地址更新l2p表。
86.在一些实施例中,生成模块401还配置为:
87.响应于上一个逻辑地址与下一个逻辑地址之间连续,将所述消息体中对应比特位的标志位置为第一预设值;
88.响应于上一个逻辑地址与下一个逻辑地址之间不连续,将所述消息体中对应比特位的标志位置为第二预设值。
89.在一些实施例中,更新模块403还配置为:
90.确定所述消息体中第二预设值的位置;
91.根据所述第二预设值的位置确定所述逻辑地址中若干段连续的逻辑地址;
92.根据每一段连续的逻辑地址对l2p表中的物理地址进行更新。
93.在一些实施例中,生成模块401还配置为:
94.根据所述数据写入请求中携带的逻辑地址的长度生成预设比特位的消息体。
95.本发明提出的方案能够节省core资源,防止core的处理速度成为速度瓶颈,并且降低core在单次写流程中所需的操作,降低写延迟。
96.基于同一发明构思,根据本发明的另一个方面,如图3所示,本发明的实施例还提供了一种计算机设备501,包括:
97.至少一个处理器520;以及
98.存储器510,存储器510存储有可在处理器上运行的计算机程序511,处理器520执行程序时执行以下步骤:
99.s1,响应于第一核接收到数据写入请求,根据所述数据写入请求中携带的逻辑地址的连续性生成预设比特位的消息体;
100.s2,将所述逻辑地址和所述消息体发送到第二核;
101.s3,所述第二核根据所述消息体和所述逻辑地址更新l2p表。
102.在一些实施例中,根据所述数据写入请求中携带的逻辑地址的连续性生成预设比特位的消息体,进一步包括:
103.响应于上一个逻辑地址与下一个逻辑地址之间连续,将所述消息体中对应比特位的标志位置为第一预设值;
104.响应于上一个逻辑地址与下一个逻辑地址之间不连续,将所述消息体中对应比特位的标志位置为第二预设值。
105.在一些实施例中,所述第二核根据所述消息体和所述逻辑地址更新l2p表,进一步包括:
106.确定所述消息体中第二预设值的位置;
107.根据所述第二预设值的位置确定所述逻辑地址中若干段连续的逻辑地址;
108.根据每一段连续的逻辑地址对l2p表中的物理地址进行更新。
109.在一些实施例中,根据所述数据写入请求中携带的逻辑地址的连续性生成预设比特位的消息体,进一步包括:
110.根据所述数据写入请求中携带的逻辑地址的长度生成预设比特位的消息体。
111.本发明提出的方案能够节省core资源,防止core的处理速度成为速度瓶颈,并且降低core在单次写流程中所需的操作,降低写延迟。
112.基于同一发明构思,根据本发明的另一个方面,如图4所示,本发明的实施例还提
供了一种计算机可读存储介质601,计算机可读存储介质601存储有计算机程序指令610,计算机程序指令610被处理器执行时执行以下步骤:
113.s1,响应于第一核接收到数据写入请求,根据所述数据写入请求中携带的逻辑地址的连续性生成预设比特位的消息体;
114.s2,将所述逻辑地址和所述消息体发送到第二核;
115.s3,所述第二核根据所述消息体和所述逻辑地址更新l2p表。
116.在一些实施例中,根据所述数据写入请求中携带的逻辑地址的连续性生成预设比特位的消息体,进一步包括:
117.响应于上一个逻辑地址与下一个逻辑地址之间连续,将所述消息体中对应比特位的标志位置为第一预设值;
118.响应于上一个逻辑地址与下一个逻辑地址之间不连续,将所述消息体中对应比特位的标志位置为第二预设值。
119.在一些实施例中,所述第二核根据所述消息体和所述逻辑地址更新l2p表,进一步包括:
120.确定所述消息体中第二预设值的位置;
121.根据所述第二预设值的位置确定所述逻辑地址中若干段连续的逻辑地址;
122.根据每一段连续的逻辑地址对l2p表中的物理地址进行更新。
123.在一些实施例中,根据所述数据写入请求中携带的逻辑地址的连续性生成预设比特位的消息体,进一步包括:
124.根据所述数据写入请求中携带的逻辑地址的长度生成预设比特位的消息体。
125.本发明提出的方案能够节省core资源,防止core的处理速度成为速度瓶颈,并且降低core在单次写流程中所需的操作,降低写延迟。
126.最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。
127.此外,应该明白的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。
128.本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
129.以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
130.应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一
个以上相关联地列出的项目的任意和所有可能组合。
131.上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
132.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
133.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献