SSDWriteZero制造技术

技术编号:39419121 阅读:17 留言:0更新日期:2023-11-19 16:08
本申请涉及一种

【技术实现步骤摘要】
SSD Write Zero命令的加速处理方法和装置


[0001]本专利技术涉及固态硬盘
,特别是涉及一种
SSD Write Zero
命令的加速处理方法

装置

计算机设备和存储介质


技术介绍

[0002]目前,市场上大部分
SSD
接口都是
NVMe
接口
。Write Zero
命令是
NVMe
协议的标准命令之一
。Write Zero
命令因不需要
Host
端分配专用数据内存而成为
Host
格式化部分
SSD Nand
时的首选

[0003]一条
Write Zero
命令操作的最大
LBA Range

32M。Host
在选择
Write Zero
命令格式化
Nand
时,需要连续发送多个
Write Zero
命令

这些连续的
Write Zero
命令中携带的
LBA Range
通常是连续的

然而,传统处理方式是将
Write Zero
命令按照
nvme
协议的规范,逐个执行

由此可见,传统处理方式效率比较低

尤其是在一些场景,如r/>linux
系统安装,
Host
会下发大量的
Write Zero
命令,传统处理方式可能会发生
Write Zero
命令超时的情况


技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种
SSD Write Zero
命令的加速处理方法

装置

计算机设备和存储介质

[0005]一种
SSD Write Zero
命令的加速处理方法,所述方法包括:
[0006]获取主机下发的
Write Zero
命令;
[0007]先将
Write Zero
命令保存下来不单独发给
NFC
执行;
[0008]待获取到下一个
Write Zero
命令后,判断
Write Zero
命令中包含的
lba range
是否与上一个
Write Zero
命令中的
lba range
是连续的;
[0009]如果是连续的则将两个
lba range
合并,并将合并后的
lba range
放到一个
Write Zero
命令中

[0010]在其中一个实施例中,在所述如果是连续的则将两个
lba range
合并,并将合并后的
lba range
放到一个
Write Zero
命令中的步骤之后还包括:
[0011]如果后续获取的
Write Zero
命令中包含的
lba range
依然是连续的,则继续进行
lba range
合并直至合并的
Write Zero
命令数量达到预设的阈值;
[0012]将所有合并的
lba range
放到一个
Write Zero
命令中,并发给
NFC
执行

[0013]在其中一个实施例中,所述方法还包括:
[0014]如果从第一次进行合并开始后,等待超过一定时间合并的
Write Zero
命令的数量仍然达不到预设的阈值,则直接将已合并的
lba range
下发给
NFC
执行

[0015]在其中一个实施例中,所述判断当前
Write Zero
命令中包含的
lba range
是否与上一个
Write Zero
命令中的
lba range
是连续的步骤之后还包括:
[0016]如果判断两个
Write Zero
命令中的
lba range
不连续,则直接将前一个
Write Zero
命令发给
NFC
执行

[0017]一种
SSD Write Zero
命令的加速处理装置,所述装置包括:
[0018]获取模块,所述获取模块用于获取主机下发的
Write Zero
命令;
[0019]保存模块,所述保存模块用于先将
Write Zero
命令保存下来不单独发给
NFC
执行;
[0020]判断模块,所述判断模块用于待获取到下一个
Write Zero
命令后,判断
Write Zero
命令中包含的
lba range
是否与上一个
Write Zero
命令中的
lba range
是连续的;
[0021]合并模块,所述合并模块用于如果是连续的则将两个
lba range
合并,并将合并后的
lba range
放到一个
Write Zero
命令中

[0022]在其中一个实施例中,所述装置还包括第一执行模块,所述第一执行模块用于:
[0023]如果后续获取的
Write Zero
命令中包含的
lba range
依然是连续的,则继续进行
lba range
合并直至合并的
Write Zero
命令数量达到预设的阈值;
[0024]将所有合并的
lba range
放到一个
Write Zero
命令中,并发给
NFC
执行

[0025]在其中一个实施例中,所述装置还包括第二执行模块,所述第二执行模块用于:
[0026]如果从第一次进行合并开始后,等待超过一定时间合并的
Write Zero
命令的数量仍然达不到预设的阈值,则直接将已合并的
lba range
下发给
NFC
执行

[0027]在其中一个实施例中,所述判断模块还用于:
[0028]如果判断两个
Write Zero
本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种
SSD Write Zero
命令的加速处理方法,所述方法包括:获取主机下发的
Write Zero
命令;先将
Write Zero
命令保存下来不单独发给
NFC
执行;待获取到下一个
Write Zero
命令后,判断
Write Zero
命令中包含的
lba range
是否与上一个
Write Zero
命令中的
lba range
是连续的;如果是连续的则将两个
lba range
合并,并将合并后的
lba range
放到一个
Write Zero
命令中
。2.
根据权利要求1所述的
SSD Write Zero
命令的加速处理方法,其特征在于,在所述如果是连续的则将两个
lba range
合并,并将合并后的
lba range
放到一个
Write Zero
命令中的步骤之后还包括:如果后续获取的
Write Zero
命令中包含的
lba range
依然是连续的,则继续进行
lba range
合并直至合并的
Write Zero
命令数量达到预设的阈值;将所有合并的
lba range
放到一个
Write Zero
命令中,并发给
NFC
执行
。3.
根据权利要求2所述的
SSD Write Zero
命令的加速处理方法,其特征在于,所述方法还包括:如果从第一次进行合并开始后,等待超过一定时间合并的
Write Zero
命令的数量仍然达不到预设的阈值,则直接将已合并的
lba range
下发给
NFC
执行
。4.
根据权利要求1‑3任一项所述的
SSD Write Zero
命令的加速处理方法,其特征在于,所述判断当前
Write Zero
命令中包含的
lba range
是否与上一个
Write Zero
命令中的
lba range
是连续的步骤之后还包括:如果判断两个
Write Zero
命令中的
lba range
不连续,则直接将前一个
Write Zero
命令发给
NFC
执行
。5.
一种
SSD Write Zero
命令...

【专利技术属性】
技术研发人员:陈岭岭韩道静马鹏
申请(专利权)人:苏州忆联信息系统有限公司
类型:发明
国别省市:

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

1