CN116401195A - 存储器扩展装置、存储系统和总线通信方法 - Google Patents
存储器扩展装置、存储系统和总线通信方法 Download PDFInfo
- Publication number
- CN116401195A CN116401195A CN202310387157.3A CN202310387157A CN116401195A CN 116401195 A CN116401195 A CN 116401195A CN 202310387157 A CN202310387157 A CN 202310387157A CN 116401195 A CN116401195 A CN 116401195A
- Authority
- CN
- China
- Prior art keywords
- protocol
- end module
- memory
- bus
- port
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 152
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000004891 communication Methods 0.000 title claims abstract description 13
- 238000006243 chemical reaction Methods 0.000 claims description 49
- 230000005540 biological transmission Effects 0.000 abstract description 54
- 238000000926 separation method Methods 0.000 abstract description 4
- 238000012546 transfer Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 239000003999 initiator Substances 0.000 description 8
- 238000007726 management method Methods 0.000 description 8
- 238000005538 encapsulation Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000010922 spray-dried dispersion Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 239000004606 Fillers/Extenders Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
Abstract
本发明实施例提供了一种存储器扩展装置、存储系统和总线通信方法。所述存储器扩展装置包括:前端模块,包括与主机连接的前端总线端口,用于接收主机的存储访问指令;后端模块,包括与至少一种存储器连接的后端总线端口,用于向至少一种存储器发送存储访问指令;其中,前端模块与后端模块之间配置有共用底层协议,用于传输存储访问指令。在本发明实施例的方案中,前端模块与主机总线连接,后端模块与至少一个存储器总线连接,提高了总线配置的灵活性。此外,前端模块与后端模块之间配置有共用底层协议用来传输存储访问指令,在保证存储访问指令在扩展装置中的传输效率的同时实现了前端模块与后端模块之间的拉远和分离。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种存储器扩展装置、存储系统和总线通信方法。
背景技术
一般而言,诸如硬盘的非易失性存储器能够根据来自主机的指令保存数据,主机也能够访问非易失性存储器中的数据进行访问。在存储器的数目较多或存储器的类型较多的情况下,受限于主机的总线端口,需要存储器扩展装置来将各种存储器进行连接,从而达到扩展存储空间的目的。
在现有的存储器扩展方案中,采用级联的扩展卡连接在主机与各个存储器之间来实现存储器扩展,但是,在存储器的数目和种类较多的情况下,存储器的管理成本较高。
发明内容
有鉴于此,本发明实施例提供一种存储器扩展装置、存储系统和总线通信方法,以至少部分解决上述问题。
根据本发明实施例的第一方面,提供了一种存储器扩展装置,包括:前端模块,包括与主机连接的前端总线端口,用于接收所述主机的存储访问指令;后端模块,包括与至少一种存储器连接的后端总线端口,用于向所述至少一种存储器发送所述存储访问指令;其中,所述前端模块与所述后端模块之间配置有共用底层协议,用于传输所述存储访问指令。
在本发明的另一实现方式中,所述前端模块包括第一协议转换层,所述第一协议转换层用于执行所述前端总线端口的端口协议与所述共用底层协议之间的协议转换。
在本发明的另一实现方式中,所述前端模块还包括第一处理器和第一内存,所述第一处理器用于调用所述第一内存中的程序执行所述前端总线端口的端口协议与所述共用底层协议之间的协议转换。
在本发明的另一实现方式中,所述后端模块包括第二协议转换层,所述第二协议转换层用于执行之间所述后端总线端口的端口协议与所述共用底层协议之间的协议转换的协议转换。
在本发明的另一实现方式中,所述后端模块还包括第二处理器和第二内存,所述第二处理器用于调用所述第二内存中的程序执行所述后端总线端口的端口协议与所述共用底层协议之间的协议转换。
在本发明的另一实现方式中,所述前端总线端口的端口协议为NVMe协议。
在本发明的另一实现方式中,所述后端总线端口的端口协议包括SATA协议、SAS协议、NVMe协议中的至少一者。
在本发明的另一实现方式中,所述存储器扩展装置为存储器扩展卡。
根据本发明实施例的第二方面,提供了一种存储系统,包括:主机、至少一个存储器、以及根据第一方面所述的存储器扩展装置。
根据本发明实施例的第三方面,提供了一种总线通信方法,包括:通过前端模块的前端总线端口获取主机的存储访问指令;通过共用底层协议,将所述存储访问指令从所述前端模块转发到后端模块;通过所述后端模块的后端总线端口,向所述至少一种存储器转发所述存储访问指令。
在本发明的另一实现方式中,所述通过前端模块的前端总线端口获取主机的存储访问指令,包括:通过前端模块的前端总线端口获取主机的总线报文,所述总线报文具有所述前端总线端口的端口协议;所述前端模块对所述总线报文进行解封装,得到存储访问指令。所述方法还包括:所述前端模块将所述存储访问指令进行上层协议封装。所述通过共用底层协议,将所述存储访问指令从所述前端模块转发到后端模块,包括:通过共用底层协议,所述前端模块将上层协议封装后的存储访问指令从所述前端模块转发到后端模块。
在本发明的另一实现方式中,所述通过所述后端模块的后端总线端口,向所述至少一种存储器转发所述存储访问指令,包括:所述后端模块对封装后的存储访问指令进行上层协议解封装,得到所述存储访问指令;所述后端模块基于所述后端总线端口的端口协议,封装所述存储访问指令。所述后端模块将封装后的存储访问指令发送到所述至少一种存储器。
在本发明实施例的方案中,前端模块与主机总线连接,后端模块与至少一个存储器总线连接,提高了总线配置的灵活性。此外,前端模块与后端模块之间配置有共用底层协议用来传输存储访问指令,在保证存储访问指令在扩展装置中的传输效率的同时实现了前端模块与后端模块之间的拉远和分离。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为根据一个示例的存储器扩展拓扑结构的示意性框图。
图2为根据另一示例的存储器扩展拓扑结构的示意性框图。
图3为根据本发明的一个实施例的存储器扩展装置的结构框图。
图4为图3的实施例的的存储器扩展装置的进一步配置框图。
图5为图3的实施例的的存储器扩展装置的进一步配置框图。
图6为根据本发明的另一实施例的总线通信方法的步骤流程图。
图7为根据本发明的另一实施例的存储系统的示意性框图。
具体实施方式
为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
下面结合本发明实施例附图进一步说明本发明实施例具体实现。
图1描述了SAS/SATA HDD的一个示例的存储器扩展拓扑结构。如图1所示,拓扑结构由能够彼此交互的所有SAS设备组成。拓扑结构由两个部分组成,一个是终端设备,另一个是服务传送子系统。终端设备的示例性实施例包括发出命令的SAS启动器和执行那些命令的SAS目标。服务传送子系统的示例性实施例包括扩展器和电缆。此后,术语“扩展器”指SAS扩展器和与扩展器相关联的电缆。
SAS使用基于连接的协议。因此,在发送命令之前,SAS启动器必须通过作出连接请求来建立连接,并且SAS目标必须响应该连接请求。来自SAS启动器的通信包括命令和数据的传输,来自SAS目标的通信包括数据的传输和状态更新。一旦SAS启动器任务完成,SAS启动器和SAS目标之间的连接被终止。
SAS启动器之间的连接经由端口传送,并且每个端口具有端口地址。使用端口地址执行所有SCSI和SATA传送,其中每个端口由一个或多个物理层(PHY)组成。
主机总线适配器(HBA)的能力包括处理来自外围部件互连Express(PCIe)端口(I/F)的串行SCSI协议(SSP)/SATA隧道协议(STP)/串行管理协议(SMP)传输层要求。以下将更详细地定义不同的协议。
SSP定义SAS传输如何在SAS启动器和SAS目标之间传送SCSI命令,数据,响应(状态)和控制。
STP允许主机中的ATA设备驱动器通过SAS服务传送子系统与SATA HDD进行通话。STP还定义SAS传输如何在启用SAS的SATA主机和SATA设备之间传送ATA命令,数据,状态和控制。SATA设备不知道SAS环境,并且经由SAS向扩展器中的SATA网桥进行转换。
SMP定义SAS启动器如何配置和维护扩展器和SAS服务传送子系统。
下面描述主机总线适配器(HBA)和扩展器的进一步能力。
当电源接通时,SAS/SATA HDD都可以与扩展器握手,并协助扩展器建立路由表,其中路由表是映射表,以示出哪个HDD连接到哪个PHY端口。HBA可以使用SMP协议将管理转交给扩展器。HBA可以使用SSP协议来切换连接管理,并将SCSI命令,数据和状态传送到直接连接的SAS HDD。扩展器具有用于将帧传送到目标SAS HDD的路由表。HBA可以使用STP协议来切换连接管理,并将ATA命令,数据和状态传送到扩展器后面的SATA HDD,其中扩展器具有路由表以将帧传送到目标SATA HDD。
扩展器类似于网络交换机或路由器,因为它使用路由表将帧从源PHY路由到目的地PHY。与SATA HDD直接相连的扩展器可以包括SAS到SATA网桥。CPU端是仿真SAS设备,包括连接管理,代表SATA设备表示SAS地址。另一端是被配置为与真实SATA设备109,110通信的仿真SATA主机。
正如在SAS/SATA HDD拓扑结构的示例性实施例中可以看到的,描述了经由LAN连接到BMC102的管理软件(SW)101。根据示例性实施例,BMC102经由PCIe与平台控制器集线器(PCH)103通信,并且经由集成电路间(I2C)与HBA105通信。该拓扑结构还包括CPU 104,多个SAS扩展器106,107,网桥,SAS HDD 111-115和SATA HDD 108-110。
根据路由选择表的功能的示例性实施例,考虑到图1SAS扩展器#1106的PHYID2连接到SAS HDD#2112,而SAS扩展器#1106的PHYID3连接到SAS HDD#3113。因此,如果HBA105试图访问SAS HDD#2112上的数据,基于路由表,来自HBA105到SAS扩展器#1106的SAS帧(SCSI命令)将被转发到PHYID2,从而使该帧传输到正确的设备,即SAS HDD#2112。
对于图1的存储器扩展拓扑而言,在存储器的数目和种类较多的情况下,SAS扩展器的级联较为复杂,传输效率受限,存储器的管理成本较高。
图2为根据另一示例的存储器扩展拓扑结构的示意性框图。如图2所示,主机210对存储器240执行诸如读操作或写操作的存储访问。在本示例中,主机210和存储器240之间通过PCIe交换器230连接,存储器240包括NVMe HDD/SDD#1-#4。PCIe交换器230包括PCIe交换器#1-#2,上述存储器240的数目和PCIe交换器的数目均为示例性的,也可以是其他任何数目,PCIe交换器230类似于图1中的SAS扩展器,每个存储器240作为PCIe交换器的连接设备,从而实现了存储器240数目的扩展。对于图2的存储器扩展拓扑而言,在存储器的数目和种类较多的情况下,PCIe交换器的数目较多或者级联较为复杂,传输效率受限于PCIe总线协议,存储器的管理成本也较高。
为此,本发明实施例提供了一系列方案,能够在保证数据传输效率的同时降低存储器的成本。
图3为根据本发明的一个实施例的存储器扩展装置的结构框图。本实施例的存储器扩展装置300包括前端模块310和后端模块320,在一个示例中,存储器扩展装置可以实现为存储器扩展卡,前端模块310和后端模块320作为存储器扩展卡的不同部分。在另一示例中,前端模块310和后端模块320可以分别实现为不同的存储器扩展卡,通过组合两者,实现存储器扩展装置的功能。
前端模块310包括与主机连接的前端总线端口,用于接收主机的存储访问指令。
应理解,前端总线端口的端口协议为NVMe(Non-Volatile Memory Express)协议或SCSI(Small Computer System Interface)协议栈等。存储访问指令是指主机要发送的总线报文中的净荷(payload),净荷指示在前端模块与后端模块之间要传输的数据内容,下文针对图4和图5详细描述了数据内容的封装和解封装的过程。本实施例的主机可以实现为图1中的CPU 104。
后端模块320包括与至少一种存储器连接的后端总线端口,用于向至少一种存储器发送存储访问指令。
应理解,后端总线端口的端口协议包括SATA协议、SAS协议、NVMe协议中的至少一者。至少一个存储器可以是图1的SAS HDD 111-115或者SATA HDD 108-110、或者NVMe HDD/SDD、SAS SDD、SATA SDD等。
前端模块310与后端模块320之间配置有共用底层协议,用于传输存储访问指令。
应理解,共用底层协议相比于前端总线端口、后端总线端口以及其他总线端口具有较薄的协议栈,可以基于共用底层协议将已封装或未封装的数据进行封装,在前端模块与后端模块之间传输。应理解,共用底层协议包括但不限于Ethernet协议,Inifiniband协议,PCIe总线协议之中的任一种。
在本发明实施例的方案中,前端模块与主机总线连接,后端模块与至少一个存储器总线连接,提高了总线配置的灵活性。此外,前端模块与后端模块之间配置有共用底层协议用来传输存储访问指令,在保证存储访问指令在扩展装置中的传输效率的同时实现了前端模块与后端模块之间的拉远和分离。
在一个示例中,前端总线端口的端口协议为NVMe协议,从而与诸如SCSI协议、ATA协议等协议相比,减薄了与主机进行总线通信的协议栈。
下面将结合图4来进一步描述图3实施例的存储器扩展装置。如图4所示,前端模块310配置有前端总线端口311、第一协议转换层312以及共用底层协议30,可以通过第一协议转换层312实现前端总线端口311到共用底层协议30的协议转换。前端总线端口311用于与主机380之间执行数据传输。
此外,后端模块320配置有后端总线端口321、第二协议转换层322以及共用底层协议30。后端总线端口321用于与至少一个存储器执行数据传输。
进一步,在前端模块310中,可以将前端总线端口311接收到的第一总线报文解封装,得到第一传输数据(对应于存储访问指令),然后,基于前端模块310和后端模块320之间的模块间上层协议封装第一传输数据,共用底层协议30能够将封装后的第一传输数据传输到后端模块320的共用底层协议30。
类似地,在后端模块320中,可以将后端总线端口321接收到的第二总线报文解封装,得到第二传输数据(对应于存储访问指令的响应),然后,基于前端模块310和后端模块320之间的模块间上层协议封装第二传输数据,共用底层协议30能够将封装后的第二传输数据传输到前端模块310的共用底层协议30。
应理解,第一传输数据是从前端模块310发送到后端模块320的传输数据,第二传输数据是从后端模块320发送到前端模块310的传输数据。例如,第一总线报文可以对应于读操作请求,通过第一传输数据传输到后端模块320,第二总线报文可以对应于读操作响应,通过第二传输数据传输到前端模块310。又例如,第一总线报文可以对应于写操作请求,通过第一传输数据传输到后端模块320,第二总线报文可以对应于写操作响应,通过第二传输数据传输到前端模块310。
进一步地,第一传输数据可以由上层协议封装得到,通过共用底层协议30实现底层协议封装,也就是说,模块间上层协议的封装与共用底层协议的进一步封装得到了前端模块310与后端模块320之间的传输报文。具体地,第一协议转换层312和第一协议转换层322可以均执行解封装和封装,第一协议转换层312解封装的总线报文来自于主机380,例如,可以是NVMe协议。第二协议转换层322解封装的总线报文来自于各个存储器,即,总线报文的协议为SATA协议、SAS协议、NVMe协议中的至少一者。
第一协议转换层312针对第一传输数据所执行的封装的协议和第二协议转换层322针对第二传输数据所执行封装的协议可以是相同的,即,可以是相同的模块间上层协议,然后,具有模块间上层协议的总线报文经由共用底层协议30进行传输。可替代地,第一协议转换层312针对第一传输数据所执行的封装的协议和第一协议转换层322针对第二传输数据所执行封装的协议也可以是不同的,即,经由不同的协议封装的第一传输数据和第二传输数据均可以通过共用底层协议30的封装,得到前端模块310与后端模块320之间的传输报文。
进一步地,第一传输数据在前端模块310的第一协议转换层312处执行封装,相应地,在第一传输数据在后端模块320的第二协议转换层322处执行解封装。第二传输数据在后端模块320的第二协议转换层322处执行封装,相应地,在第二传输数据在前端模块320的第一协议转换层312处执行解封装。
在另一些示例中,前端模块310可以对应于多个后端模块320,下面以图4中的一个前端模块310对应于两个后端模块作为示例进行描述。
上述各个实施例的后端模块320可以为多个后端模块中的任一后端模块,在图4中,后端模块330与后端模块320为不同的后端模块,在后端模块330中,可以将后端总线端口331接收到的第二总线报文解封装,得到第二传输数据,然后,基于前端模块310和后端模块330之间的模块间上层协议封装第二传输数据,共用底层协议30能够将封装后的第二传输数据传输到前端模块310的共用底层协议30。
后端模块320对应于(例如,管理)存储器391、存储器392、以及存储器393,分别对应于SATA协议、SAS协议、NVMe协议的三种存储器。后端模块330对应于(例如,管理)存储器394、存储器395、以及存储器396,分别对应于SATA协议、SAS协议、NVMe协议的三种存储器。应理解,上述的各个存储器的编号是指不同存储器的种类,即,存储器391、存储器392、存储器393、存储器394、存储器395、以及存储器396中的任一者(即,图7中的存储器390)可以属于SATA协议、SAS协议、NVMe协议中的任一种。此外,本发明实施例对存储器的数量也不作限定。
应理解,后端模块320对应于存储器391、存储器392、以及存储器393中的至少一者。后端模块330对应于存储器394、存储器395、以及存储器396中的至少一者。
后端模块320中的第二协议转换层322和后端模块330中的第二协议转换层332可以相同、也可以不同。对于后端模块320的第二协议转换层322而言,第二协议转换层322可以针对不同的存储器391、存储器392、以及存储器393,将第一传输数据或第二传输数据的协议转换为对应的存储器的总线报文的协议。类似地,对于后端模块330的第二协议转换层332而言,第二协议转换层332可以针对不同的存储器394、存储器395、以及存储器396,将第一传输数据或第二传输数据的协议转换为对应的存储器的总线报文的协议。
在存储器391、存储器392以及存储器393中的至少一者与存储器394、存储器395、以及存储器396中的至少一者相同时,第二协议转换层322与第二协议转换层332存在相同的部分。在后端模块320对应的各个存储器与后端模块330对应的各个存储器均不相同时,第二协议转换层322与第二协议转换层332不同。
进一步地,后端模块320中的共用底层协议30与后端模块330中的共用底层协议30相同,后端模块320可以将第一传输数据作为第三传输数据经由共用底层协议30转发到后端模块330对应的各个存储器。类似地,后端模块320可以将第二传输数据作为第四传输数据经由共用底层协议30转发到后端模块330,然后,通过后端模块330中的第二协议转换层332,将第四传输数据发送到前端模块310的共用底层协议30。
应理解,第三传输数据是通过后端模块330实现第一传输数据的中转数据,第四传输数据是通过后端模块330实现第二传输数据的中转数据。
进一步地,通过共用底层协议,各个后端模块与前端模块可以执行高效的数据传输,各个后端模块之间也可以执行高效的数据传输,相比于传统扩展卡之间的级联,极大地简化了传输数据的协议转换过程。
下面将结合图5进一步描述图3实施例的存储器扩展装置。在图5的示例中,作为第一协议转换层312的处理过程的示例,前端模块310可以包括第一处理器313和第一内存314,第一处理器用于调用第一内存中的程序执行前端总线端口的端口协议与共用底层协议之间的协议转换。
作为第二协议转换层322的处理过程的示例,后端模块320还包括第二处理器323和第二内存324,第二处理器用于调用第二内存中的程序执行后端总线端口的端口协议与共用底层协议之间的协议转换。可选地,后端模块330还包括第二处理器333和第二内存334,第二处理器用于调用第二内存中的程序执行后端总线端口的端口协议与共用底层协议之间的协议转换。
通过在前端模块310以及后端模块320或后端模块330中配置处理器或内存,实现了灵活的协议转换处理,内存中的程序可以针对存储器的协议以及前端总线的协议确定。
应理解,上述各个示例的第一处理器或第二处理器可能是处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
第一内存或第二内存,用于存放程序。内存可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个闪存设备。
程序具体可以用于使得处理器执行第一协议转换层或第二协议转换层的操作。
应理解,共用底层协议包括但不限于Ethernet协议,Inifiniband协议,PCIe总线协议之中的任一种。
下面将结合图6详细描述与上述存储器扩展装置所执行的总线通信方法的步骤流程图。如图6所示,本实施例的总线通信方法包括:
S610:通过前端模块的前端总线端口获取主机的存储访问指令。
S620:通过共用底层协议,将存储访问指令从前端模块转发到后端模块。
S630:通过后端模块的后端总线端口,向至少一种存储器转发存储访问指令。
在本发明实施例的方案中,前端模块与主机总线连接,后端模块与至少一个存储器总线连接,提高了总线配置的灵活性。此外,前端模块与后端模块之间配置有共用底层协议用来传输存储访问指令,在保证存储访问指令在扩展装置中的传输效率的同时实现了前端模块与后端模块之间的拉远和分离。
在另一些示例中,所述通过前端模块的前端总线端口获取主机的存储访问指令,包括:通过前端模块的前端总线端口获取主机的总线报文,所述总线报文具有所述前端总线端口的端口协议;所述前端模块对所述总线报文进行解封装,得到存储访问指令。所述方法还包括:所述前端模块将所述存储访问指令进行上层协议封装;所述通过共用底层协议,将所述存储访问指令从所述前端模块转发到后端模块,包括:通过共用底层协议,所述前端模块将上层协议封装后的存储访问指令从所述前端模块转发到后端模块。
在另一些示例中,所述通过所述后端模块的后端总线端口,向所述至少一种存储器转发所述存储访问指令,包括:所述后端模块对封装后的存储访问指令进行上层协议解封装,得到所述存储访问指令;所述后端模块基于所述后端总线端口的端口协议,封装所述存储访问指令。所述后端模块将封装后的存储访问指令发送到所述至少一种存储器。
本实施例的方法对应于前述多个装置实施例中相应的模块的操作和处理,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的方法的功能实现均可参照前述装置实施例中的相应模块的描述,在此亦不再赘述。
进一步地,在本发明的另一些实施例中,至少一个存储器390和主机380还与上述各个实施例的存储器扩展装置300构成存储系统500,如图7所示。
此外,程序中各步骤的具体实现可以参见上述方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。
上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。
Claims (10)
1.一种存储器扩展装置,包括:
前端模块,包括与主机连接的前端总线端口,用于接收所述主机的存储访问指令;
后端模块,包括与至少一种存储器连接的后端总线端口,用于向所述至少一种存储器发送所述存储访问指令;
其中,所述前端模块与所述后端模块之间配置有共用底层协议,用于传输所述存储访问指令。
2.根据权利要求1所述的装置,其中,所述前端模块包括第一协议转换层,所述第一协议转换层用于执行所述前端总线端口的端口协议与所述共用底层协议之间的协议转换。
3.根据权利要求2所述的装置,其中,所述前端模块还包括第一处理器和第一内存,所述第一处理器用于调用所述第一内存中的程序执行所述前端总线端口的端口协议与所述共用底层协议之间的协议转换。
4.根据权利要求1所述的装置,其中,所述后端模块包括第二协议转换层,所述第二协议转换层用于执行之间所述后端总线端口的端口协议与所述共用底层协议之间的协议转换的协议转换。
5.根据权利要求4所述的装置,其中,所述后端模块还包括第二处理器和第二内存,所述第二处理器用于调用所述第二内存中的程序执行所述后端总线端口的端口协议与所述共用底层协议之间的协议转换。
6.根据权利要求1所述的装置,其中,所述前端总线端口的端口协议为NVMe协议。
7.根据权利要求1所述的装置,其中,所述后端总线端口的端口协议包括SATA协议、SAS协议、NVMe协议中的至少一者。
8.根据权利要求1所述的装置,其中,所述存储器扩展装置为存储器扩展卡。
9.一种存储系统,包括:
主机;
至少一个存储器;以及
根据权利要求1-8中任一项所述的存储器扩展装置。
10.一种总线通信方法,包括:
通过前端模块的前端总线端口获取主机的存储访问指令;
通过共用底层协议,将所述存储访问指令从所述前端模块转发到后端模块;
通过所述后端模块的后端总线端口,向所述至少一种存储器转发所述存储访问指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310387157.3A CN116401195A (zh) | 2023-04-10 | 2023-04-10 | 存储器扩展装置、存储系统和总线通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310387157.3A CN116401195A (zh) | 2023-04-10 | 2023-04-10 | 存储器扩展装置、存储系统和总线通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116401195A true CN116401195A (zh) | 2023-07-07 |
Family
ID=87017655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310387157.3A Pending CN116401195A (zh) | 2023-04-10 | 2023-04-10 | 存储器扩展装置、存储系统和总线通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116401195A (zh) |
-
2023
- 2023-04-10 CN CN202310387157.3A patent/CN116401195A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3042296B1 (en) | Universal pci express port | |
US7743178B2 (en) | Method and apparatus for SATA tunneling over fibre channel | |
US7969989B2 (en) | High performance ethernet networking utilizing existing fibre channel arbitrated loop HBA technology | |
EP1697850B1 (en) | Managing transmissions between devices | |
US7853741B2 (en) | Tunneling SATA targets through fibre channel | |
CN107820693B (zh) | NVMe over Fabric中转发报文的方法、设备和系统 | |
CN110941576B (zh) | 具有多模pcie功能的存储控制器的系统、方法和设备 | |
EP3660686B1 (en) | Method and device for transmitting data processing request | |
US20140337559A1 (en) | Pass-through converged network adaptor (cna) using existing ethernet switching device | |
CN1977254A (zh) | 多协议网桥 | |
US20170220255A1 (en) | Write request processing method, processor, and computer | |
CN110912836A (zh) | 使转发设备转发数据的方法、控制设备、存储介质和系统 | |
US9280508B1 (en) | Apparatus and method for interoperability between SAS and PCI express | |
KR101559089B1 (ko) | 장치의 컴포넌트들 간에 메모리 자원들을 공유하기 위한 통신 프로토콜 | |
US20150350014A1 (en) | Networking implementation using a converged high speed input/output fabric technology | |
WO2015055008A1 (zh) | 一种存储控制芯片及磁盘报文传输方法 | |
CN116401195A (zh) | 存储器扩展装置、存储系统和总线通信方法 | |
US11042497B2 (en) | Communication between field programmable gate arrays | |
CN207676336U (zh) | 转接设备、远程通信系统 | |
CN115344382A (zh) | 一种多机设备资源共享重组方法及系统 | |
US9787529B1 (en) | Systems and methods for tunneling socket calls across operating systems | |
CN112948317A (zh) | 基于Hlink的多节点系统及处理方法 |
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 |