CN112711442A - 一种主机命令写入方法、设备、***及可读存储介质 - Google Patents

一种主机命令写入方法、设备、***及可读存储介质 Download PDF

Info

Publication number
CN112711442A
CN112711442A CN202011601763.3A CN202011601763A CN112711442A CN 112711442 A CN112711442 A CN 112711442A CN 202011601763 A CN202011601763 A CN 202011601763A CN 112711442 A CN112711442 A CN 112711442A
Authority
CN
China
Prior art keywords
cmb
command
host
space
virtual space
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.)
Pending
Application number
CN202011601763.3A
Other languages
English (en)
Inventor
尹作刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Inspur Data Technology Co Ltd
Original Assignee
Beijing Inspur Data Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Inspur Data Technology Co Ltd filed Critical Beijing Inspur Data Technology Co Ltd
Priority to CN202011601763.3A priority Critical patent/CN112711442A/zh
Publication of CN112711442A publication Critical patent/CN112711442A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种主机命令写入方法,该方法在主机端的PCIe Memory空间中增加了CMB虚拟空间,生成NVMe对应的命令后,将命令写入至CMB虚拟空间中,同时在主控端内部增加PCIe Switch完成数据包的地址翻译映射路由动作,从而控制PCIe Switch将CMB虚拟空间中的命令写入至映射得到的主控端SSD控制器中的CMB物理空间中,这样主机端在命令写入中可以直接将提交命令写入到自身的CMB虚拟存储空间中,减少了SSD控制器从主机读取命令的动作,可以有效提高SSD性能。本发明还公开了一种主机端设备以及主控端设备、***及可读存储介质,具有相应的技术效果。

Description

