一种多核CPU下的L2P表的管理方法、设备以及介质技术

技术编号:27616688 阅读:13 留言:0更新日期:2021-03-10 10:48
本发明专利技术公开了一种多核CPU下的L2P表的管理方法,包括以下步骤:响应于当前CPU接收到读或写IO命令,判断所述当前CPU的缓存中是否存在与所述读或写IO命令对应的L2P条目;响应于存在所述对应的L2P条目,获取所述对应的L2P条目的状态;所述当前CPU根据所述对应的L2P条目的状态和所述读或写IO命令触发对与所述对应的L2P条目相对应的数据进行读或写操作;根据所述读或写操作更新所述L2P条目的状态和/或通知其他CPU以对所述其他CPU的缓存中相应的L2P条目的状态进行修改。本发明专利技术还公开了一种计算机设备以及可读存储介质。本发明专利技术提出的方案能够实现多核CPU下对L2P表的管理,同时解决了L2P条目对应的数据多个CPU的缓存及主内存上一致性问题。上一致性问题。上一致性问题。

【技术实现步骤摘要】
一种多核CPU下的L2P表的管理方法、设备以及介质


[0001]本专利技术涉及L2P领域,具体涉及一种多核CPU下的L2P表的管理方法、设备以及存储介质。

技术介绍

[0002]随着存储系统的不断发展,SSD固态硬盘的不断的代替传统硬盘,在SSD中L2P(逻辑地址到物理地址的映射)表具有重要的作用,在IO命令的读写过程中,host(主机)下发LBA到SSD,SSD从内存中查询L2P表找到对应的PBA从而进行数据的读写操作,并且如果在读写过程中L2P的条目如果命中Cache中对SSD的性能上有很大的提升,但是在多核CPU系统中,若将L2P的条目以及相应的数据保存到缓存中,无法保证每一个CPU中相同LBA条目对应的数据的一致性。因此,急需一种能够解决多核CPU系统中能够保持数据的一致性的方案。

技术实现思路

