CN106919487B - NVMe门铃处理方法及其装置 - Google Patents
NVMe门铃处理方法及其装置 Download PDFInfo
- Publication number
- CN106919487B CN106919487B CN201510997494.XA CN201510997494A CN106919487B CN 106919487 B CN106919487 B CN 106919487B CN 201510997494 A CN201510997494 A CN 201510997494A CN 106919487 B CN106919487 B CN 106919487B
- Authority
- CN
- China
- Prior art keywords
- queue
- command
- pointer
- command queue
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3017—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
Abstract
本发明公开了命令队列监控电路和数据交换方法。其中,命令队列监控电路包括:状态寄存器,状态寄存器存储有对应于命令队列的状态位;监控电路,监控电路耦合到存储器,监控电路用于读取存储器的预定地址范围存储的命令队列的队首指针与队尾指针,并判断命令队列的队首指针与队尾指针是否相同,以及在判断一个或多个命令队列的队首指针与队尾指针不同时,将状态寄存器中对应于一个或多个命令队列的状态位置位。根据本发明实施例的命令队列监控电路,能够减小存储设备中处理器的负担,提高数据交换的效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及命令队列监控电路和数据交换方法。
背景技术
随着计算机技术的发展,多媒体信息的数据量也在迅速膨胀,因此,人们对于例如主机为计算机、存储设备为闪存的不同设备之间的数据交换效率的要求也越来越高。
目前,通常可通过主机中的命令队列来实现主机和闪存等存储设备之间的数据交换。一般地,命令队列的数目较多,而在数据交换的过程中,可能仅有部分命令队列参与数据的写入和读取。然而为完成整个数据交换的过程,需要识别出是哪一个或者哪几个命令队列参与了数据的写入和读取。因此,存储设备中的处理器需反复扫描每一个命令队列,这不仅增加了处理器的负担,同时反复扫描每一个命令队列还会浪费大量的时间,降低了数据交换的效率。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种命令队列监控电路,能够减小存储设备中处理器的处理负担,提高数据交换的效率。
根据本发明的第一方面实施例的命令队列监控电路,包括:状态寄存器,所述状态寄存器存储有对应于命令队列的状态位;监控电路,所述监控电路耦合到存储器,所述监控电路用于读取所述存储器的预定地址范围存储的命令队列的队首指针与队尾指针,并判断所述命令队列的队首指针与队尾指针是否相同,以及在判断一个或多个命令队列的队首指针与队尾指针不同时,将所述状态寄存器中对应于所述一个或多个命令队列的状态位置位。
根据本发明第一方面实施例的命令队列监控电路还用于在判断所述一个或多个命令队列的队首指针与队尾指针相同时,将所述状态寄存器中对应于所述一个或多个命令队列的状态位复位。
根据本发明第一方面实施例的命令队列监控电路,通过监测存储器中命令队列的队首指针和队尾指针,并可将队首指针和队尾指针不同的命令队列对应的状态位置位,从而能够依据状态位,对队首指针和队尾指针不同的命令队列中的队列元素进行处理,由此,可方便地识别出需要进行数据处理的命令队列,减小了存储设备中处理器的负担,提高了数据交换效率。
根据本发明第二方面实施例的命令队列监控电路,包括:状态寄存器,所述状态寄存器存储有对应于命令队列的状态位;监控电路,所述监控电路用于截获对存储器的更新请求,并判断所述更新请求是否为对所述存储器中预定地址范围的更新,如果是,则将所述状态寄存器中对应于所述预定地址范围的命令队列的状态位置位。
根据本发明第二方面的一个实施例,当所述更新请求为对所述存储器中预定地址范围的更新时,所述监控电路还用于从所述存储器中读取与所述更新请求相对应的命令队列的队首指针或队尾指针,并判断所述命令队列的队首指针与队尾指针是否相同,如果是,则将所述状态寄存器中对应于所述命令队列的状态位复位。
根据本发明第二方面的一个实施例,当所述更新请求为对所述存储器中预定地址范围的更新时,所述监控电路还用于从所述存储器中读取与所述更新请求相对应的命令队列的队首指针或队尾指针,并判断所述命令队列的队首指针与队尾指针是否相同,如果不同,则将所述状态寄存器中对应于所述命令队列的状态位置位。
根据本发明第二方面的一个实施例,所述监控电路包括:第一监控组件,所述第一监控组件用于判断所述更新请求是否为对所述存储器中预定地址范围内的命令队列的队尾指针的更新请求,如果是,则产生命中指示信号。
进一步地,根据本发明第二方面的一个实施例,所述第一监控组件还用于在判断所述存储器中预定地址范围内的命令队列的队尾指针被更新时,向处理器发送中断请求,以使所述处理器根据所述中断请求处理一个或多个命令队列中的队列元素。
进一步地,根据本发明第二方面的一个实施例,所述监控电路包括:监控单元,所述监控单元响应于接收到所述命中指示信号,向处理器发送中断请求,以使所述处理器根据所述中断请求处理所述一个或多个命令队列中的队列元素。
进一步地,根据本发明第二方面的一个实施例,所述处理器还用于轮询所述状态寄存器中存储的对应于每个命令队列的状态位,并在判断一个或多个命令队列的状态位置位时,处理一个或多个命令队列中的队列元素。
进一步地,根据本发明第二方面的一个实施例,所述监控电路还包括:第二监控组件,所述第二监控组件用于判断所述更新请求是否为对所述存储器中预定地址范围内的命令队列的队首指针的更新请求,如果是,则进一步判断所述命令队列的队首指针是否与队尾指针相同,如果是,则将所述命令队列对应的状态位复位。
根据本发明第二方面实施例的命令队列监控电路,通过截获存储器的更新请求,并在判断更新请求为对存储器中预定地址范围的更新时,将状态寄存器中对应于预定地址范围的命令队列的状态位置位,从而能够依据状态位对队首指针和队尾指针不同的命令队列中的队列元素进行处理,由此,可方便地识别出需要进行数据处理的命令队列,并避免了因监测队首指针和队尾指针而导致的延时,减小了存储设备中处理器的负担,进一步提高了数据交换效率。
根据本发明第三方面的第一数据交换方法,包括以下步骤:监测存储器中的命令队列的队首指针和队尾指针,其中,由状态位指示命令队列的状态;判断命令队列的队首指针和所述队尾指针是否相同;如果一个或多个命令队列的队首指针和队尾指针不同,则将所述一个或多个命令队列对应的状态位置位;处理所述一个或多个命令队列中的队列元素。
进一步地,根据本发明第三方面的数据交换方法,还包括:更新所述一个或多个命令队列的队首指针;判断所述一个或多个命令队列的队首指针和队尾指针是否相同;如果是,则将所述一个或多个命令队列的状态位复位。
进一步地,根据本发明第三方面的数据交换方法,还包括:将数据写入所述一个或多个命令队列,并更新所述一个或多个命令队列的队尾指针。
进一步地,根据本发明第三方面的数据交换方法,还包括:从所述一个或多个命令队列读取所述一个或多个命令队列中的队列元素,并更新所述一个或多个命令队列的队首指针。
根据本发明第三方面的数据交换方法,其中处理所述一个或多个命令队列中的队列元素包括:根据中断请求处理所述一个或多个命令队列中的队列元素,其中,所述中断请求是当所述一个或多个命令队列的状态位被置位时生成的。
根据本发明第三方面的数据交换方法,其中处理所述一个或多个命令队列中的队列元素包括:轮询对应于每个命令队列的状态位;如果一个或多个命令队列对应的状态位置位,则处理所述一个或多个命令队列中的队列元素。
根据本发明第三方面的数据交换方法,通过监测存储器中命令队列的队首指针和队尾指针,并可将队首指针和队尾指针不同的命令队列对应的状态位置位,然后依据状态位,对队首指针和队尾指针不同的命令队列中的队列元素进行处理,由此,可方便地识别出需要进行数据处理的命令队列,减小了存储设备中处理器的负担,提高了数据交换效率。
根据本发明的第四方面,提供了一种数据交换方法,其特征在于,包括以下步骤:截获对存储器的更新请求;并判断所述更新请求是否为对所述存储器中预定地址范围的更新;如果是,则将所述状态寄存器中对应于所述预定地址范围的命令队列的状态位置位;处理所述命令队列的队列元素。
进一步地,根据本发明的第四方面的数据交换方法,还包括:当所述更新请求为对所述存储器中预定地址范围的更新时,从所述存储器中读取与所述更新请求相对应的命令队列的队首指针或队尾指针;判断所述命令队列的队首指针与队尾指针是否相同;如果是,则将所述状态寄存器中对应于所述命令队列的状态位复位。
进一步地,根据本发明的第四方面的数据交换方法,其中判断所述更新请求是否为对所述存储器中预定地址范围的更新,进一步包括:判断所述更新请求是否为对所述存储器中预定地址范围内的命令队列的队尾指针的更新请求;如果是,则将所述状态寄存器中对应于所述预定地址范围的命令队列的状态位置位。
进一步地,根据本发明的第四方面的数据交换方法,其中在判断所述存储器中预定地址范围内的命令队列的队尾指针被更新时,还包括:向处理器发送中断请求,以使所述处理器根据所述中断请求处理所述命令队列中的队列元素。
进一步地,根据本发明的第四方面的数据交换方法,还包括:轮询所述状态寄存器中存储的对应于每个命令队列的状态位,并在判断一个或多个命令队列的状态位置位时,处理所述一个或多个命令队列中的队列元素。
进一步地,根据本发明的第四方面的数据交换方法,其中判断所述更新请求是否为对所述存储器中预定地址范围的更新,进一步包括:判断所述更新请求是否为对所述存储器中预定地址范围内的命令队列的队首指针的更新请求;如果是,则进一步判断所述命令队列的队首指针是否与队尾指针相同,如果是,则将所述命令队列对应的状态位复位。
根据本发明的第四方面的数据交换方法,还包括:将所述数据写入缓存中;将写入在所述缓存中的数据写入所述命令队列。
根据本发明的第五方面,提供了一种设备,其特征在于,包括:存储器;以及监控器,所述监控器用于监测所述存储器中的命令队列的队首指针和队尾指针,并判断命令队列的队首指针和所述队尾指针是否相同,如果一个或多个命令队列的队首指针和队尾指针不同,则将所述一个或多个命令队列对应的状态位置位;处理器,所述处理器用于处理所述一个或多个命令队列中的队列元素。
进一步地,根据本发明第五方面的设备,其中所述处理器还用于更新所述一个或多个命令队列的队首指针;所述监控器还用于判断所述一个或多个命令队列的队首指针和队尾指针是否相同,如果是,则将所述一个或多个命令队列的状态位复位。
进一步地,根据本发明第五方面的设备,其中所述处理器还用于从所述一个或多个命令队列读取所述一个或多个命令队列中的队列元素,并更新所述一个或多个命令队列的队首指针。
根据本发明第五方面的设备,其中所述处理器用于根据中断请求处理所述一个或多个命令队列中的队列元素,其中,所述中断请求是当所述一个或多个命令队列的状态位被置位时生成的。
根据本发明第五方面的设备,其中所述处理器轮询对应于每个命令队列的状态位,如果一个或多个命令队列对应的状态位置位,则处理所述一个或多个命令队列中的队列元素。
根据本发明第五方面的设备,还包括:第一监控组件,所述第一监控组件用于监测主机是否更新命令队列的队尾指针,并当监测到所述命令队列的队尾指针被更新时,将所述命令队列对应的状态位置位,并向所述处理器发送中断请求,以使所述处理器根据所述中断请求处理所述命令队列中的队列元素并更新所述命令队列的队首指针;第二监控组件,所述第二监控组件用于读取所述命令队列的队尾指针,并判断所述命令队列的队首指针是否与所述队尾指针相同,如果是,则将所述命令队列对应的状态位复位。
进一步地,根据本发明第五方面的设备,其中所述第一监控组件还用于监测主机是否更新命令队列的队尾指针,并当监测到所述命令队列的队尾指针被更新时,将所述命令队列对应的状态位置位;所述处理器轮询对应于每个命令队列的状态位,如果一个或多个命令队列对应的状态位置位,则处理所述一个或多个命令队列中的队列元素并更新所述一个或多个命令队列的队首指针;所述第二监控组件用于读取所述一个或多个命令队列的队尾指针,并判断所述一个或多个命令队列的队首指针是否与所述队尾指针相同,如果是,则将所述一个或多个命令队列对应的状态位复位。
本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1为根据本发明一个实施例的命令队列监控电路的原理图;
图2为根据本发明一个实施例的监测设备中的每个命令队列的队首指针和队尾指针的过程示意图;
图3为根据本发明一个实施例的另一种命令队列监控电路的原理图;
图4为根据本发明另一个实施例的命令队列监控电路的原理图;
图5为根据本发明一个实施例的第一监控组件的原理图;
图6为根据本发明一个实施例的第二监控组件的原理图;
图7为根据本发明一个实施例的数据交换方法的流程图;
图8为根据本发明一个实施例的设备的原理图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
图1为根据本发明一个实施例的命令队列监控电路的原理图。
如图1所示,本发明实施例的命令队列监控电路,包括:状态寄存器110和监控电路120。其中,监控电路120耦合到存储器。
状态寄存器110存储有对应于命令队列的状态位,监控电路120用于读取存储器的预定地址范围存储的命令队列的队首指针与队尾指针,并判断命令队列的队首指针与队尾指针是否相同,以及在判断一个或多个命令队列的队首指针与队尾指针不同时,将状态寄存器110中对应于一个或多个命令队列的状态位置位。
在本发明的一个实施例中,命令队列可存储于主机中,其队首指针和队尾指针可存储于存储器中,其中,命令队列的个数通常为多个,如1024个,但是可以理解的是,命令队列的个数可根据实际需要进行配置。
具体地,如图2所示,假设主机中有队列0至队列1023,共1024个命令队列,可通过反复查询存储器中的用于存储每个命令队列的队首指针和队尾指针的存储空间或寄存器来监测每个命令队列的队首指针和队尾指针。
在主机和存储器之间进行数据交换的过程中,队首指针和/或队尾指针会发生改变。具体地,若主机将数据写入一个或多个命令队列,则一个或多个命令队列的队尾指针也会被更新;若监控电路120从一个或多个命令队列读取一个或多个命令队列中的队列元素,则一个或多个命令队列的队首指针也会被相应更新。
在本发明的一个实施例中,可对状态位被置位的一个或多个命令队列中的元素进行处理。在本发明的一个实施例中,当一个或多个命令队列的状态位被置位时,可生成中断请求,从而可根据中断请求处理一个或多个命令队列中的队列元素。在另一个实施例中,处理器可查询或轮询一个或多个命令队列的状态位,从而可根据状态位的信息处理一个或多个命令队列中的队列元素。
在本发明的一个实施例中,监控电路120从一个或多个命令队列读取一个或多个命令队列中的队列元素后,会更新一个或多个命令队列的队首指针。当不再向一个或多个命令队列中写入数据,同时一个或多个命令队列中的队列元素被读取完成时,此时命令队列中的队列元素为空,无需再对一个或多个命令队列中的队列元素进行处理。因此,根据本发明实施例的命令队列监控电路,监控电路120还可用于:在判断一个或多个命令队列的队首指针与队尾指针相同时,将状态寄存器110中对应于一个或多个命令队列的状态位复位,以指示命令队列中的元素为空。在一个或多个命令队列的状态位复位后,不再处理一个或多个命令队列中的队列元素。
根据本发明实施例的命令队列监控电路,通过监测存储器中命令队列的队首指针和队尾指针,并可将队首指针和队尾指针不同的命令队列对应的状态位置位,从而能够依据状态位对队首指针和队尾指针不同的命令队列中的队列元素进行处理,由此,可方便地识别出需要进行数据处理的命令队列,减小了设备中处理器的负担,提高了数据交换效率。
为进一步提高数据交换效率,本发明还提出另一种命令队列监控电路。
图3为根据本发明一个实施例的另一种命令队列监控电路的原理图。
如图3所示,本发明实施例的命令队列监控电路,包括:状态寄存器310和监控电路320。
其中,状态寄存器310存储有对应于命令队列的状态位,监控电路320用于截获对存储器的更新请求,并判断更新请求是否为对存储器中预定地址范围的更新,如果是,则将状态寄存器310中对应于预定地址范围的命令队列的状态位置位。
在本发明的一个实施例中,如果对存储器中预定地址范围进行更新,则可判断出命令队列中的队列元素需要处理。相应地,监控电路320将状态寄存器310中对应于预定地址范围的命令队列的状态位置位,以能够根据状态位处理命令队列中的队列元素。
当不再向一个或多个命令队列中写入数据,同时一个或多个命令队列中的队列元素被读取完成时,此时命令队列中的队列元素为空,无需再对一个或多个命令队列中的队列元素进行处理。因此,当更新请求为对存储器中预定地址范围的更新时,监控电路320还用于从存储器中读取与更新请求相对应的命令队列的队首指针或队尾指针,并判断该命令队列的队首指针与队尾指针是否相同,如果是,则将状态寄存器310中对应于该命令队列的状态位复位,以指示命令队列中的元素为空。在一个或多个命令队列的状态位复位后,不再处理一个或多个命令队列中的队列元素。应当理解,如果一个或多个命令队列的队首指针与队尾指针不同,则仍将状态寄存器310中对应于一个或多个命令队列的状态位置位。
根据本发明实施例的命令队列监控电路,通过截获存储器的更新请求,并在判断更新请求为对存储器中预定地址范围的更新时,将状态寄存器中对应于预定地址范围的命令队列的状态位置位,从而能够依据状态位对队首指针和队尾指针不同的命令队列中的队列元素进行处理,由此,可方便地识别出需要进行数据处理的命令队列,并避免了因监测队首指针和队尾指针而导致的延时,减小了存储设备中处理器的负担,进一步提高了数据交换效率。
此外,如图4所示,根据本发明实施例的命令队列监控电路,监控电路320可包括第一监控组件321和监控单元322。第一监控组件321用于判断更新请求是否为对存储器中预定地址范围内的命令队列的队尾指针的更新请求,如果是,则产生命中指示信号。监控单元322可响应于接收到命中指示信号,向处理器发送中断请求,以使处理器根据中断请求处理一个或多个命令队列中的队列元素。
具体地,当更新请求为对存储器中预定地址范围内的命令队列的队尾指针的更新请求时,第一监控组件321可向监控单元322发送命中指示,以告知监控单元322来自主机的存储器更新请求命中了队尾指针存储位置。因而监控单元322将知晓队尾指针被更新。第一监控组件321还基于主机发出的更新命令队列的队尾指针的请求来向存储器执行写入操作。在一个实施例中,响应于队尾指针被更新,监控单元322更新同该队尾指针的队列相对应的状态位,以指示处理器响应队列中有队列元素需要处理。监控单元322可向处理器发送中断来告知处理器命令队列中有队列元素需要处理。在本发明的另一个实施例中,响应于队尾值被更新,监控电路320从存储器中读取同该队尾指针相对应的队首指针,并判断队尾指针与队首指针是否相同。如果队尾指针与队首指针不同,监控电路320更新同该队尾指针的队列相对应的状态位,以指示处理器相应命令队列中有队列元素需要处理。
在本发明的一个实施例中,处理器还可用于轮询状态寄存器310中存储的对应于每个命令队列的状态位,并在判断一个或多个命令队列的状态位置位时,处理一个或多个命令队列中的队列元素。
当不再向一个或多个命令队列中写入数据,同时一个或多个命令队列中的队列元素被读取完成时,此时命令队列中的队列元素为空,无需再对一个或多个命令队列中的队列元素进行处理。因此,如图4所示,通过第二监控组件323判断更新请求是否为对存储器中预定地址范围内的命令队列的队首指针的更新请求,如果是,则进一步判断该命令队列的队首指针是否与队尾指针相同,如果是,则将该命令队列对应的状态位复位,以指示命令队列中的元素为空。在命令队列的状态位复位后,不再处理该命令队列中的队列元素。
下面将结合第一监控组件和第二监控组件的原理图详细描述其工作流程。
图5为根据本发明一个实施例的第一监控组件321的原理图。如图5所示,第一监控组件321可包括缓存单元11、第一状态机12、第一比较单元13和第一执行单元14。第一监控组件321监控从主机到存储器的数据写入请求。
在本发明的一个实施例中,主机可通过缓存向一个或多个命令队列的队尾/队首指针的存储位置中写入数据。第一监控组件321通过缓存单元11缓存来自主机的数据写入请求。缓存单元11是可选的。缓存来自主机的数据写入请求,可更早地向主机返回数据写入成功的指示,以提升对数据写入请求的处理速度。按照先进先出的方式缓存来自主机的数据写入请求。
第一状态机12通过第一比较单元13判断主机的数据写入请求中的地址是否位于用于存储一个或多个命令队列的队尾/队首指针的地址范围内。例如,第一比较单元13比较来自主机的数据写入请求中的地址的高位与一个或多个命令队列队首/队尾指针存储空间的基地址进行比较。若主机的数据写入请求中的地址位于上述地址范围内,则可判断主机更新一个或多个命令队列的队尾指针,第一比较单元13产生指示命中的信号,并发送给监控单元322(参看图4)。这里假定主机对命令队列队首/队尾指针的写操作总是对指针进行增量更新。
第一执行单元14将队尾指针的新值写入存储器,以完成对来自主机的数据写入请求的执行。在一个例子中,第一执行单元14的执行不依赖于第一比较单元13的比较结果。即使来自主机的数据写入请求的地址不在用于存储一个或多个命令队列的队尾/队首指针的地址范围内,第一执行单元14依然执行对存储器的写入操作。需要指出的是,第一执行单元14是可选的。在一个例子中,第一监控组件321不包括第一执行单元,第一比较单元13捕获发送给存储器的数据写入请求,而不干预对存储器的数据写入请求。
继续参看图4,响应于接收到第一比较单元13的指示命中的信号,监控电路320更新状态位。监控电路320利用从来自主机的数据写入请求的地址中确定的命令队列的队列号,更新与该队列号相对应的命令队列的状态位。在一个例子中,监控电路320从第一状态机12接收命令队列的队列号,并利用该队列号更新与该队列号相对应的命令队列的状态位。
下面描述第一监控组件321的工作流程。在系统上电或复位后,第一监控组件321处于空闲状态,并等待来自主机的数据写入请求。在收到来自主机的数据写入请求后,第一比较单元13确定数据写入请求中的地址是否位于用于存储一个或多个命令队列的队尾/队首指针的地址范围内,并相应地向监控单元322发送指示命中的信号。第一监控组件321还接收来自监控单元322返回的应答信号。在收到监控单元322返回的应答信号后,第一监控组件321返回空闲状态。
继续参看图4,根据本发明实施例的监控电路320连同状态寄存器310、处理器以及存储器,构成了根据本发明实施例的数据处理电路。监控电路320同主机、处理器以及存储器相耦合。处理器还耦合到状态寄存器310。第一监控组件321捕获主机对存储器的访问请求;第二监控组件323捕获处理器对存储器的访问请求。根据本发明的数据处理电路可实现为集成电路或IP核,用于处理主机与设备之间根据NVMe协议的数据交换。例如,主机根据NVMe协议向存储器写入命令队列的队尾值。监控电路320更新状态寄存器310以指示命令队列的队尾值与队首值不同。基于状态寄存器310向处理器发出中断,或由处理器查询状态寄存器310,并对相应命令队列进行处理。在又一个例子中,处理器根据NVMe协议向存储器写入命令队列的队首值。监控电路320更新状态寄存器310以指示命令队列的队尾值与队首值是否相同。
在依然又一个实施例中,继续参看图4,根据本发明实施例的监控电路320连同状态寄存器310、处理器、存储器以及主机,构成了根据本发明实施例的数据处理系统。监控电路320同主机、处理器以及存储器相耦合。处理器还耦合到状态寄存器310。第一监控组件321捕获主机对存储器的访问请求;第二监控组件323捕获处理器对存储器的访问请求。根据本发明的数据处理系统,在处理主机与设备之间根据NVMe协议进行数据交换。
图6为根据本发明一个实施例的第二监控组件323的原理图。如图6所示,第二监控组件323可包括第二状态机31、第二比较单元32和第二执行单元33。第二监控组件323监控从处理器(参看图4)到存储器的数据写入请求。
处理器对存储器的数据写入请求被第二监控组件323截获。在第二监控组件323的第二状态机31的控制下,第二比较单元32判断数据访问请求中的地址是否位于用于存储一个或多个命令队列的队尾/队首指针的地址范围内。如果一致,则可确定处理器要更新一个或多个命令队列的队首/队尾指针。相应地,第二比较单元32产生指示命中的信号,并发送给监控单元322(参看图4)。
第二执行单元33将队首/队尾指针的新值写入存储器,以完成对来自处理器的数据写入请求的执行。在一个例子中,第二执行单元33的执行不依赖于第二比较单元32的比较结果。即使来自处理器的数据写入请求的地址不在用于存储一个或多个命令队列的队尾/队首指针的地址范围内,第二执行单元33依然执行对存储器的写入操作。
监控电路320(参看图4)收到第二比较单元32的指示命中的信号后,判断是否需要更新与命令队列相关联的状态位。
在一个实施例中,第二监控组件323不提供缓存单元。第二监控组件323接收到来自监控单元322的应答,以及完成对存储器的写入操作后,通知处理器数据写入请求执行完成。
在又一个实施例中,第二监控组件323不提供第二执行单元33。第二比较单元32捕获发送给存储器的数据写入请求,而不干预对存储器的数据写入请求。
在根据本发明的又一个实施例中,第二状态机31将数据写入请求所对应的命令队列的队列号发送给监控单元322。第二状态机31还将来自处理器的要更新的队首值发送给监控单元322。
相应地,监控单元322响应于接收到来自第二比较单元33的指示命中的信号,依据接收的命令队列的队列号,从存储器中读取相应的队尾值,比较来自第二状态机31的队首值与来自存储器的队尾值是否相同。若相同,监控电路320将同该队列号相对应的状态位复位;若不同,监控电路320使同该队列号相对应的状态位保持置位。
由此,可在监测到命令队列的队尾指针被更新时,通过监控组件和监控器的请求,或通过处理器轮询状态位,以使处理器处理一个或多个命令队列中的队列元素,从而能够在第一时间知晓队尾指针被更新,避免了反复查询设备中的每个命令队列的队首指针与队尾指针,减小了存储设备中的存储带宽占用,降低了监测延时,从而使设备能够及时处理数据,进一步提高了数据交换效率,同时,能够防止因监测延时而导致的状态位信息不对应,提高了监测的正确率。
图7为根据本发明一个实施例的数据交换方法的流程图。
如图7所示,本发明实施例的数据交换方法,包括以下步骤:
S701,监测存储器中的命令队列的队首指针和队尾指针,其中,由状态位指示命令队列的状态。
在本发明的一个实施例中,命令队列可存储于主机中,队首指针和队尾指针可存储于设备中,其中,命令队列的个数通常为多个,如1024个,但是可以理解的是,命令队列的个数可根据实际需要进行配置。在主机和设备之间进行数据交换的过程中,队首指针和/或队尾指针会发生改变。具体地,若主机将数据写入一个或多个命令队列,则一个或多个命令队列的队尾指针也会被更新;若设备从一个或多个命令队列读取一个或多个命令队列中的队列元素,则一个或多个命令队列的队首指针也会被相应更新。
在本发明的一个实施例中,命令队列可与状态位相对应,从而在后续的步骤中,可根据命令队列的状态位判断是否需要处理该命令队列中的元素。
S702,判断命令队列的队首指针和队尾指针是否相同。
S703,如果一个或多个命令队列的队首指针和队尾指针不同,则将一个或多个命令队列对应的状态位置位。例如将状态位置为1。
S704,处理一个或多个命令队列中的队列元素。
应当理解,当一个或多个命令队列的队首指针和队尾指针不同时,则可判断出一个或多个命令队列中存在需要被处理的队列元素,亦即设备可以从一个或多个命令队列读取队列元素。
在本发明的一个实施例中,当一个或多个命令队列的状态位被置位时,可生成中断请求,从而可根据中断请求处理一个或多个命令队列中的队列元素。在另一个实施例中,处理器可查询或轮询一个或多个命令队列的状态位,从而可根据状态位的信息处理一个或多个命令队列中的队列元素。
在本发明的一个实施例中,设备从一个或多个命令队列读取一个或多个命令队列中的队列元素后,会更新一个或多个命令队列的队首指针。当不再向一个或多个命令队列中写入数据,同时一个或多个命令队列中的队列元素被读取完成时,无需再对一个或多个命令队列中的队列元素进行处理。因此,根据本发明实施例的用于主机和设备之间的数据交换方法,还可包括:更新一个或多个命令队列的队首指针,并判断一个或多个命令队列的队首指针和队尾指针是否相同,如果是,则将一个或多个命令队列的状态位复位。在一个或多个命令队列的状态位复位后,不再处理一个或多个命令队列中的队列元素。
根据本发明实施例的数据交换方法,通过监测存储器中命令队列的队首指针和队尾指针,并可将队首指针和队尾指针不同的命令队列对应的状态位置位,然后依据状态位,对队首指针和队尾指针不同的命令队列中的队列元素进行处理,由此,可方便地识别出需要进行数据处理的命令队列,减小了存储设备中处理器的负担,提高了数据交换效率。
在步骤S701中,如图2所示,假设主机中有队列0至队列1023,共1024个命令队列,可通过反复查询设备中的用于存储每个命令队列的队首指针和队尾指针的存储空间或寄存器来监测每个命令队列的队首指针和队尾指针。
如前文所述,在主机和设备之间的数据交换的过程中,可将数据写入一个或多个命令队列,并更新一个或多个命令队列的队尾指针。在一个例子中,将数据写入缓存中,并将写入在缓存中的数据写入一个或多个命令队列。除通过队首指针和队尾指针外,还可通过对地址的更新判断是否要对一个或多个命令队列中的队列元素进行处理,因此,在本发明的一个实施例中,还可监测存储器的更新请求是否为对存储器中预定地址范围的更新。
具体地,可截获对存储器的更新请求,并判断更新请求是否为对存储器中预定地址范围的更新,如果是,则将状态寄存器中对应于预定地址范围的一个或多个命令队列的状态位置位,并处理一个或多个命令队列的队列元素。
当不再向一个或多个命令队列中写入数据,同时一个或多个命令队列中的队列元素被读取完成时,此时命令队列中的队列元素为空,无需再对一个或多个命令队列中的队列元素进行处理。因此,当更新请求为对存储器中预定地址范围的更新时,从存储器中读取与更新请求相对应的一个或多个命令队列的队首指针或队尾指针,判断一个或多个命令队列的队首指针与队尾指针是否相同,如果是,则将状态寄存器中对应于一个或多个命令队列的状态位复位,以指示命令队列中的元素为空。在一个或多个命令队列的状态位复位后,不再处理一个或多个命令队列中的队列元素。
在本发明的一个实施例中,还可先判断是否更新一个或多个命令队列的队尾指针,从而能够在第一时间知晓队尾指针被更新,进而检查队尾指针与队首指针是否相同。具体地,截获主机对存储空间或寄存器的访问请求后,可判断更新请求是否为对存储器中预定地址范围内一个或多个命令队列的队尾指针的更新请求,如果是,则将状态寄存器中对应于预定地址范围的一个或多个命令队列的状态位置位。例如,通过比较访问请求中的地址与存储队尾指针的存储空间或寄存器地址之一是否相同,来判断主机更新一个或多个命令队列的队尾指针。又例如,通过比较访问请求中的地址的高位部分与存储队尾指针的存储空间的基地址是否相同,并进一步比较访问请求中的地址的低位部分是否对应于存储队尾指针的存储空间或寄存器之一,来判断主机更新一个或多个命令队列的队尾指针。
进一步地,可以缓存主机的访问请求,以在访问请求完成之前,向主机返回访问请求执行成功的消息。
在本发明的一个实施例中,在判断存储器中预定地址范围内一个或多个命令队列的队尾指针被更新时,可向处理器发送中断请求,以使处理器根据中断请求处理所述一个或多个命令队列中的队列元素。还可轮询状态寄存器中存储的对应于每个命令队列的状态位,并在判断一个或多个命令队列的状态位置位时,处理一个或多个命令队列中的队列元素。
当不再向一个或多个命令队列中写入数据,同时一个或多个命令队列中的队列元素被读取完成时,此时命令队列中的队列元素为空,无需再对一个或多个命令队列中的队列元素进行处理。因此,还可判断更新请求是否为对存储器中预定地址范围内一个或多个命令队列的队首指针的更新请求,如果是,则进一步判断一个或多个命令队列的队首指针是否与队尾指针相同,如果是,则将一个或多个命令队列对应的状态位复位,以指示命令队列中的元素为空。在一个或多个命令队列的状态位复位后,不再处理一个或多个命令队列中的队列元素。
根据本发明上述实施例的数据交换方法,在监测到命令队列的队尾指针被更新时,将队首指针与队尾指针作比较,由此,可避免反复查询设备中的每个命令队列的队首指针与队尾指针,减小了存储设备中的存储带宽占用,降低了监测延时,从而使设备能够及时处理数据,进一步提高了数据交换效率,同时,能够防止因监测延时而导致的状态位信息不对应,提高了监测的正确率。
为实现上述实施例的数据交换方法,本发明还提出一种设备。
图8为根据本发明一个实施例的设备的原理图。
如图8所示,本发明实施例的设备,包括:存储器81、监控器82和处理器83。
监控器82用于监测存储器81中的命令队列的队首指针和队尾指针,并判断命令队列的队首指针和队尾指针是否相同,如果一个或多个命令队列的队首指针和队尾指针不同,则将一个或多个命令队列对应的状态位置位;处理器83用于处理一个或多个命令队列中的队列元素。
在本发明的一个实施例中,命令队列可存储于主机中,队首指针和队尾指针可存储于设备的存储器中,其中,命令队列的个数可根据实际需要进行配置。在本发明的一个实施例中,主机还用于将数据写入一个或多个命令队列,并更新一个或多个命令队列的队尾指针;处理器83还用于从一个或多个命令队列取出一个或多个命令队列中的队列元素,并更新一个或多个命令队列的队首指针。在主机和设备之间进行数据交换的过程中,队首指针和/或队尾指针会发生改变。在本发明的另一个实施例中,设备用于将数据写入一个或多个命令队列,并更新一个或多个命令队列的队尾指针;主机还用于从一个或多个命令队列中取出一个或多个命令队列中的队列元素并更新一个或多个命令队列的队尾首针。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (9)
1.一种命令队列监控电路,其特征在于,包括:
状态寄存器,所述状态寄存器存储有对应于命令队列的状态位;
监控电路,所述监控电路耦合到存储器,所述监控电路用于读取所述存储器的预定地址范围存储的命令队列的队首指针与队尾指针,并判断所述命令队列的队首指针与队尾指针是否相同,以及在判断一个或多个命令队列的队首指针与队尾指针不同时,将所述状态寄存器中对应于所述一个或多个命令队列的状态位置位。
2.根据权利要求1所述的命令队列监控电路,其特征在于,所述监控电路还用于在判断所述一个或多个命令队列的队首指针与队尾指针相同时,将所述状态寄存器中对应于所述一个或多个命令队列的状态位复位。
3.一种命令队列监控电路,其特征在于,包括:
状态寄存器,所述状态寄存器存储有对应于命令队列的状态位;
监控电路,所述监控电路用于截获对存储器的更新请求,并判断所述更新请求是否为对所述存储器中预定地址范围的更新,如果是,则将所述状态寄存器中对应于所述预定地址范围的命令队列的状态位置位,以及从所述存储器中读取与所述更新请求相对应的命令队列的队首指针或队尾指针,并判断所述命令队列的队首指针与队尾指针是否相同,如果是,则将所述状态寄存器中对应于所述命令队列的状态位复位。
4.根据权利要求3所述的命令队列监控电路,其特征在于,其中,当所述更新请求为对所述存储器中预定地址范围的更新时,所述监控电路还用于从所述存储器中读取与所述更新请求相对应的命令队列的队首指针或队尾指针,并判断所述命令队列的队首指针与队尾指针是否相同,如果不同,则将所述状态寄存器中对应于所述命令队列的状态位置位。
5.根据权利要求3或4所述的命令队列监控电路,其特征在于,所述监控电路包括:第一监控组件,所述第一监控组件用于判断所述更新请求是否为对所述存储器中预定地址范围内的命令队列的队尾指针的更新请求,如果是,则产生命中指示信号。
6.根据权利要求5所述的命令队列监控电路,其特征在于,所述第一监控组件还用于在判断所述存储器中预定地址范围内的命令队列的队尾指针被更新时,向处理器发送中断请求,以使所述处理器根据所述中断请求处理一个或多个命令队列中的队列元素。
7.根据权利要求5所述的命令队列监控电路,其特征在于,所述监控电路包括:监控单元,所述监控单元响应于接收到所述命中指示信号,向处理器发送中断请求,以使所述处理器根据所述中断请求处理一个或多个命令队列中的队列元素。
8.根据权利要求6或7所述的命令队列监控电路,其特征在于,所述处理器还用于轮询所述状态寄存器中存储的对应于每个命令队列的状态位,并在判断一个或多个命令队列的状态位置位时,处理所述一个或多个命令队列中的队列元素。
9.一种数据交换方法,其特征在于,包括以下步骤:
监测存储器中的命令队列的队首指针和队尾指针,其中,由状态位指示命令队列的状态;
判断命令队列的队首指针和所述队尾指针是否相同;
如果一个或多个命令队列的队首指针和队尾指针不同,则将所述一个或多个命令队列对应的状态位置位;
处理所述一个或多个命令队列中的队列元素。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010733836.8A CN111858256A (zh) | 2015-12-25 | 2015-12-25 | 命令队列监控电路、数据交换方法及其设备 |
CN201510997494.XA CN106919487B (zh) | 2015-12-25 | 2015-12-25 | NVMe门铃处理方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510997494.XA CN106919487B (zh) | 2015-12-25 | 2015-12-25 | NVMe门铃处理方法及其装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010733836.8A Division CN111858256A (zh) | 2015-12-25 | 2015-12-25 | 命令队列监控电路、数据交换方法及其设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106919487A CN106919487A (zh) | 2017-07-04 |
CN106919487B true CN106919487B (zh) | 2020-08-28 |
Family
ID=59456349
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510997494.XA Active CN106919487B (zh) | 2015-12-25 | 2015-12-25 | NVMe门铃处理方法及其装置 |
CN202010733836.8A Pending CN111858256A (zh) | 2015-12-25 | 2015-12-25 | 命令队列监控电路、数据交换方法及其设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010733836.8A Pending CN111858256A (zh) | 2015-12-25 | 2015-12-25 | 命令队列监控电路、数据交换方法及其设备 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN106919487B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145459B (zh) | 2016-03-01 | 2021-05-18 | 华为技术有限公司 | 一种级联板、ssd远程共享访问的系统和方法 |
CN114116008B (zh) * | 2022-01-26 | 2022-05-27 | 深圳佰维存储科技股份有限公司 | 命令队列管理方法、装置、可读存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101203831A (zh) * | 2005-06-23 | 2008-06-18 | 英特尔公司 | 用于增强线程级推测的原语 |
CN103336857A (zh) * | 2012-12-24 | 2013-10-02 | 国家电网公司 | 面向电力系统的微机防误操作仿真系统及其实现方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7180887B1 (en) * | 2002-01-04 | 2007-02-20 | Radisys Patent Properties | Routing and forwarding table management for network processor architectures |
US7747874B2 (en) * | 2005-06-02 | 2010-06-29 | Seagate Technology Llc | Single command payload transfers block of security functions to a storage device |
CN100432936C (zh) * | 2006-09-20 | 2008-11-12 | 华为技术有限公司 | 一种加载fpga目标程序的方法及系统 |
US8407457B2 (en) * | 2007-09-28 | 2013-03-26 | Freescale Semiconductor, Inc. | System and method for monitoring debug events |
GB2461716A (en) * | 2008-07-09 | 2010-01-13 | Advanced Risc Mach Ltd | Monitoring circuitry for monitoring accesses to addressable locations in data processing apparatus that occur between the start and end events. |
US8627017B2 (en) * | 2008-12-30 | 2014-01-07 | Intel Corporation | Read and write monitoring attributes in transactional memory (TM) systems |
DE102010003538A1 (de) * | 2010-03-31 | 2011-10-06 | Robert Bosch Gmbh | Verfahren zur Überprüfung von Signal- und Modulaktivitäten in einem Timermodul und Timermodul |
CN102346661A (zh) * | 2010-07-30 | 2012-02-08 | 国际商业机器公司 | 一种用于对硬件加速器的请求队列维护状态的方法和系统 |
GB2483509B (en) * | 2010-09-13 | 2017-08-02 | Advanced Risc Mach Ltd | Data processing apparatus, trace unit and diagnostic apparatus |
CN102122262A (zh) * | 2011-01-24 | 2011-07-13 | 武汉固捷联讯科技有限公司 | 一种用于固态存储设备的监控系统及方法 |
US9223724B2 (en) * | 2013-09-09 | 2015-12-29 | Kabushiki Kaisha Toshiba | Information processing device |
-
2015
- 2015-12-25 CN CN201510997494.XA patent/CN106919487B/zh active Active
- 2015-12-25 CN CN202010733836.8A patent/CN111858256A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101203831A (zh) * | 2005-06-23 | 2008-06-18 | 英特尔公司 | 用于增强线程级推测的原语 |
CN103336857A (zh) * | 2012-12-24 | 2013-10-02 | 国家电网公司 | 面向电力系统的微机防误操作仿真系统及其实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111858256A (zh) | 2020-10-30 |
CN106919487A (zh) | 2017-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8516163B2 (en) | Hardware-based concurrent direct memory access (DMA) engines on serial rapid input/output SRIO interface | |
US9317434B2 (en) | Managing out-of-order memory command execution from multiple queues while maintaining data coherency | |
US11412042B2 (en) | Remote NVMe activation | |
US20180113615A1 (en) | Storage device generating adaptive interrupt and operating method thereof | |
US9563367B2 (en) | Latency command processing for solid state drive interface protocol | |
CN110737536B (zh) | 一种基于共享内存的消息存储方法和消息读取方法 | |
CN108156823B (zh) | 一种闪存介质的访问方法及控制器 | |
US10528414B2 (en) | Centralized error handling in application specific integrated circuits | |
CN111488304B (zh) | 接口转接电路 | |
CN110858188A (zh) | 具有分布式信箱结构的多处理器系统及其沟通方法 | |
CN111538694B (zh) | 一种用于网络接口支持多链接和重传的数据缓存方法 | |
CN106919487B (zh) | NVMe门铃处理方法及其装置 | |
CN117120994A (zh) | 消息传递电路和方法 | |
CN109614264B (zh) | 一种数据备份方法、装置及系统 | |
KR102454695B1 (ko) | 캐시 장치, 캐시, 시스템, 데이터 처리 방법, 장치 및 매체 | |
CN114116556A (zh) | 一种动态分配队列缓存的方法、系统、存储介质及设备 | |
US10733118B2 (en) | Computer system, communication device, and storage control method with DMA transfer of data | |
CN107153580B (zh) | 获取队列精确状态的装置及其方法 | |
JPH0196750A (ja) | データ処理システム | |
US20170147517A1 (en) | Direct memory access system using available descriptor mechanism and/or pre-fetch mechanism and associated direct memory access method | |
CN112732176B (zh) | 基于fpga的ssd访问方法及装置、存储系统及存储介质 | |
JP7363344B2 (ja) | メモリ制御装置、および制御方法 | |
CN117591023A (zh) | 一种基于硬件卸载的分散聚集列表查询写入读取方法及装置 | |
CN117687692A (zh) | 一种nvme命令处理装置、方法、设备及介质 | |
CN115982068A (zh) | 数据处理方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EC01 | Cancellation of recordation of patent licensing contract |
Assignee: BEIJING MEMBLAZE TECHNOLOGY Co.,Ltd. Assignor: Shanghai Pleiades Microelectronics Co.,Ltd. Contract record no.: 2016110000016 Date of cancellation: 20211026 |
|
EC01 | Cancellation of recordation of patent licensing contract |