一种主机命令写入方法、设备、***及可读存储介质
技术领域
本发明涉及存储技术领域,特别是涉及一种主机命令写入方法、设备、***及可读存储介质。
背景技术
随着存储***的不断发展,SSD(Solid State Disk)固态硬盘的不断的代替传统硬盘,在传统NVMe(Non-volatile Memory Express非易失内存)命令交互中,在主机内存中实现的提交队列会要求控制器到主机内存执行PCIe(peripheral componentinterconnect express,一种高速串行计算机扩展总线)的读取操作来获取队列内容。
而基于CMB(ControllerMemoryBuffer控制器内存缓存)实现的提交队列,则是主机将提交队列中的命令直接写入控制器的内部存储空间中,这样减少了一个控制器从主机读取命令的动作,可以减少命令执行的延迟。
但是,目前没有一种可以借鉴的基于CMB实现的主机命令写入方式。
综上所述,如何减少命令写入步骤、减少命令写入延迟,提出一种可行的基于CMB实现的主机命令写入方式,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种主机命令写入方法、设备、***及可读存储介质,提出了一种可行的基于CMB实现的主机命令写入方式,可以减少命令写入步骤、减少命令写入延迟。
为解决上述技术问题,本发明提供如下技术方案:
一种主机命令写入方法,包括:
主控端控制PCIe Switch监控CMB虚拟空间,确定写入至所述CMB虚拟空间中的NVMe对应的命令;其中,所述CMB虚拟空间为根据所述NVMe寄存器组定义的CMB虚拟内存空间;
控制所述PCIe Switch根据所述CMB虚拟空间与CMB物理空间之间的地址映射关系,将所述CMB虚拟空间中的所述命令写入至SSD控制器中的所述CMB物理空间中。
可选地,所述控制所述PCIe Switch根据所述CMB虚拟空间与CMB物理空间之间的地址映射关系,将所述CMB虚拟空间中的所述命令写入至SSD控制器中的所述CMB物理空间中,包括:
控制所述PCIe Switch在检测到所述CMB虚拟空间中存在命令写入后,根据所述CMB虚拟空间与CMB物理空间之间的地址映射关系,将所述CMB虚拟空间中的所述命令写入至SSD控制器中的所述CMB物理空间中。
可选地,在将所述CMB虚拟空间中的所述命令写入至SSD控制器中的所述CMB物理空间中之后,还包括:
在所述命令写入所述CMB物理空间完成后,向所述主机端反馈命令完成通知。
可选地,在向所述主机端反馈命令完成通知之后,还包括:
将所述命令从CMB物理空间写入至主机内存空间对应的地址。
一种主控端,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现所述主机命令写入方法的步骤。
一种主机命令写入方法,包括:
主机端初始化PCIe Memory空间中NVMe寄存器组;
生成NVMe对应的命令;
将所述命令写入至所述PCIe Memory空间中定义的CMB虚拟空间中,以便主控端控制PCIe Switch根据所述CMB虚拟空间与CMB物理空间之间的地址映射关系,将所述命令写入至所述主控端SSD控制器中的所述CMB物理空间中;其中,所述CMB虚拟空间为根据所述NVMe寄存器组定义的CMB虚拟内存空间。
可选地,所述主机命令写入方法还包括:
接收到命令完成通知后,将完成的命令从所述CMB虚拟空间中的发送队列移至主机内存中的提交队列。
一种主机端,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现所述主机命令写入方法的步骤。
一种主机命令写入***,包括:如上所述的主控端以及主机端;
所述主机端用于:初始化PCIe Memory空间中NVMe寄存器组;生成NVMe对应的命令;将所述命令写入至所述PCIe Memory空间中定义的CMB虚拟空间中;
所述主控端用于:控制PCIe Switch监控CMB虚拟空间,确定写入至所述CMB虚拟空间中的NVMe对应的命令;其中,所述CMB虚拟空间为根据所述NVMe寄存器组定义的CMB虚拟内存空间;控制所述PCIe Switch根据所述CMB虚拟空间与CMB物理空间之间的地址映射关系,将所述CMB虚拟空间中的所述命令写入至SSD控制器中的所述CMB物理空间中。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述主机命令写入方法的步骤。
本发明实施例所提供的方法,在主机端的PCIe Memory空间中增加了CMB虚拟空间,生成NVMe对应的命令后,将命令写入至CMB虚拟空间中,同时在主控端内部增加PCIeSwitch完成数据包的地址翻译映射路由动作,从而控制PCIe Switch完成内部CMB内存和主机端的PCIe memory的CMB虚拟空间的一一映射,将CMB虚拟空间中的命令写入至主控端SSD控制器中的CMB物理空间中,这样主机端在命令写入中可以直接将提交命令写入到自身的CMB虚拟存储空间中,减少了SSD控制器从主机读取命令的动作,可以有效提高SSD性能。
相应地,本发明实施例还提供了与上述主机命令写入方法相对应的主机端设备以及主控端设备、***和可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种主机命令写入方法的信令图;
图2为本发明实施例中一种主机端PCIe Memory空间的分布以及映射示意图;
图3为本发明实施例中一种主控端的命令写入示意图;
图4为本发明实施例中一种主机端或主控端的结构示意图;
图5为本发明实施例中一种主机命令写入***的结构示意图。
具体实施方式
本发明的核心是提供一种主机命令写入方法,提出了一种可行的基于CMB实现的主机命令写入方式,可以减少命令写入步骤、减少命令写入延迟。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例中一种主机命令写入方法的信令图,该方法包括以下步骤:
S111、主机端初始化PCIe Memory空间中NVMe寄存器组;
在主机端(Host)的PCIe Memory空间中设置NVMe寄存器组空间,用于NVMe寄存器组相关的定义和访问使用。
在与NVMe的交互前,需要首先进行NVMe驱动的加载,完成对NVMe寄存器相关的初始化,初始化的过程主要可以包括初始化NVMe提交队列和完成队列,提交队列doorbell寄存器和完成队列doorbell寄存器,本实施例中都对此不做限定,可以参照相关技术的实现。
S112、主机端生成NVMe对应的命令;
在与NVMe寄存器的交互中,需要生成并写入主控端针对NVMe对应的命令(命令可以主要包括admin提交命令和IO提交命令等),而对于NVMe命令的生成方式本实施例中不做限定,可以参照相关技术的实现方式,在此不再赘述。
S113、主机端将命令写入至PCIe Memory空间中定义的CMB虚拟空间中;
如图2所示为一种主机端PCIe Memory空间的分布以及映射示意图,在主机端的PCIe Memory空间中分配基本空间BAR(Base Address Register基址寄存器)0和BAR2的定义使用。
其中,BAR0用于NVMe寄存器组相关的定义和访问使用,因此BAR0又可以称为NVMe寄存器组空间,针对于BAR0中定义NVMe寄存器组的相关实现过程可以参照相关技术的介绍,在此不再赘述。BAR0用于NVMe寄存器组相关的定义和访问使用之外,另外还定义了CMB的BAR索引号为BAR2及支持属性为支持将提交队列保存在CMB中。
BAR2用于定义CMB的虚拟内存空间,因此又可以称为CMB虚拟空间。其中,CMB的虚拟内存空间可以以虚拟地址形式存储数据,真正的数据存储于主控端的CMB物理地址中。为实现NVMe命令的加载以及交互,CMB的虚拟内存空间根据BAR0中NVMe寄存器组定义得到。
主机端驱动可以在枚举PCIe设备时进行BAR0和BAR2地址空间的分配,及MSI-X中断表的配置,以便于后续命令写入的调用。
主机端在命令生成后,使用CMB所在的BAR2CMB虚拟空间作为提交队列的基地址,将命令写入至PCIe Memory空间中定义的CMB虚拟空间中。
需要说明的是,主机端在向提交队列下发创建其余队列时也是在CMB空间内。
S121、主控端控制PCIe Switch监控CMB虚拟空间,确定写入至CMB虚拟空间中的NVMe对应的命令;
在主控端内部,通过控制PCIe Switch对主机端中的CMB虚拟空间进行命令写入监控,从而确定主机端写入至CMB虚拟空间中的NVMe对应的命令。
S122、主控端控制PCIe Switch根据CMB虚拟空间与CMB物理空间之间的地址映射关系,将CMB虚拟空间中的命令写入至SSD控制器中的CMB物理空间中。
在传统的NVMe(提交)命令获取时,在NVMe队列创建时,每个提交队列所创建的地址使用Host(主机端)所实际分配的队列地址进行设置SubQMgr(SubQMgr在主控端中主要用于管理提交队列相关的命令,完成提交队列命令的获取和分发,其中命令的获取是基于SubQMgr的所配置的头Head指针和尾队列指针进行整个提交队列的维护)的每个队列基地址,之后Host在向提交队列下发命令时,SubQMgr通过每个队列的基地址进行PCIe读命令从host侧获取命令条目。
但本实施例中提供的基于CMB的主机命令写入方法,在NVMe驱动加载创建队列时,主机端使用CMB所在的BAR2内存空间作为提交队列的基地址,主机端在向提交队列下发创建其余队列时也是在CMB空间内,如图3所示为一种主控端的命令写入示意图,主控端的SubQMgr提交队列基地址就直接映射在CMB内,主机端在向提交队列发送命令时,直接将提交队列的条目一次性的写入到主控的CMB虚拟空间内,这样主控端的SubMgr可以直接从主控CMB内存将命令获取得到,通过内部总线分发各个CPU进行处理。
主控端(controller)控制PCIe Switch完成PCIe报文数据包的地址映射路由转发到主控端SSD控制器中的CMB物理空间中,写入至CMB的主控缓冲区,而CMB主控缓存区从主控端的内存空间中以一定大小为单位(比如64KB)进行颗粒度的分配,用于保存的命令,Host直接将命令写入到CMB区域中,与传统命令交互方式节省了一次交互和带宽。
而其中,PCIe Switch根据CMB虚拟空间与CMB物理空间之间的地址映射关系,将命令对应的数据包进行地址映射翻译(从CMB虚拟空间到CMB物理空间),将命令从主机端转发至对应的物理空间中(可以包括CMB物理空间,也可以为其他空间)。
进一步地,为了提升命令写入效率,可以控制PCIe Switch在检测到CMB虚拟空间中存在命令写入后,立即将CMB虚拟空间中的命令写入至SSD控制器中的CMB物理空间中,以提升命令写入的响应速度。
在命令写入CMB物理空间完成后,为便于主机端及时了解命令写入进度,主控端可以向主机端反馈命令写入完成(即命令完成通知)。
主机端在接收到命令完成通知之后,为加快命令处理速度,提升命令管理的规范化,主机端可以将完成的命令从CMB虚拟空间中的发送队列移至主机内存中的提交队列。
同时,在向主机端反馈命令写入完成之后,为加快命令的固化存储以及命令响应,主控端可以将命令从CMB物理空间写入至主机内存空间对应的地址。
而上述向主机端命令完成通知以及将命令从CMB物理空间写入至主机内存空间对应的地址均可以由主控端的CplMgr完成队列管理单元控制实现。
基于上述介绍,本发明实施例所提供的技术方案,在主机端的PCIe Memory空间中增加了CMB虚拟空间,生成NVMe对应的命令后,将命令写入至CMB虚拟空间中,同时在主控端内部增加PCIe Switch完成数据包的地址翻译映射路由动作,从而控制PCIe Switch完成内部CMB内存和主机端的PCIe memory的CMB虚拟空间的一一映射,将CMB虚拟空间中的命令写入至主控端SSD控制器中的CMB物理空间中,这样主机端在命令写入中可以直接将命令写入到自身的CMB虚拟存储空间中,减少了SSD控制器从主机读取命令的动作,可以有效提高SSD性能。
相应于上面的方法实施例,本发明实施例还提供了一种主控端,下文描述的一种主控端与上文描述的一种主机命令写入方法可相互对应参照。
该主控端包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述方法实施例的主机命令写入方法的步骤。
具体的,请参考图4,为本实施例提供的一种主控端的具体结构示意图,该主控端可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储器332通信,在主控端301上执行存储器332中的一系列指令操作。
主控端301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作***341。
上文所描述的主机命令写入方法中的步骤可以由实施例提供的主控端的结构实现。
相应于上面的方法实施例,本发明实施例还提供了一种主机端,下文描述的一种主机端与上文描述的一种主机命令写入方法可相互对应参照。
该主机端包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述方法实施例的主机命令写入方法的步骤。
而本实施例提供的主机端的结构可以参照上述实施例中主控端结构的介绍,即可以参照图4中结构的设置,本实施例中在此不再赘述。
相应于上面的方法实施例,本发明实施例还提供了一种主机命令写入***,该***主要包括主机端以及主控端,如图5所示为一种主机命令写入***的结构示意图。
主机端与主控端通过PCIe Switch完成命令的写入传递。
具体地,主机端用于:初始化PCIe Memory空间中NVMe寄存器组;生成NVMe对应的命令;将命令写入至PCIe Memory空间中定义的CMB虚拟空间中;
主控端用于:控制PCIe Switch监控CMB虚拟空间,确定写入至CMB虚拟空间中的NVMe对应的命令;其中,CMB虚拟空间为根据NVMe寄存器组定义的CMB虚拟内存空间;控制PCIe Switch根据CMB虚拟空间与CMB物理空间之间的地址映射关系,将CMB虚拟空间中的命令写入至SSD控制器中的CMB物理空间中。
而主机端与主控端协作完成主机命令写入的实现过程可以参照上述图1对应实施例的介绍,在此不再赘述。
相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种主机命令写入方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的主机命令写入方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

