命令处理方法、存储设备及存储介质与流程

摘要: 本申请涉及数据处理,尤其涉及一种命令处理方法、存储设备及存储介质。背景技术:1、固态硬盘(solidstatedrive,ssd)的读写速度快,具有高可靠性和耐...
命令处理方法、存储设备及存储介质与流程

本申请涉及数据处理,尤其涉及一种命令处理方法、存储设备及存储介质。

背景技术:

1、固态硬盘(solid state drive,ssd)的读写速度快,具有高可靠性和耐用性,广泛应用于个人电脑、服务器、数据中心等存储场景。控制器通过多个信号通道与nand闪存通信连接,负责管理和协调固态硬盘的数据读写操作。每个信号通道通常与固态硬盘中的多个晶粒连接,为避免多个晶粒使用同一个信号通道而导致数据传输冲突,控制器提供信号通道锁,晶粒需要执行写操作时需要先申请信号通道锁。然而,当多个晶粒竞争信号通道锁时,会导致读命令的执行延时增加,从而影响固态硬盘的读写性能。

技术实现思路

1、有鉴于此,有必要提供一种命令处理方法、存储设备及存储介质,解决上述当多个晶粒竞争信号通道锁时,会导致读命令的执行延时增加,影响固态硬盘的读写性能的问题。

2、第一方面,本申请实施例提供一种命令处理方法,应用于存储设备,所述方法包括:若所述存储设备接收到写命令,将所述写命令添加至写命令队列;基于队列顺序从所述写命令队列获取待执行的写命令,并对所述待执行的写命令进行处理,将所述待执行的写命令对应的第一目标数据写入所述存储设备中的写目标晶粒;若所述存储设备接收到读命令,对所述读命令进行处理,从所述存储设备中的读目标晶粒中读取所述读命令对应的第二目标数据。

3、在一种可能的实现方式中,所述写命令队列为双向链表,所述写命令队列包括多个元素,每个元素存储一个所述待执行的写命令,所述写命令队列设置有头指针和尾指针,所述头指针用于指示所述写命令队列的开始位置,所述尾指针用于指示所述写命令队列的结束位置。

4、在一种可能的实现方式中,所述将所述写命令添加至写命令队列,包括:将所述写命令封装成队列元素,调用写命令接收器将所述队列元素添加至所述尾指针;所述基于队列顺序从所述写命令队列获取待执行的写命令,包括:从所述头指针获取所述待执行的写命令,并将所述头指针处的所述待执行的写命令删除。

5、在一种可能的实现方式中,所述方法还包括:在所述存储设备上电时,初始化所述写命令队列,给所述写命令队列分配预设内存空间,初始化得到的所述写命令队列的头指针和尾指针均指向所述写命令队列的开始位置。

6、在一种可能的实现方式中,所述方法还包括:若所述存储设备接收到写命令,且所述写命令队列已满,对所述写命令进行暂存。

7、在一种可能的实现方式中,所述对所述待执行的写命令进行处理,将所述待执行的写命令对应的第一目标数据写入所述存储设备中的写目标晶粒,包括:对所述待执行的写命令进行解析,确定所述待执行的写命令对应的写目标晶粒,获取所述待执行的写命令对应的第一目标数据;将所述第一目标数据写入所述写目标晶粒。

8、在一种可能的实现方式中,所述对所述读命令进行处理,从所述存储设备中的读目标晶粒中读取所述读命令对应的第二目标数据,包括:对所述读命令进行解析,确定所述读命令对应的读目标晶粒;若所述读目标晶粒的对应信号通道未被占用,从所述读目标晶粒读取所述第二目标数据。

9、在一种可能的实现方式中,所述对所述读命令进行处理,从所述存储设备中的读目标晶粒中读取所述读命令对应的第二目标数据,包括:对所述读命令进行解析,确定所述读命令对应的读目标晶粒,以及获取所述读命令的优先级标识;若所述读目标晶粒的信号通道被占用,且所述读命令的优先级标识为预设值,暂停所述读目标晶粒当前的读写操作,从所述读目标晶粒读取所述第二目标数据。

10、第二方面,本申请实施例提供一种存储设备,所述存储设备包括处理器和存储器,所述存储器用于存储指令,所述处理器用于调用所述存储器中的指令,使得所述存储设备执行上述的命令处理方法。

11、第三方面,本申请实施例提供一种计算机可读存储介质,包括计算机指令,当所述计算机指令在存储设备上运行时,使得所述存储设备执行上述的命令处理方法。

12、本申请实施例提供的命令处理方法、存储设备及存储介质可以基于写命令队列机制对写命令进行处理,有效优化了读写命令的处理逻辑,避免由于锁竞争导致的命令执行延时,提升了存储设备的读写性能。

1.一种命令处理方法,应用于存储设备,其特征在于,所述方法包括:

2.如权利要求1所述的命令处理方法,其特征在于,所述写命令队列为双向链表,所述写命令队列包括多个元素,每个元素存储一个所述待执行的写命令,所述写命令队列设置有头指针和尾指针,所述头指针用于指示所述写命令队列的开始位置,所述尾指针用于指示所述写命令队列的结束位置。

3.如权利要求2所述的命令处理方法,其特征在于,所述将所述写命令添加至写命令队列,包括:

4.如权利要求2所述的命令处理方法,其特征在于,所述方法还包括:

5.如权利要求1所述的命令处理方法,其特征在于,所述方法还包括:

6.如权利要求1所述的命令处理方法,其特征在于,所述对所述待执行的写命令进行处理,将所述待执行的写命令对应的第一目标数据写入所述存储设备中的写目标晶粒,包括:

7.如权利要求1所述的命令处理方法,其特征在于,所述对所述读命令进行处理,从所述存储设备中的读目标晶粒中读取所述读命令对应的第二目标数据,包括:

8.如权利要求7所述的命令处理方法,其特征在于,所述对所述读命令进行处理,从所述存储设备中的读目标晶粒中读取所述读命令对应的第二目标数据,包括:

9.一种存储设备,其特征在于,所述存储设备包括处理器和存储器,所述存储器用于存储指令,所述处理器用于调用所述存储器中的指令,使得所述存储设备执行权利要求1至8中任一项所述的命令处理方法。

10.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在存储设备上运行时,使得所述存储设备执行如权利要求1至8中任一项所述的命令处理方法。