[0003]有鉴于此,为了克服上述问题的至少一个方面,本专利技术实施例提出一种多核CPU下的L2P表的管理方法,包括以下步骤:
[0004]响应于当前CPU接收到读或写IO命令,判断所述当前CPU的缓存中是否存在与所述读或写IO命令对应的L2P条目;
[0005]响应于存在所述对应的L2P条目,获取所述对应的L2P条目的状态;
[0006]所述当前CPU根据所述对应的L2P条目的状态和所述读或写IO命令触发对与所述对应的L2P条目相对应的数据进行读或写操作;
[0007]根据所述读或写操作更新所述L2P条目的状态和/或通知其他CPU以对所述其他CPU的缓存中相应的L2P条目的状态进行修改。
[0008]在一些实施例中,所述当前CPU根据所述L2P条目的状态和所述读或写IO命令触发对与所述对应的L2P条目相对应的数据进行读或写操作,进一步包括:
[0009]响应于所述L2P条目的状态为独占态且所述当前CPU接收到所述读IO命令,直接从所述当前CPU的缓存中读取与所述对应的L2P条目相对应的数据;
[0010]响应于所述L2P条目的状态为独占态且所述当前CPU接收到所述写IO命令,直接对所述当前CPU的缓存中的所述对应的L2P条目相对应的数据进行写操作。
[0011]在一些实施例中,根据所述读或写操作更新所述L2P条目的状态和/或通知其他CPU以对所述其他CPU的缓存中相应的L2P条目的状态进行修改,进一步包括:
[0012]响应于直接对所述当前CPU的缓存中的所述对应的L2P条目相对应的数据进行写操作,将所述对应的L2P条目的状态由独占态更新为修改态;
[0013]响应于所述L2P条目的状态为独占态且所述当前CPU监听到所述其他CPU触发读内存中的所述对应的L2P条目相对应的数据,将所述对应的L2P条目的状态由独占态更新为共享态;
[0014]响应于所述L2P条目的状态为独占态且所述当前CPU监听到所述其他CPU触发写所
述内存中的所述对应的L2P条目相对应的数据,将所述对应的L2P条目的状态由独占态更新为无效态。
[0015]在一些实施例中,所述当前CPU根据所述L2P条目的状态和所述读或写IO命令触发对与所述对应的L2P条目相对应的数据进行读或写操作,进一步包括:
[0016]响应于所述L2P条目的状态为共享态且所述当前CPU接收到所述读IO命令,直接从内存中或所述当前CPU的缓存中读取与所述对应的L2P条目相对应的数据;
[0017]响应于所述L2P条目的状态为共享态且所述当前CPU接收到所述写IO命令,直接对所述当前CPU的缓存中的所述对应的L2P条目相对应的数据进行写操作。
[0018]在一些实施例中,根据所述读或写操作更新所述L2P条目的状态和/或通知其他CPU以对所述其他CPU的缓存中相应的L2P条目的状态进行修改,进一步包括:
[0019]响应于直接对所述当前CPU的缓存中的所述对应的L2P条目相对应的数据进行写操作,将所述对应的L2P条目的状态由共享态更新为修改态,并通知所述其他CPU以将所述其他CPU的缓存中相应的L2P条目的状态更新为无效态;
[0020]响应于所述L2P条目的状态为共享态且所述当前CPU监听到所述其他CPU触发写所述内存中的所述对应的L2P条目相对应的数据,将所述对应的L2P条目的状态由共享态更新为无效态。
[0021]在一些实施例中,所述当前CPU根据所述L2P条目的状态和所述读或写IO命令触发对与所述对应的L2P条目相对应的数据进行读或写操作,进一步包括:
[0022]响应于所述L2P条目的状态为修改态且所述当前CPU接收到所述读IO命令,直接从所述当前CPU的缓存中读取与所述对应的L2P条目相对应的数据;
[0023]响应于所述L2P条目的状态为修改态且所述当前CPU接收到所述写IO命令,直接对所述当前CPU的缓存中的所述对应的L2P条目相对应的数据进行写操作;
[0024]响应于所述L2P条目的状态为修改态且所述当前CPU监听到所述其他CPU触发读或写内存中的所述对应的L2P条目相对应的数据,所述当前CPU将缓存中的所述对应的L2P条目相对应的数据写回内存。
[0025]在一些实施例中,根据所述读或写操作更新所述L2P条目的状态和/或通知其他CPU以对所述其他CPU的缓存中相应的L2P条目的状态进行修改,进一步包括:
[0026]响应于所述当前CPU监听到所述其他CPU触发读内存中的所述对应的L2P条目相对应的数据,所述当前CPU将所述对应的L2P条目的状态由修改态更新为共享态;
[0027]响应于所述当前CPU监听到所述其他CPU触发写内存中的所述对应的L2P条目相对应的数据,所述当前CPU将所述对应的L2P条目的状态由修改态更新为无效态。
[0028]在一些实施例中,所述当前CPU根据所述L2P条目的状态和所述读或写IO命令触发对与所述对应的L2P条目相对应的数据进行读或写操作,进一步包括:
[0029]响应于所述L2P条目的状态为无效态且所述当前CPU接收到所述读IO命令,直接从内存中读取与所述对应的L2P条目相对应的数据;
[0030]响应于所述L2P条目的状态为无效态且所述当前CPU接收到所述写IO命令,直接对所述当前CPU的缓存中的所述对应的L2P条目相对应的数据进行写操作;
[0031]根据所述读或写操作更新所述L2P条目的状态和/或通知其他CPU以对所述其他CPU的缓存中相应的L2P条目的状态进行修改,进一步包括:
[0032]响应于所述当前CPU直接从内存中读取与所述对应的L2P条目相对应的数据且所述其他CPU中没有与所述对应的L2P条目相对应的数据,所述当前CPU将所述对应的L2P条目的状态由无效态更新为独占态;
[0033]响应于所述当前CPU直接从内存中读取与所述对应的L2P条目相对应的数据且所述其他CPU中有与所述对应的L2P条目相对应的数据,所述当前CPU将所述对应的L2P条目的状态由无效态更新为共享态;
[0034本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多核CPU下的L2P表的管理方法,其特征在于,包括以下步骤:响应于当前CPU接收到读或写IO命令,判断所述当前CPU的缓存中是否存在与所述读或写IO命令对应的L2P条目;响应于存在所述对应的L2P条目,获取所述对应的L2P条目的状态;所述当前CPU根据所述对应的L2P条目的状态和所述读或写IO命令触发对与所述对应的L2P条目相对应的数据进行读或写操作;根据所述读或写操作更新所述L2P条目的状态和/或通知其他CPU以对所述其他CPU的缓存中相应的L2P条目的状态进行修改。2.如权利要求1所述的方法,其特征在于,所述当前CPU根据所述L2P条目的状态和所述读或写IO命令触发对与所述对应的L2P条目相对应的数据进行读或写操作,进一步包括:响应于所述L2P条目的状态为独占态且所述当前CPU接收到所述读IO命令,直接从所述当前CPU的缓存中读取与所述对应的L2P条目相对应的数据;响应于所述L2P条目的状态为独占态且所述当前CPU接收到所述写IO命令,直接对所述当前CPU的缓存中的所述对应的L2P条目相对应的数据进行写操作。3.如权利要求2所述的方法,其特征在于,根据所述读或写操作更新所述L2P条目的状态和/或通知其他CPU以对所述其他CPU的缓存中相应的L2P条目的状态进行修改,进一步包括:响应于直接对所述当前CPU的缓存中的所述对应的L2P条目相对应的数据进行写操作,将所述对应的L2P条目的状态由独占态更新为修改态;响应于所述L2P条目的状态为独占态且所述当前CPU监听到所述其他CPU触发读内存中的所述对应的L2P条目相对应的数据,将所述对应的L2P条目的状态由独占态更新为共享态;响应于所述L2P条目的状态为独占态且所述当前CPU监听到所述其他CPU触发写所述内存中的所述对应的L2P条目相对应的数据,将所述对应的L2P条目的状态由独占态更新为无效态。4.如权利要求1所述的方法,其特征在于,所述当前CPU根据所述L2P条目的状态和所述读或写IO命令触发对与所述对应的L2P条目相对应的数据进行读或写操作,进一步包括:响应于所述L2P条目的状态为共享态且所述当前CPU接收到所述读IO命令,直接从内存中或所述当前CPU的缓存中读取与所述对应的L2P条目相对应的数据;响应于所述L2P条目的状态为共享态且所述当前CPU接收到所述写IO命令,直接对所述当前CPU的缓存中的所述对应的L2P条目相对应的数据进行写操作。5.如权利要求4所述的方法,其特征在于,根据所述读或写操作更新所述L2P条目的状态和/或通知其他CPU以对所述其他CPU的缓存中相应的L2P条目的状态进行修改,进一步包括:响应于直接对所述当前CPU的缓存中的所述对应的L2P条目相对应的数据进行写操作,将所述对应的L2P条目的状态由共享态更新为修改态,并通知所述其他CPU以将所述其他CPU的缓存中相应的L2P条目的状态更新为无效态;响应于所述L2P条目的状态为共享态且所述当前CPU监听到所述其他CPU触发写所述内存中的所述对应的L2P条目相对应的数据,将所述对应的L2P条目的状态由共享态更新为无
效态。6.如权利要求1所述的方法,其特征在于,所述当前CPU根据所述L2P条目的状态和所述读或写IO命令触发对与所述对应的L2P条目相对应的数据进行读或写操作,进一步包括:响...

【专利技术属性】
技术研发人员:尹作刚
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1