Claims (10)

1.一种主机命令写入方法,其特征在于,包括:
主控端控制PCIe Switch监控CMB虚拟空间,确定写入至所述CMB虚拟空间中的NVMe对应的命令;其中,所述CMB虚拟空间为根据所述NVMe寄存器组定义的CMB虚拟内存空间;
控制所述PCIe Switch根据所述CMB虚拟空间与CMB物理空间之间的地址映射关系,将所述CMB虚拟空间中的所述命令写入至SSD控制器中的所述CMB物理空间中。
2.根据权利要求1所述的主机命令写入方法,其特征在于,所述控制所述PCIe Switch根据所述CMB虚拟空间与CMB物理空间之间的地址映射关系,将所述CMB虚拟空间中的所述命令写入至SSD控制器中的所述CMB物理空间中,包括:
控制所述PCIe Switch在检测到所述CMB虚拟空间中存在命令写入后,根据所述CMB虚拟空间与CMB物理空间之间的地址映射关系,将所述CMB虚拟空间中的所述命令写入至SSD控制器中的所述CMB物理空间中。
3.根据权利要求1所述的主机命令写入方法,其特征在于,在将所述CMB虚拟空间中的所述命令写入至SSD控制器中的所述CMB物理空间中之后,还包括:
在所述命令写入所述CMB物理空间完成后,向所述主机端反馈命令完成通知。
4.根据权利要求3所述的主机命令写入方法,其特征在于,在向所述主机端反馈命令完成通知之后,还包括:
将所述命令从CMB物理空间写入至主机内存空间对应的地址。
5.一种主控端,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述主机命令写入方法的步骤。
6.一种主机命令写入方法,其特征在于,包括:
主机端初始化PCIe Memory空间中NVMe寄存器组;
生成NVMe对应的命令;
将所述命令写入至所述PCIe Memory空间中定义的CMB虚拟空间中,以便主控端控制PCIe Switch根据所述CMB虚拟空间与CMB物理空间之间的地址映射关系,将所述命令写入至所述主控端SSD控制器中的所述CMB物理空间中;其中,所述CMB虚拟空间为根据所述NVMe寄存器组定义的CMB虚拟内存空间。
7.根据权利要求6所述的主机命令写入方法,其特征在于,还包括:
接收到命令完成通知后,将完成的命令从所述CMB虚拟空间中的发送队列移至主机内存中的提交队列。
8.一种主机端,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求6或7所述主机命令写入方法的步骤。
9.一种主机命令写入***,其特征在于,包括:如权利要求5所述的主控端以及如权利要求8所述的主机端;
所述主机端用于:初始化PCIe Memory空间中NVMe寄存器组;生成NVMe对应的命令;将所述命令写入至所述PCIe Memory空间中定义的CMB虚拟空间中;
所述主控端用于:控制PCIe Switch监控CMB虚拟空间,确定写入至所述CMB虚拟空间中的NVMe对应的命令;其中,所述CMB虚拟空间为根据所述NVMe寄存器组定义的CMB虚拟内存空间;控制所述PCIe Switch根据所述CMB虚拟空间与CMB物理空间之间的地址映射关系,将所述CMB虚拟空间中的所述命令写入至SSD控制器中的所述CMB物理空间中。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述主机命令写入方法和/或如权利要求6或7所述主机命令写入方法的步骤。
CN202011601763.3A 2020-12-29 2020-12-29 一种主机命令写入方法、设备、***及可读存储介质 Pending CN112711442A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011601763.3A CN112711442A (zh) 2020-12-29 2020-12-29 一种主机命令写入方法、设备、***及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011601763.3A CN112711442A (zh) 2020-12-29 2020-12-29 一种主机命令写入方法、设备、***及可读存储介质

