CN116303130B - 存储设备异步事件上报方法及其应用设备 - Google Patents
存储设备异步事件上报方法及其应用设备 Download PDFInfo
- Publication number
- CN116303130B CN116303130B CN202310549092.8A CN202310549092A CN116303130B CN 116303130 B CN116303130 B CN 116303130B CN 202310549092 A CN202310549092 A CN 202310549092A CN 116303130 B CN116303130 B CN 116303130B
- Authority
- CN
- China
- Prior art keywords
- queue
- event
- storage device
- asynchronous
- address
- 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
- 238000000034 method Methods 0.000 title claims abstract description 80
- 230000008569 process Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 13
- 238000013500 data storage Methods 0.000 claims description 10
- 230000003993 interaction Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 14
- 230000007246 mechanism Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0853—Cache with multiport tag or data arrays
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了存储设备异步事件上报方法及其应用设备,涉及计算机系统及网络交互技术领域;包括主机设备在初始化时,读取非易失性内存主机控制器接口规范存储设备的事件队列参数;依据队列深度和单个事件长度创建事件队列,事件队列包括队列地址;将队列地址发送至非易失性内存主机控制器接口规范存储设备;非易失性内存主机控制器接口规范存储设备用于接收队列地址,依据队列地址同步事件队列,当存在异步事件发生时,生成异步事件信息,将异步事件信息写入事件队列,向主机设备发送与事件队列对应的中断通知;主机设备当接收到中断通知时,从事件队列中读取异步事件信息。本发明实施例提高了存储设备异步事件上报的及时性。
Description
技术领域
本发明涉及计算机系统及网络交互技术领域,特别是涉及存储设备异步事件上报方法、主机设备、非易失性内存主机控制器接口规范存储设备、数据存储系统和数据存储设备。
背景技术
目前主机设备和基于NVME(Non Volatile Memory Express,非易失性内存主机控制器接口规范)协议的存储设备通信,必须通过位于主机内存的指令队列完成。主机需要将存储设备执行的指令放入SQ(Submission Queue,NVMe协议指令提交队列)队列中,然后通知存储设备设备读取指令,存储设备内部的控制器通过PCIe(peripheral componentinterconnect express,高速串行计算机扩展总线标准)消息从主机内存的SQ队列中读取指令,并在存储设备内部执行该指令,最后将执行完成的指令结果通过PCIe消息放入对应的CQ(Completion Queue,NVMe协议指令完成队列)队列中,完成一次IO(Input/Output,输入输出)交互。可见,当前的事件上报需要经过主机发送SQ队列之后,通过CQ队列进行应答才能完成,导致上报时间存在延迟,并且存储设备一段时间产生的事件过多,超过设备事件缓存池的阈值,可能导致重要事件丢失的风险。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的存储设备异步事件上报方法、存储设备异步事件上报装置、电子设备和存储介质。
在本发明的第一个方面,本发明实施例公开了一种存储设备异步事件上报方法,其特征在于,应用于主机设备,所述主机设备与非易失性内存主机控制器接口规范存储设备连接,所述方法包括:
在初始化时,读取所述非易失性内存主机控制器接口规范存储设备的事件队列参数;所述事件队列参数包括队列深度和单个事件长度;
依据所述队列深度和所述单个事件长度创建事件队列,所述事件队列包括队列地址;
将所述队列地址发送至所述非易失性内存主机控制器接口规范存储设备;
当接收到所述非易失性内存主机控制器接口规范存储设备发送的中断通知时,从所述事件队列中读取所述异步事件信息。
可选地,所述读取所述非易失性内存主机控制器接口规范存储设备的事件队列参数的步骤包括:
从所述非易失性内存主机控制器接口规范存储设备的配置空间的能力寄存器中读取所述队列深度和所述单个事件长度,确定所述队列深度和所述单个事件长度为所述事件队列参数。
可选地,所述主机设备配置有内存空间,所述依据所述队列深度和所述单个事件长度创建事件队列的步骤包括:
依据所述队列深度和所述单个事件长度,在所述内存空间中创建事件队列。
可选地,所述当接收到所述中断通知时,从所述事件队列中读取所述异步事件信息的步骤包括:
当接收到所述中断通知时,确定所述事件队列的头部指示位置;
从所述头部指示位置上,读取所述异步事件信息。
可选地,所述方法包括:
对所述异步事件信息进行处理,并更新下所述事件队列的头部寄存器。
可选地,所述非易失性内存主机控制器接口规范存储设备用于接收所述队列地址,保存所述队列地址的首地址;依据所述首地址初始化所述事件队列的头部寄存器和所述事件队列的尾部寄存器,以同步所述事件队列。
可选地,所述非易失性内存主机控制器接口规范存储设备用于当存在所述异步事件发生时,生成异步事件信息,将所述异步事件信息写入所述事件队列的尾部寄存器。
可选地,所述事件队列的优先级为最高优先级。
在本发明的第二个方面,本发明实施例公开了一种存储设备异步事件上报方法,应用于非易失性内存主机控制器接口规范存储设备,所述非易失性内存主机控制器接口规范存储设备与主机设备连接,所述方法包括:
接收所述主机设备发送的队列地址,依据所述队列地址同步所述队列地址对应的事件队列;
当存在异步事件发生时,生成异步事件信息,将所述异步事件信息写入所述事件队列;向所述主机设备发送与所述事件队列对应的中断通知;所述主机设备用于当接收到所述中断通知时,从所述事件队列中读取所述异步事件信息。
可选地,所述接收所述主机设备发送的队列地址,依据所述队列地址同步所述队列地址对应的事件队列的步骤包括:
接收所述队列地址,保存所述队列地址的首地址;
依据所述首地址初始化所述事件队列的头部寄存器和所述事件队列的尾部寄存器,以同步所述事件队列。
可选地,所述当存在异步事件发生时,生成异步事件信息,将所述异步事件信息写入所述事件队列的步骤包括:
当存在所述异步事件发生时,生成异步事件信息;
将所述异步事件信息写入所述事件队列的尾部寄存器。
可选地,所述主机设备用于从所述非易失性内存主机控制器接口规范存储设备的配置空间的能力寄存器中读取队列深度和单个事件长度,确定所述队列深度和所述单个事件长度为所述事件队列参数。
可选地,所述主机设备配置有内存空间,所述主机设备用于依据所述队列深度和所述单个事件长度,在所述内存空间中创建事件队列。
可选地,所述主机设备用于当接收到所述中断通知时,确定所述事件队列的头部指示位置;从所述头部指示位置上,读取所述异步事件信息。
可选地,所述主机设备还用于对所述异步事件信息进行处理,并更新下所述事件队列的头部寄存器。
可选地,所述事件队列的优先级为最高优先级。
在本发明的第三个方面,本发明实施例公开了一种主机设备,所述主机设备与非易失性内存主机控制器接口规范存储设备连接,所述主机设备用于在初始化时,读取所述非易失性内存主机控制器接口规范存储设备的事件队列参数;所述事件队列参数包括队列深度和单个事件长度;依据所述队列深度和所述单个事件长度创建事件队列,所述事件队列包括队列地址;将所述队列地址发送至所述非易失性内存主机控制器接口规范存储设备;当接收到所述非易失性内存主机控制器接口规范存储设备发送的中断通知时,从所述事件队列中读取所述异步事件信息。
在本发明的第四个方面,本发明实施例公开了一种非易失性内存主机控制器接口规范存储设备,所述非易失性内存主机控制器接口规范存储设备与主机设备连接,所述非易失性内存主机控制器接口规范存储设备用于接收所述主机设备发送的队列地址,依据所述队列地址同步所述队列地址对应的事件队列;当存在异步事件发生时,生成异步事件信息,将所述异步事件信息写入所述事件队列;向所述主机设备发送与所述事件队列对应的中断通知;所述主机设备用于当接收到所述中断通知时,从所述事件队列中读取所述异步事件信息。
在本发明的第五个方面,本发明实施例公开了一种数据存储系统,包括如上所述的主机设备和如上所述的非易失性内存主机控制器接口规范存储设备,所述主机设备与所述非易失性内存主机控制器接口规范存储设备连接。
在本发明的第六个方面,本发明实施例公开了一种数据存储设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的存储设备异步事件上报方法的步骤。
本发明实施例包括以下优点:
在本发明实施例通过主机设备在初始化时,读取非易失性内存主机控制器接口规范存储设备的事件队列参数;依据事件队列参数创建事件队列,事件队列包括队列地址;将队列地址发送至非易失性内存主机控制器接口规范存储设备;非易失性内存主机控制器接口规范存储设备用于接收队列地址,依据队列地址同步事件队列,当存在异步事件发生时,生成异步事件信息,将异步事件信息写入事件队列,向主机设备发送与事件队列对应的中断通知;主机设备当接收到中断通知时,从事件队列中读取异步事件信息。通过创建事件对列,将存储设备上报主机的异步事件放在事件队列中进行上传,同时通过中断读取异步事件并处理。避免了现有异步事件上报机制繁琐的请求和应答机制,提高了存储设备异步事件上报的及时性。
附图说明
图1是现有的一种SQ队列和CQ队列示例图;
图2是现有的一种主机设备内部控制队列和IO队列示意图;
图3是现有的主机设备和存储设备异步事件信息上报交互流程示意图;
图4是本发明的一种存储设备异步事件上报方法实施例的步骤流程图;
图5是本发明的另一种存储设备异步事件上报方法实施例的步骤流程图;
图6是本发明的一种存储设备异步事件上报方法示例的队列示意图;
图7是本发明的一种存储设备异步事件上报方法示例的步骤流程图;
图8是本发明的一种存储设备异步事件上报方法示例的主机设备和非易失性内存主机控制器接口规范存储设备异步事件信息上报交互流程示意图;
图9是本发明的一种数据存储系统实施例的结构框图;
图10是本发明的一种数据存储设备实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
目前,NVMe的队列个数最多支持64K(千)个, SQ命令提交队列和CQ命令完成队列是一对一或多对一关系。如图1所示,是SQ和CQ一对一的关系。
而在NVMe协议定义了两类指令,一种是控制指令,一种是IO指令。控制指令主要用来配置存储设备,IO指令主要用来读写存储设备中的Flash介质中的数据。同时也定义了两类队列,分别是控制队列和IO队列。控制指令只能提交到控制队列,IO指令只能提交到IO队列。如图2所示,控制队列只有一组SQ/CQ,IO队列可以有多组SQ/CQ。所有指令都通PCIe链路发送到存储设备。
NVMe指令基于请求和应答的同步方式实现交互,每一个请求命令都对应一个响应命令,请求命令由主机放在提交队列SQ,响应命令由存储设备的控制器放入完成队列CQ。NVMe设备中所有指令都是由主机发起请求,存储设备响应请求。对于存储设备的事件上报AER消息也是基于该方式,如图3所示,具体的交互过程为:
1、主机在初始化完成后,会向存储设备发送AER请求的控制命令。
2、存储设备收到AER请求后,检测事件缓存池是否有事件要上报,如果有事件要上报,则向主机发送一条AER事件消息。
3、如果存储设备事件缓存池没有事件,则等待事件发生后,再向主机发送AER(Asynchronous Event Request,异步事件上报)消息。
4、主机收到AER消息后,进行处理。
5、主机处理完AER消息后,为了再次接收设备的AER消息,会再次向存储设备发送一个AER请求,然后跳到步骤2,如此循环。
可见,在当前的事件上报中,当存储设备有事件需要上报主机时,首先需要接收到来自主机的AER请求,如果没有收到主机的AER请求,设备事件将被暂存在设备的事件缓存池中。这样导致设备事件不会及时上报主机。由于存储设备上报主机的AER消息使用控制命令的ACQ队列,ACQ队列中如果存在过多控制命令完成指令,导致主机不会及时处理AER消息。主机为了接收所有设备上报的AER消息,需要为每个AER消息发送一条请求命令,该命令无任何参数,该操作会占用控制命令的队列,在高IO吞吐率情况下会消耗PCIe链路资源和设备的控制器资源。如果主机没有发送AER的请求,那么存储设备永远不会向主机上报AER事件。如果主机长时间没有发送AER请求,或者存储设备一段时间产生的事件过多,超过设备事件缓存池的阈值,可能导致重要事件丢失的风险。
参照图4,示出了本发明的一种存储设备异步事件上报方法实施例的步骤流程图,所述存储设备异步事件上报方法应用于主机设备,所述主机设备与非易失性内存主机控制器接口规范存储设备连接。所述存储设备异步事件上报方法具体可以包括如下步骤:
步骤401,在初始化时,读取所述非易失性内存主机控制器接口规范存储设备的事件队列参数;所述事件队列参数包括队列深度和单个事件长度;
在本发明实施例中,在主机设备初始化时,主机设备读取非易失性内存主机控制器接口规范存储设备的事件队列参数;以此确定非易失性内存主机控制器接口规范存储设备针对事件进行上报的能力。其中,事件队列参数包括队列深度和单个事件长度。队列深度可以指事件队列支持的深度。单个事件长度为单个事件消息的大小。
在本发明的一可选实施例中,所述读取所述非易失性内存主机控制器接口规范存储设备的事件队列参数的步骤包括:
子步骤S4011,从所述非易失性内存主机控制器接口规范存储设备的配置空间的能力寄存器中读取所述队列深度和所述单个事件长度,确定所述队列深度和所述单个事件长度为所述事件队列参数。
具体地,可以从非易失性内存主机控制器接口规范存储设备的配置空间的能力寄存器中读取队列深度和单个事件长度,并且确定队列深度和单个事件长度为事件队列参数,以使得可以创建事件队列。
步骤402,依据所述队列深度和所述单个事件长度创建事件队列,所述事件队列包括队列地址;
在得到事件队列参数后,可以基于队列深度和单个事件长度创建出事件队列。其中,事件队列为存储设备向主机设备上报事件的队列。在事件队列中包括队列地址,该队列地址可以采用首地址进行表示。
此外,事件队列的优先级可以为最高优先级,即事件队列的优先级高于控制队列和IO队列。
具体地,述主机设备配置有内存空间,所述依据所述事件队列参数创建事件队列的步骤包括:
子步骤S402依据所述队列深度和所述单个事件长度,在所述内存空间中创建事件队列。
在实际应用中,可以在主机设备的内存空间中,依据队列深度和单个时间长度创建事件队列,事件队列的队列地址即可以至主机设备对应的内存地址。
步骤403,将所述队列地址发送至所述非易失性内存主机控制器接口规范存储设备;
主机设备可以将队列地址通过与非易失性内存主机控制器接口规范存储设备连接的通信接口发送至非易失性内存主机控制器接口规范存储设备。
非易失性内存主机控制器接口规范存储设备接收该队列地址,依据该队列地址对事件队列进行同步。并且当存在异步事件发生时,非易失性内存主机控制器接口规范存储设备依据该异步事件,生成对应的异步事件信息,将异步事件信息写入事件队列,向主机设备发送与事件队列对应的中断通知,以通知主机设备。其中,异步事件可以是错误信息的上报,实时反馈命令等。
步骤404,当接收到所述非易失性内存主机控制器接口规范存储设备发送的中断通知时,从所述事件队列中读取所述异步事件信息。
当主机设备接收到终端通知时,从事件队列中读取非易失性内存主机控制器接口规范存储设备写入的异步事件信息,从而及时且以较少的资源即可获取到非易失性内存主机控制器接口规范存储设备上报的异步事件信息。
在本发明的一可选实施例中,所述当接收到所述中断通知时,从所述事件队列中读取所述异步事件信息的步骤包括:
子步骤S4041,当接收到所述中断通知时,确定所述事件队列的头部指示位置;
子步骤S4042,从所述头部指示位置上,读取所述异步事件信息。
当主机设备接收到终端通知时,首先在事件队列中,确定其头部(head)信息指示的位置,即头部指示位置。然后从头部指示位置上,读取相应的数据,得到异步事件信息。
在发明的一可选实施例中,所述方法还包括:
步骤S1,对所述异步事件信息进行处理,并更新下所述事件队列的头部寄存器。
主机设备在接收到异步事件信息后,可以对异步事件信息,并在处理完成后,对事件队列的头部寄存器进行更新,以使非易失性内存主机控制器接口规范存储设备可获取到处理结果。
在本发明的一可选实施例中,所述非易失性内存主机控制器接口规范存储设备用于接收所述队列地址,保存所述队列地址的首地址;依据所述首地址初始化所述事件队列的头部寄存器和所述事件队列的尾部寄存器,以同步所述事件队列。
在本发明实施例中,非易失性内存主机控制器接口规范存储设备对于事件队列的同步可以在接收到队列地址后,保存队列地址的首地址,基于首地址初始化事件队列的头部寄存器和事件队列的尾部寄存器,进而可以在后续有头部寄存器或尾部寄存器更新即知道事件队列存在更新,获取数据以进行同步。
在本发明的一可选实施例中,所述非易失性内存主机控制器接口规范存储设备用于当存在所述异步事件发生时,生成异步事件信息,将所述异步事件信息写入所述事件队列的尾部寄存器。
在本发明实施例中,非易失性内存主机控制器接口规范存储设备在异步事件发生时,会根据异步事件生成异步事件信息,将异步事件信息写入事件队列的尾部寄存器中进行上报。
在本发明实施例通过主机设备在初始化时,读取非易失性内存主机控制器接口规范存储设备的事件队列参数;依据事件队列参数创建事件队列,事件队列包括队列地址;将队列地址发送至非易失性内存主机控制器接口规范存储设备;非易失性内存主机控制器接口规范存储设备用于接收队列地址,依据队列地址同步事件队列,当存在异步事件发生时,生成异步事件信息,将异步事件信息写入事件队列,向主机设备发送与事件队列对应的中断通知;主机设备当接收到中断通知时,从事件队列中读取异步事件信息。通过创建事件对列,将存储设备上报主机的异步事件放在事件队列中进行上传,同时通过中断读取异步事件并处理。避免了现有异步事件上报机制繁琐的请求和应答机制,提高了存储设备异步事件上报的及时性。并且可以通过事件队列直接上报,降低了非易失性内存主机控制器接口规范存储设备对PCIe链路的消耗,特别是高吞吐率场景下,使得信息处理效率得到提高,并且单独采用事件队列进行上报,降低了对ASQ控制命令队列资源和控制器资源占用,进一步提高运行效率。
参照图5,示出了本发明的一种存储设备异步事件上报方法实施例的步骤流程图,所述存储设备异步事件上报方法应用于非易失性内存主机控制器接口规范存储设备,所述非易失性内存主机控制器接口规范存储设备与主机设备连接。其中所述主机设备用于在初始化时,读取所述非易失性内存主机控制器接口规范存储设备的事件队列参数;依据所述事件队列参数创建事件队列,所述事件队列包括队列地址;将所述队列地址发送至所述非易失性内存主机控制器接口规范存储设备。对于主机设备的处理流程可以参照上述实施例,在本发明实施例不再赘述。
所述存储设备异步事件上报方法具体可以包括如下步骤:
步骤501,接收所述主机设备发送的队列地址,依据所述队列地址同步所述队列地址对应的事件队列;
在本发明实施例中,非易失性内存主机控制器接口规范存储设备接收到主机设备发送的队列地址后,依据队列地址同步事件队列,以使得后续可以在事件队列中写入信息。其中,事件队列的优先级可以为最高优先级,即事件队列的优先级高于控制队列和IO队列。
在本发明的一可选实施例中,所述接收所述队列地址,依据所述队列地址同步所述事件队列的步骤包括:
子步骤S5011,接收所述队列地址,保存所述队列地址的首地址;
子步骤S5012,依据所述首地址初始化所述事件队列的头部寄存器和所述事件队列的尾部寄存器,以同步所述事件队列。
在接收到队列地址后,可以对队列地址的首地址进行保存,保存至非易失性内存主机控制器接口规范存储设备自身的存储空间中。然后依据首地址确定到事件队列的头部(head)寄存器和尾部(tail)寄存器,对头部寄存器和尾部寄存器进行初始化,以同步事件队列。
步骤502,当存在异步事件发生时,生成异步事件信息,将所述异步事件信息写入所述事件队列;向所述主机设备发送与所述事件队列对应的中断通知;所述主机设备还用于当接收到所述中断通知时,从所述事件队列中读取所述异步事件信息。
当非易失性内存主机控制器接口规范存储设备自身发送需要上报的事件时,即确定存在异步事件发。依据发生的异步事件,生成异步事件信息。再将异步事件信息写入事件队列中;并且写入后向主机设备发送与事件队列对应的中断通知,通知主机设备有上报的异步事件。
主机设备则当接收到中断通知时,从事件队列中读取异步事件信息。
在本发明的一可选实施例中,所述当存在异步事件发生时,生成异步事件信息,将所述异步事件信息写入所述事件队列的步骤包括:
子步骤S5021,当存在所述异步事件发生时,生成异步事件信息;
子步骤S5022,将所述异步事件信息写入所述事件队列的尾部寄存器。
在本发明实施例中,当存在异步事件发生时,依据发生的异步事件,对其进行记录生成异步事件信息;然后在将异步事件信息写入到事件队列的尾部寄存器,更新事件队列的尾部寄存器的值,以进行上报。
在本发明的一可选实施例中,所述主机设备用于从所述非易失性内存主机控制器接口规范存储设备的配置空间的能力寄存器中读取队列深度和单个事件长度,确定所述队列深度和所述单个事件长度为所述事件队列参数。
在本发明的一可选实施例中,所述主机设备配置有内存空间,所述主机设备用于依据所述队列深度和所述单个事件长度,在所述内存空间中创建事件队列。
在本发明的一可选实施例中,所述主机设备用于当接收到所述中断通知时,确定所述事件队列的头部指示位置;从所述头部指示位置上,读取所述异步事件信息。
在本发明的一可选实施例中,所述主机设备还用于对所述异步事件信息进行处理,并更新下所述事件队列的头部寄存器。
对于主机设备的处理流程可以参照上述实施例,在本发明实施例不再赘述。
在本发明实施例通过主机设备在初始化时,读取非易失性内存主机控制器接口规范存储设备的事件队列参数;依据事件队列参数创建事件队列,事件队列包括队列地址;将队列地址发送至非易失性内存主机控制器接口规范存储设备;非易失性内存主机控制器接口规范存储设备用于接收队列地址,依据队列地址同步事件队列,当存在异步事件发生时,生成异步事件信息,将异步事件信息写入事件队列,向主机设备发送与事件队列对应的中断通知;主机设备当接收到中断通知时,从事件队列中读取异步事件信息。通过创建事件对列,将存储设备上报主机的异步事件放在事件队列中进行上传,同时通过中断读取异步事件并处理。避免了现有异步事件上报机制繁琐的请求和应答机制,提高了存储设备异步事件上报的及时性。并且可以通过事件队列直接上报,降低了非易失性内存主机控制器接口规范存储设备对PCIe链路的消耗,特别是高吞吐率场景下,使得信息处理效率得到提高,并且单独采用事件队列进行上报,降低了对ASQ控制命令队列资源和控制器资源占用,进一步提高运行效率。
为了使本领域技术人员能够更好地理解本发明实施例,下面通过一个例子对本发明实施例加以说明:
在本示例中,增加了事件队列后,主机设备的队列可以参照图6,事件队列独立于IO命令和控制指令。
参照图7,示出了本发明的一种存储设备异步事件上报方法示例的步骤流程图;参照图8,示出了本发明的一种存储设备异步事件上报方法示例的主机设备和非易失性内存主机控制器接口规范存储设备异步事件信息上报交互流程示意图;存储设备异步事件上报方法的执行过程如下:其中,非易失性内存主机控制器接口规范存储设备简称为存储设备。
1、主机设备在初始化阶段从存储设备的配置空间的能力寄存器中读取事件队列支持的深度和单个事件消息的大小。
2、主机设备在初始化阶段根据事件队列的深度和单个事件大小在内存中创建事件队列。
3、主机设备在创建事件队列成功后,将队列的首地址写在存储设备配置空间的控制寄存器中。
4、存储设备通过中断接收到主机写入的事件队列的首地址,保存在设备内部。
5、存储设备初始化事件队列的两个寄存器为初始值0,两个寄存器表示队列中元素的索引,称为head(头)和tail(尾),存储设备向队列中添加元素后更新tail的值,主机从队列中取走元素后更新head的值,以此同步主机和存储设备对事件队列的操作。
6、当存储设备有事件发生,存储设备构造AER消息,将AER消息写入事件队列中tail指示的位置,然后更新tail。
7、存储设备发送中断通知主机事件队列AER消息上报。
8、主机设备收到事件队列产生的中断,从事件队列的head指示的位置读取所有AER事件并处理,然后更新head寄存器。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
本发明实施例还公开了一种主机设备,所述主机设备与非易失性内存主机控制器接口规范存储设备连接,所述主机设备用于在初始化时,读取所述非易失性内存主机控制器接口规范存储设备的事件队列参数;所述事件队列参数包括队列深度和单个事件长度;依据所述队列深度和所述单个事件长度创建事件队列,所述事件队列包括队列地址;将所述队列地址发送至所述非易失性内存主机控制器接口规范存储设备;当接收到所述非易失性内存主机控制器接口规范存储设备发送的中断通知时,从所述事件队列中读取所述异步事件信息。
在本发明的一可选实施例中,所述主机设备用于从所述非易失性内存主机控制器接口规范存储设备的配置空间的能力寄存器中读取队列深度和单个事件长度,确定所述队列深度和所述单个事件长度为所述事件队列参数。
在本发明的一可选实施例中,所述主机设备配置有内存空间,所述主机设备用于依据所述队列深度和所述单个事件长度,在所述内存空间中创建事件队列。
在本发明的一可选实施例中,所述主机设备中断通知子模块,用于当接收到所述中断通知时,确定所述事件队列的头部指示位置;用于从所述头部指示位置上,读取所述异步事件信息。
在本发明的一可选实施例中,所述主机设备用于对所述异步事件信息进行处理,并更新下所述事件队列的头部寄存器。
在本发明的一可选实施例中,所述非易失性内存主机控制器接口规范存储设备用于接收所述队列地址,保存所述队列地址的首地址;依据所述首地址初始化所述事件队列的头部寄存器和所述事件队列的尾部寄存器,以同步所述事件队列。
在本发明的一可选实施例中,所述非易失性内存主机控制器接口规范存储设备用于当存在所述异步事件发生时,生成异步事件信息,将所述异步事件信息写入所述事件队列的尾部寄存器。
在本发明的一可选实施例中,所述事件队列的优先级为最高优先级。
所述非易失性内存主机控制器接口规范存储设备用于接收所述队列地址,依据所述队列地址同步所述事件队列;当存在异步事件发生时,生成异步事件信息,将所述异步事件信息写入所述事件队列;向所述主机设备发送与所述事件队列对应的中断通知;所述主机设备还用于当接收到所述中断通知时,从所述事件队列中读取所述异步事件信息。
在本发明的一可选实施例中,所述非易失性内存主机控制器接口规范存储设备用于接收所述队列地址,保存所述队列地址的首地址;依据所述首地址初始化所述事件队列的头部寄存器和所述事件队列的尾部寄存器,以同步所述事件队列。
在本发明的一可选实施例中,所述非易失性内存主机控制器接口规范存储设备当存在所述异步事件发生时,生成异步事件信息;将所述异步事件信息写入所述事件队列的尾部寄存器。
在本发明的一可选实施例中,所述主机设备用于从所述非易失性内存主机控制器接口规范存储设备的配置空间的能力寄存器中读取队列深度和单个事件长度,确定所述队列深度和所述单个事件长度为所述事件队列参数。
在本发明的一可选实施例中,所述主机设备配置有内存空间,所述主机设备用于依据所述队列深度和所述单个事件长度,在所述内存空间中创建事件队列。
在本发明的一可选实施例中,所述主机设备用于当接收到所述中断通知时,确定所述事件队列的头部指示位置;从所述头部指示位置上,读取所述异步事件信息。
在本发明的一可选实施例中,所述主机设备还用于对所述异步事件信息进行处理,并更新下所述事件队列的头部寄存器。
在本发明的一可选实施例中,所述事件队列的优先级为最高优先级。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图9,本发明实施例公开了一种数据存储系统,包括如上所述的主机设备901和如上所述的非易失性内存主机控制器接口规范存储设备902,所述主机设备与所述非易失性内存主机控制器接口规范存储设备连接。
所述主机设备用于在初始化时,读取所述非易失性内存主机控制器接口规范存储设备的事件队列参数;所述事件队列参数包括队列深度和单个事件长度;依据所述队列深度和所述单个事件长度创建事件队列,所述事件队列包括队列地址;将所述队列地址发送至所述非易失性内存主机控制器接口规范存储设备;当接收到所述非易失性内存主机控制器接口规范存储设备发送的中断通知时,从所述事件队列中读取所述异步事件信息。
在本发明的一可选实施例中,所述主机设备用于从所述非易失性内存主机控制器接口规范存储设备的配置空间的能力寄存器中读取队列深度和单个事件长度,确定所述队列深度和所述单个事件长度为所述事件队列参数。
在本发明的一可选实施例中,所述主机设备配置有内存空间,所述主机设备用于依据所述队列深度和所述单个事件长度,在所述内存空间中创建事件队列。
在本发明的一可选实施例中,所述主机设备中断通知子模块,用于当接收到所述中断通知时,确定所述事件队列的头部指示位置;用于从所述头部指示位置上,读取所述异步事件信息。
在本发明的一可选实施例中,所述主机设备用于对所述异步事件信息进行处理,并更新下所述事件队列的头部寄存器。
在本发明的一可选实施例中,所述非易失性内存主机控制器接口规范存储设备用于接收所述队列地址,保存所述队列地址的首地址;依据所述首地址初始化所述事件队列的头部寄存器和所述事件队列的尾部寄存器,以同步所述事件队列。
在本发明的一可选实施例中,所述非易失性内存主机控制器接口规范存储设备用于当存在所述异步事件发生时,生成异步事件信息,将所述异步事件信息写入所述事件队列的尾部寄存器。
在本发明的一可选实施例中,所述事件队列的优先级为最高优先级。
本发明实施例公开了一种非易失性内存主机控制器接口规范存储设备,所述非易失性内存主机控制器接口规范存储设备与主机设备连接,所述主机设备用于在初始化时,读取所述非易失性内存主机控制器接口规范存储设备的事件队列参数;依据所述事件队列参数创建事件队列,所述事件队列包括队列地址;将所述队列地址发送至所述非易失性内存主机控制器接口规范存储设备;
所述非易失性内存主机控制器接口规范存储设备用于接收所述队列地址,依据所述队列地址同步所述事件队列;当存在异步事件发生时,生成异步事件信息,将所述异步事件信息写入所述事件队列;向所述主机设备发送与所述事件队列对应的中断通知;所述主机设备还用于当接收到所述中断通知时,从所述事件队列中读取所述异步事件信息。
在本发明的一可选实施例中,所述非易失性内存主机控制器接口规范存储设备用于接收所述队列地址,保存所述队列地址的首地址;依据所述首地址初始化所述事件队列的头部寄存器和所述事件队列的尾部寄存器,以同步所述事件队列。
在本发明的一可选实施例中,所述非易失性内存主机控制器接口规范存储设备当存在所述异步事件发生时,生成异步事件信息;将所述异步事件信息写入所述事件队列的尾部寄存器。
在本发明的一可选实施例中,所述主机设备用于从所述非易失性内存主机控制器接口规范存储设备的配置空间的能力寄存器中读取队列深度和单个事件长度,确定所述队列深度和所述单个事件长度为所述事件队列参数。
在本发明的一可选实施例中,所述主机设备配置有内存空间,所述主机设备用于依据所述队列深度和所述单个事件长度,在所述内存空间中创建事件队列。
在本发明的一可选实施例中,所述主机设备用于当接收到所述中断通知时,确定所述事件队列的头部指示位置;从所述头部指示位置上,读取所述异步事件信息。
在本发明的一可选实施例中,所述主机设备还用于对所述异步事件信息进行处理,并更新下所述事件队列的头部寄存器。
在本发明的一可选实施例中,所述事件队列的优先级为最高优先级。
参照图10,本发明实施例还提供了一种数据存储设备,包括:
处理器1001和存储介质1002,所述存储介质1002存储有所述处理器1001可执行的计算机程序,当电子设备运行时,所述处理器1001执行所述计算机程序,以执行如本发明实施例任一项所述的存储设备异步事件上报方法。所述存储设备异步事件上报方法包括如下两种:
第一,一种存储设备异步事件上报方法,其特征在于,应用于主机设备,所述主机设备与非易失性内存主机控制器接口规范存储设备连接,所述方法包括:
在初始化时,读取所述非易失性内存主机控制器接口规范存储设备的事件队列参数;所述事件队列参数包括队列深度和单个事件长度;
依据所述队列深度和所述单个事件长度创建事件队列,所述事件队列包括队列地址;
将所述队列地址发送至所述非易失性内存主机控制器接口规范存储设备;
当接收到所述非易失性内存主机控制器接口规范存储设备发送的中断通知时,从所述事件队列中读取所述异步事件信息。
可选地,所述读取所述非易失性内存主机控制器接口规范存储设备的事件队列参数的步骤包括:
从所述非易失性内存主机控制器接口规范存储设备的配置空间的能力寄存器中读取所述队列深度和所述单个事件长度,确定所述队列深度和所述单个事件长度为所述事件队列参数。
可选地,所述主机设备配置有内存空间,所述依据所述队列深度和所述单个事件长度创建事件队列的步骤包括:
依据所述队列深度和所述单个事件长度,在所述内存空间中创建事件队列。
可选地,所述当接收到所述中断通知时,从所述事件队列中读取所述异步事件信息的步骤包括:
当接收到所述中断通知时,确定所述事件队列的头部指示位置;
从所述头部指示位置上,读取所述异步事件信息。
可选地,所述方法包括:
对所述异步事件信息进行处理,并更新下所述事件队列的头部寄存器。
可选地,所述非易失性内存主机控制器接口规范存储设备用于接收所述队列地址,保存所述队列地址的首地址;依据所述首地址初始化所述事件队列的头部寄存器和所述事件队列的尾部寄存器,以同步所述事件队列。
可选地,所述非易失性内存主机控制器接口规范存储设备用于当存在所述异步事件发生时,生成异步事件信息,将所述异步事件信息写入所述事件队列的尾部寄存器。
可选地,所述事件队列的优先级为最高优先级。
第二,一种存储设备异步事件上报方法,应用于非易失性内存主机控制器接口规范存储设备,所述非易失性内存主机控制器接口规范存储设备与主机设备连接,所述方法包括:
接收所述主机设备发送的队列地址,依据所述队列地址同步所述队列地址对应的事件队列;
当存在异步事件发生时,生成异步事件信息,将所述异步事件信息写入所述事件队列;向所述主机设备发送与所述事件队列对应的中断通知;所述主机设备用于当接收到所述中断通知时,从所述事件队列中读取所述异步事件信息。
可选地,所述接收所述主机设备发送的队列地址,依据所述队列地址同步所述队列地址对应的事件队列的步骤包括:
接收所述队列地址,保存所述队列地址的首地址;
依据所述首地址初始化所述事件队列的头部寄存器和所述事件队列的尾部寄存器,以同步所述事件队列。
可选地,所述当存在异步事件发生时,生成异步事件信息,将所述异步事件信息写入所述事件队列的步骤包括:
当存在所述异步事件发生时,生成异步事件信息;
将所述异步事件信息写入所述事件队列的尾部寄存器。
可选地,所述主机设备用于从所述非易失性内存主机控制器接口规范存储设备的配置空间的能力寄存器中读取队列深度和单个事件长度,确定所述队列深度和所述单个事件长度为所述事件队列参数。
可选地,所述主机设备配置有内存空间,所述主机设备用于依据所述队列深度和所述单个事件长度,在所述内存空间中创建事件队列。
可选地,所述主机设备用于当接收到所述中断通知时,确定所述事件队列的头部指示位置;从所述头部指示位置上,读取所述异步事件信息。
可选地,所述主机设备还用于对所述异步事件信息进行处理,并更新下所述事件队列的头部寄存器。
可选地,所述事件队列的优先级为最高优先级。
其中,存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的存储设备异步事件上报方法及其应用设备,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (16)
1.一种存储设备异步事件上报方法,其特征在于,应用于主机设备,所述主机设备与非易失性内存主机控制器接口规范存储设备连接,所述方法包括:
在初始化时,读取所述非易失性内存主机控制器接口规范存储设备的事件队列参数;所述事件队列参数包括队列深度和单个事件长度;
依据所述队列深度和所述单个事件长度创建事件队列,所述事件队列包括队列地址;所述事件队列为所述非易失性内存主机控制器接口规范存储设备向所述主机设备上报事件的队列;所述事件队列的优先级为最高优先级;
将所述队列地址发送至所述非易失性内存主机控制器接口规范存储设备;
当接收到所述非易失性内存主机控制器接口规范存储设备发送的中断通知时,从所述事件队列中读取异步事件信息;
其中,所述当接收到所述中断通知时,从所述事件队列中读取所述异步事件信息的步骤包括:
当接收到所述中断通知时,确定所述事件队列的头部指示位置;
从所述头部指示位置上,读取所述异步事件信息。
2.根据权利要求1所述的方法,其特征在于,所述读取所述非易失性内存主机控制器接口规范存储设备的事件队列参数的步骤包括:
从所述非易失性内存主机控制器接口规范存储设备的配置空间的能力寄存器中读取所述队列深度和所述单个事件长度,确定所述队列深度和所述单个事件长度为所述事件队列参数。
3.根据权利要求2所述的方法,其特征在于,所述主机设备配置有内存空间,所述依据所述队列深度和所述单个事件长度创建事件队列的步骤包括:
依据所述队列深度和所述单个事件长度,在所述内存空间中创建事件队列。
4.根据权利要求1所述的方法,其特征在于,所述方法包括:
对所述异步事件信息进行处理,并更新下所述事件队列的头部寄存器。
5.根据权利要求1所述的方法,其特征在于,所述非易失性内存主机控制器接口规范存储设备用于接收所述队列地址,保存所述队列地址的首地址;依据所述首地址初始化所述事件队列的头部寄存器和所述事件队列的尾部寄存器,以同步所述事件队列。
6.根据权利要求5所述的方法,其特征在于,所述非易失性内存主机控制器接口规范存储设备用于当存在所述异步事件发生时,生成异步事件信息,将所述异步事件信息写入所述事件队列的尾部寄存器。
7.一种存储设备异步事件上报方法,其特征在于,应用于非易失性内存主机控制器接口规范存储设备,所述非易失性内存主机控制器接口规范存储设备与主机设备连接,所述方法包括:
接收所述主机设备发送的队列地址,依据所述队列地址同步所述队列地址对应的事件队列;所述事件队列为所述非易失性内存主机控制器接口规范存储设备向所述主机设备上报事件的队列;所述事件队列的优先级为最高优先级
当存在异步事件发生时,生成异步事件信息,将所述异步事件信息写入所述事件队列;向所述主机设备发送与所述事件队列对应的中断通知;所述主机设备用于当接收到所述中断通知时,确定所述事件队列的头部指示位置;从所述头部指示位置上,读取所述异步事件信息。
8.根据权利要求7所述的方法,其特征在于,所述接收所述主机设备发送的队列地址,依据所述队列地址同步所述队列地址对应的事件队列的步骤包括:
接收所述队列地址,保存所述队列地址的首地址;
依据所述首地址初始化所述事件队列的头部寄存器和所述事件队列的尾部寄存器,以同步所述事件队列。
9.根据权利要求8所述的方法,其特征在于,所述当存在异步事件发生时,生成异步事件信息,将所述异步事件信息写入所述事件队列的步骤包括:
当存在所述异步事件发生时,生成异步事件信息;
将所述异步事件信息写入所述事件队列的尾部寄存器。
10.根据权利要求7所述的方法,其特征在于,所述主机设备用于从所述非易失性内存主机控制器接口规范存储设备的配置空间的能力寄存器中读取队列深度和单个事件长度,确定所述队列深度和所述单个事件长度为所述事件队列参数。
11.根据权利要求10所述的方法,其特征在于,所述主机设备配置有内存空间,所述主机设备用于依据所述队列深度和所述单个事件长度,在所述内存空间中创建事件队列。
12.根据权利要求7所述的方法,其特征在于,所述主机设备还用于对所述异步事件信息进行处理,并更新下所述事件队列的头部寄存器。
13.一种主机设备,其特征在于,所述主机设备与非易失性内存主机控制器接口规范存储设备连接,所述主机设备用于在初始化时,读取所述非易失性内存主机控制器接口规范存储设备的事件队列参数;所述事件队列参数包括队列深度和单个事件长度;依据所述队列深度和所述单个事件长度创建事件队列,所述事件队列包括队列地址;将所述队列地址发送至所述非易失性内存主机控制器接口规范存储设备;当接收到中断通知时,确定所述事件队列的头部指示位置;从所述头部指示位置上,读取异步事件信息;所述事件队列为所述非易失性内存主机控制器接口规范存储设备向所述主机设备上报事件的队列所述事件队列的优先级为最高优先级。
14.一种非易失性内存主机控制器接口规范存储设备,其特征在于,所述非易失性内存主机控制器接口规范存储设备与主机设备连接,所述非易失性内存主机控制器接口规范存储设备用于接收所述主机设备发送的队列地址,依据所述队列地址同步所述队列地址对应的事件队列;当存在异步事件发生时,生成异步事件信息,将所述异步事件信息写入所述事件队列;向所述主机设备发送与所述事件队列对应的中断通知;所述主机设备用于当接收到所述中断通知时,确定所述事件队列的头部指示位置;从所述头部指示位置上,读取所述异步事件信息;所述事件队列为所述非易失性内存主机控制器接口规范存储设备向所述主机设备上报事件的队列。
15.一种数据存储系统,其特征在于,包括如权利要求13所述的主机设备和如权利要求14所述的非易失性内存主机控制器接口规范存储设备,所述主机设备与所述非易失性内存主机控制器接口规范存储设备连接。
16.一种数据存储设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项,或如权利要求7至12中任一项所述的存储设备异步事件上报方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310549092.8A CN116303130B (zh) | 2023-05-16 | 2023-05-16 | 存储设备异步事件上报方法及其应用设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310549092.8A CN116303130B (zh) | 2023-05-16 | 2023-05-16 | 存储设备异步事件上报方法及其应用设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116303130A CN116303130A (zh) | 2023-06-23 |
CN116303130B true CN116303130B (zh) | 2023-08-15 |
Family
ID=86794456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310549092.8A Active CN116303130B (zh) | 2023-05-16 | 2023-05-16 | 存储设备异步事件上报方法及其应用设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116303130B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114244790A (zh) * | 2022-02-24 | 2022-03-25 | 摩尔线程智能科技(北京)有限责任公司 | PCIe设备与主机设备的通信方法、系统及设备 |
CN115657961A (zh) * | 2022-11-11 | 2023-01-31 | 苏州浪潮智能科技有限公司 | Raid磁盘阵列管理方法、系统、电子设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102549611B1 (ko) * | 2016-04-01 | 2023-06-30 | 삼성전자주식회사 | 스토리지 장치 및 그것의 이벤트 통지 방법 |
US10466904B2 (en) * | 2017-03-24 | 2019-11-05 | Western Digital Technologies, Inc. | System and method for processing and arbitrating submission and completion queues |
US10719267B2 (en) * | 2018-05-30 | 2020-07-21 | Western Digital Technologies, Inc. | Partial reset of memory controller |
-
2023
- 2023-05-16 CN CN202310549092.8A patent/CN116303130B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114244790A (zh) * | 2022-02-24 | 2022-03-25 | 摩尔线程智能科技(北京)有限责任公司 | PCIe设备与主机设备的通信方法、系统及设备 |
CN115657961A (zh) * | 2022-11-11 | 2023-01-31 | 苏州浪潮智能科技有限公司 | Raid磁盘阵列管理方法、系统、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
NVMe存储协议浅论;郝嘉;候梦清;;信息系统工程(第03期) * |
Also Published As
Publication number | Publication date |
---|---|
CN116303130A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6316211B2 (ja) | 間隔制御複製 | |
KR102245247B1 (ko) | 트리거된 동작을 이용하는 gpu 원격 통신 | |
US11188560B2 (en) | Synchronizing object in local object storage node | |
CN113885945B (zh) | 一种计算加速方法、设备以及介质 | |
JP2002522845A (ja) | フォールトトレラント・コンピュータシステム | |
JP2010500673A (ja) | リモート・コピー・データの整合性を保持するストレージ管理システム、(ストレージ管理システム、ストレージ管理方法、およびコンピュータ・プログラム) | |
CN110647511A (zh) | 数据同步方法、计算设备及计算机存储介质 | |
JP3127523B2 (ja) | 通信制御装置およびデータ送信方法 | |
WO2019109299A1 (zh) | 内存访问技术及计算机系统 | |
CN104965727A (zh) | 一种重启服务器的方法及装置 | |
US9377966B2 (en) | Method and apparatus for efficiently processing storage commands | |
US20090010157A1 (en) | Flow control in a variable latency system | |
CN111031135A (zh) | 消息传送方法、装置及电子设备 | |
CN116303130B (zh) | 存储设备异步事件上报方法及其应用设备 | |
US9817784B2 (en) | Multi-port transmitter device for transmitting at least partly redundant data, an associated control system, an associated method and an associated computer program product | |
EP1780976A1 (en) | Methods and system to offload data processing tasks | |
WO2016090938A1 (zh) | 一种数据通信方法、装置及计算机存储介质 | |
CN104426624A (zh) | 一种图像同步显示方法及装置 | |
CN107547593B (zh) | 一种实现日志同步的方法、装置及分布式系统 | |
US20060184729A1 (en) | Device, method, and computer product for disk management | |
CN112433968B (zh) | 一种控制器共享同步方法和装置 | |
CN112052104A (zh) | 基于多机房实现的消息队列的管理方法及电子设备 | |
CN116016555A (zh) | 一种消息同步方法、装置、设备及计算机存储介质 | |
CN116601616A (zh) | 一种数据处理装置、方法及相关设备 | |
CN116542324B (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 |