一种基于硬件卸载的分散聚集列表查询写入读取方法及装置
摘要文本
本发明提供一种基于硬件卸载的分散聚集列表查询写入读取方法及装置,通过构建NVMe子系统,独立于主机进行对分散聚集列表的查询、解析和读写,在大数据量传输时无需软件干预,极大的减少了系统延时和软件负荷;通过建立动态缓存管理方式,极大的减少了分散聚集列表存储所需的缓存空间。
申请人信息
- 申请人:中科驭数(北京)科技有限公司
- 申请人地址:100089 北京市海淀区北清路81号院一区4号楼14层1401室
- 发明人: 中科驭数(北京)科技有限公司
专利详细信息
| 项目 | 内容 |
|---|---|
| 专利名称 | 一种基于硬件卸载的分散聚集列表查询写入读取方法及装置 |
| 专利类型 | 发明申请 |
| 申请号 | CN202311569298.3 |
| 申请日 | 2023/11/22 |
| 公告号 | CN117591023A |
| 公开日 | 2024/2/23 |
| IPC主分类号 | G06F3/06 |
| 权利人 | 中科驭数(北京)科技有限公司 |
| 发明人 | 段宗胜; 张宇军; 孟繁毅 |
| 地址 | 北京市海淀区北清路81号院一区4号楼14层1401室 |
专利主权项内容
1.一种基于硬件卸载的分散聚集列表查询写入方法,其特征在于,所述方法用于在NVMe子系统上执行,所述NVMe子系统通过PCIe总线连接主机以及通过网络连接存储控制器,该方法包括以下步骤:读取和查询提交队列门铃的先进先出队列,获取待处理提交队列条目指令的位置信息,并根据所述位置信息从所述主机中读取所述待处理提交队列条目指令;所述待处理提交队列条目指令为写命令;判断所述待处理提交队列条目指令的数据指针类型,按照相应数据指针的类型读取和解析出第一数据指针;所述第一数据指针指向所述主机内存中的目标数据;在本地建立缓存管理向量,并申请多个本地缓存空间,所述缓存管理向量中的每个要素分别标注对应缓存空间是否被占用;将所述第一数据指针完全读取,转换为由一个或多个SGL数据块描述符组成的SGL末段描述符作为第二数据指针,存入所述本地缓存空间,并标记缓存空间编号和相应缓存空间中存储的数据块描述符个数,并通过所述缓存管理向量标记存储位置;建立所述待处理提交队列条目指令与所述第二数据指针的缓存索引矩阵,以所述待处理提交队列条目指令的队列号和命令编号为地址,并将所述缓存空间编号及其对应的数据块描述符个数写入所述缓存索引矩阵中;接收存储控制器基于所述待处理提交队列条目指令反馈的当前可接收数据量,并向网络发送端口申请相应的数据缓存;从所述缓存索引矩阵中查询所述第二数据指针对应的缓存空间编号,并读取所述第二数据指针以发起对所述目标数据的数据读请求;将读取到的所述目标数据写入所述数据缓存,并记录已使用的第二指针的信息;若第二指针指向的数据块全部读取完毕,则清除对应的缓存管理向量。