Publications (1)

Publication Number Publication Date
CN112711442A true CN112711442A (zh) 2021-04-27

Family

ID=75546847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011601763.3A Pending CN112711442A (zh) 2020-12-29 2020-12-29 一种主机命令写入方法、设备、***及可读存储介质

Country Status (1)

Country Link
CN (1) CN112711442A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114490222A (zh) * 2022-02-14 2022-05-13 无锡众星微***技术有限公司 一种PCIe P2P***测试启动方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107918525A (zh) * 2016-10-07 2018-04-17 三星电子株式会社 能执行对等通信的存储设备和包括其的数据存储***
CN110073323A (zh) * 2017-03-24 2019-07-30 西部数据技术公司 使用控制器存储器缓冲区进行推测性执行命令的***和方法
CN110134621A (zh) * 2018-02-09 2019-08-16 北京忆芯科技有限公司 通过环回数据通路提供cmb
US20200381071A1 (en) * 2019-06-03 2020-12-03 Advantest Corporation Systems and methods for simulated device testing using a memory-based communication protocol

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107918525A (zh) * 2016-10-07 2018-04-17 三星电子株式会社 能执行对等通信的存储设备和包括其的数据存储***
CN110073323A (zh) * 2017-03-24 2019-07-30 西部数据技术公司 使用控制器存储器缓冲区进行推测性执行命令的***和方法
CN110134621A (zh) * 2018-02-09 2019-08-16 北京忆芯科技有限公司 通过环回数据通路提供cmb
US20200381071A1 (en) * 2019-06-03 2020-12-03 Advantest Corporation Systems and methods for simulated device testing using a memory-based communication protocol

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
RYO NAKAMURA: "How Beneficial is Peer-to-Peer DMA", ACM SIGOPS ASIA-PACIFIC WORKSHOP ON SYSTEMS, vol. 20, no. 11, pages 25 - 32, XP058471876, DOI: 10.1145/3409963.3410491 *
白子秋: "基于NVMeOF的软件定义存储设计与实现", 中国优秀硕士学位论文全文数据库——信息科技辑, vol. 2020, no. 2, pages 137 - 121 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114490222A (zh) * 2022-02-14 2022-05-13 无锡众星微***技术有限公司 一种PCIe P2P***测试启动方法和装置
CN114490222B (zh) * 2022-02-14 2022-11-15 无锡众星微***技术有限公司 一种PCIe P2P***测试启动方法和装置

