获取队列精确状态的装置及其方法制造方法及图纸

技术编号:16188023 阅读:49 留言:0更新日期:2017-09-12 11:21
提供了获取队列精确状态的装置及其方法。命令队列处理方法包括:清除标志寄存器;更新存储器中的队首指针;读取标志寄存器,确定所述标志寄存器被置位后,才访问所述状态寄存器,并依据所述状态寄存器对所述命令队列进行处理。

Device and method for obtaining exact state of queue

An apparatus and method for obtaining a precise state of a queue are provided. Including command queue processing method: remove the flag register; update the memory of the first team pointer; read sign register determines the flag register is set, only access to the status register, and on the basis of the status register on the command queue for processing.

【技术实现步骤摘要】
获取队列精确状态的装置及其方法
本专利技术涉及用于处理NVMe命令的NVMe控制器,特别地,涉及在NVMe控制器中准确识别NVMe队列状态。
技术介绍
设备之间通过队列交换命令或消息是常用的。命令发送方将命令插入提交队列尾部,命令接收方从队列尾部取出命令并处理,将处理结果插入到完成队列尾部,命令发送方从完成队列头部取出命令处理结果。通过队列交换命令,能够在发送方与接收方直接维护多个并发的命令,并且命令之间的处理速度不必一致。NVMe协议(参见“NVMExpressRevision1.2”,2014年11月3日,通过引用将其全文合并于本说明书)定义了主机(Host)与设备(Device)之间交换数据的命令与数据结构(如图1所示)。主机中维护多个队列,每个队列中可填充多个命令。主机与设备基于队列交换数据。主机将命令C填入提交队列,设备从提交队列中取得命令C,并按命令C的内容进行处理,将处理结果填入完成队列。主机从完成队列获取命令C的处理结果以知晓命令C的处理完成。依据NVMe协议,在设备端维护多个队列的队首与队尾指针。主机与设备都会更新队首与队尾指针。主机向设备发送命令时,主机将命令插入本文档来自技高网...
获取队列精确状态的装置及其方法

【技术保护点】
一种命令队列处理器,包括存储器、处理器、监视器、状态寄存器以及标志寄存器;所述状态寄存器用于指示命令队列的状态,其中在命令队列非空时,所述状态寄存器中相对应的比特被所述监视器置位;所述标志寄存器可被所述CPU与所述监视器访问;其中当所述标志寄存器被置位时,所述标志寄存器指示所述状态寄存器的值反应了队列的真实状态,而当所述标志寄存器被清除时,所述标志寄存器指示所述状态寄存器的值并不反映队列的真实状态。

【技术特征摘要】
1.一种命令队列处理器,包括存储器、处理器、监视器、状态寄存器以及标志寄存器;所述状态寄存器用于指示命令队列的状态,其中在命令队列非空时,所述状态寄存器中相对应的比特被所述监视器置位;所述标志寄存器可被所述CPU与所述监视器访问;其中当所述标志寄存器被置位时,所述标志寄存器指示所述状态寄存器的值反应了队列的真实状态,而当所述标志寄存器被清除时,所述标志寄存器指示所述状态寄存器的值并不反映队列的真实状态。2.根据权利要求1所述的命令队列处理器,其中当所述CPU更新所述存储器中的队列指针后,所述CPU清除所述标志寄存器;以及当所述监视器设置所述状态寄存器后,还将所述标志寄存器置位。3.根据权利要求1-2之一所述的命令队列处理器,其中所述CPU读取所述标志寄存器,确定所述标志寄存器被置位后,才访问所述状态寄存器,并依据所述状态寄存器对所述命令队列进行处理。4.根据权利要求1-3之一所述的命令队列处理器,其中所述监视器响应于所述CPU更新了所述存储器中的第一队列指针,所述监视器读取与所述第一队列指针相对应的第二队列指针,并依据所述第一队列指针与所述第二队列指针确定所述命令队列的状态,并进而更新所述状态寄存器以及将所述标志寄存器置位。5.根据权利要求1-4之一所述的命令队列处理器,所述命令队列处理器还包括第二处...

【专利技术属性】
技术研发人员:伍德斌汤峰
申请(专利权)人:北京忆恒创源科技有限公司
类型:发明
国别省市:北京,11

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

1