Similar Documents

Publication Publication Date Title
US10997093B2 (en) NVME data processing method and NVME device
KR102371916B1 (ko) 가상 머신을 지원하는 스토리지 장치, 그것을 포함하는 스토리지 시스템 및 그것의 동작 방법
US9110669B2 (en) Power management of a storage device including multiple processing cores
EP2849076B1 (en) Dma transmission method and system
EP2849077B1 (en) Method for writing data into storage device and storage device
CN107305534B (zh) 同时进行内核模式访问和用户模式访问的方法
CN110109626B (zh) 一种基于FPGA的NVMe SSD命令处理方法
KR102395477B1 (ko) 호스트 메모리에 대한 메모리 액세스를 스케쥴링하는 장치 컨트롤러, 및 이를 포함하는 저장 장치
TWI636366B (zh) 資料冗餘的處理方法及其相關電腦系統
US20190155765A1 (en) Operation method of host system including storage device and operation method of storage device controller
AU2015402888A1 (en) Computer device and method for reading/writing data by computer device
KR20210021202A (ko) 직렬로 연결된 전자 장치들 사이의 레이턴시를 감소시키기 위한 컴퓨팅 시스템
US11507307B2 (en) Storage system including a memory controller that enables each storage controller of a plurality of storage controllers to exclusively read and write control information of the memory
Koh et al. Faster than flash: An in-depth study of system challenges for emerging ultra-low latency SSDs
CN117591450B (zh) 一种数据处理***、方法、设备及介质
CN112711442A (zh) 一种主机命令写入方法、设备、***及可读存储介质
EP3398067A1 (en) Method and system for shared direct access storage
CN111177027A (zh) 动态随机存取存储器、内存管理方法、***及存储介质
CN113220608B (zh) 一种NVMe命令处理器及其处理方法
CN112732176B (zh) 基于fpga的ssd访问方法及装置、存储***及存储介质
CN115454902A (zh) 一种基于pcie接口的nvme通信***及方法
TWI714116B (zh) 記憶體控制器、記憶體控制方法、以及電腦系統
CN112306927B (zh) 一种io请求的处理方法、装置及***
CN116601616A (zh) 一种数据处理装置、方法及相关设备
KR20210094178A (ko) 직렬로 연결된 전자 장치들 사이에서 컴플리션을 조기에 전송하기 위한 컴퓨팅 시스템

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