CN110109858A - 总线架构、服务器、内存数据读写方法及可读存储介质 - Google Patents
总线架构、服务器、内存数据读写方法及可读存储介质 Download PDFInfo
- Publication number
- CN110109858A CN110109858A CN201910375712.4A CN201910375712A CN110109858A CN 110109858 A CN110109858 A CN 110109858A CN 201910375712 A CN201910375712 A CN 201910375712A CN 110109858 A CN110109858 A CN 110109858A
- Authority
- CN
- China
- Prior art keywords
- bus
- reading
- internal storage
- storage data
- read
- 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
- 238000000034 method Methods 0.000 title claims abstract description 26
- 230000015654 memory Effects 0.000 claims abstract description 75
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 5
- 238000011161 development Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004891 communication Methods 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请公开了一种总线架构,所述总线架构包括通过总线与总线控制器连接的目标硬件设备;设置有所述总线控制器的内存模块,用于根据所述目标硬件设备向所述总线控制器发送的数据读写指令执行相应的内存数据读写操作。本申请能够提高总线架构的内存读写能力。本申请还公开了一种服务器、一种内存数据读写方法及一种计算机可读存储介质,具有以上有益效果。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种总线架构、一种服务器、一种内存数据读写方法及一种计算机可读存储介质。
背景技术
总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,总线可以包括数据总线、地址总线和控制总线。总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件***。
相关技术中,服务器的总线结构(即总线架构)都是以CPU为中心来实现的,例如QPI总线、PCIe总线。这些都是CPU为中心的总线。内存挂在CPU下面,其他device(设备)通过各种总线与CPU互联。但是在计算机体系结构中,大量的数据计算和存储是通过内存的,所以存在大量的对内存的读写操作。而相关技术中的总线都是挂在CPU下面,所有对内存读写的操作都要通过CPU,导致总线架构对内存读写能力受到CPU的限制。
因此,如何提高总线架构的内存读写能力是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种总线架构、一种服务器、一种内存数据读写方法及一种计算机可读存储介质,能够提高总线架构的内存读写能力。
为解决上述技术问题,本申请提供一种总线架构,该总线架构包括:
通过总线与总线控制器连接的目标硬件设备;
设置有所述总线控制器的内存模块,用于根据所述目标硬件设备向所述总线控制器发送的数据读写指令执行相应的内存数据读写操作。
可选的,所述硬件设备包括CPU、GPU、FPGA和Switch组件中的任一种或任几种组合。
可选的,所述Switch组件用于连接扩展硬件设备;其中,所述扩展硬件设备包括FPGA和/或GPU。
本申请还提供了一种服务器,包括上述任意一种总线架构。
本申请还提供了一种内存数据读写方法,应用于上述任意一种总线架构,该内存数据读写方法包括:
接收目标硬件装置通过总线发送的数据读写指令;
在内存模块中执行所述数据读写指令对应的内存数据读写操作。
可选的,当所述数据读写指令为内存数据读指令时,在内存模块中执行所述数据读写指令的内存数据读写操作包括:
查询所述内存模块中与所述内存数据读指令对应的目标读写数据,并将所述目标读写数据通过所述总线传输至所述目标硬件装置。
可选的,还包括:
检测所述目标读写数据的传输状态;
当所述传输状态异常时,生成报警信息。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述内存数据读写方法执行的步骤。
本申请提供了一种总线架构,包括通过总线与总线控制器连接的目标硬件设备;设置有所述总线控制器的内存模块,用于根据所述目标硬件设备向所述总线控制器发送的数据读写指令执行相应的内存数据读写操作。
本申请通过在内存模块中设置总线控制器,所有的目标硬件设备均通过总线与内存模块中的总线控制器连接,实现以内存为中心的总线架构设计。由于本申请提供的总线结构以CPU为中心,因此目标设备发送的数据读写指令无需经过CPU即可直接到达内存模块,以便内存模块执行相应的内存数据读写操作。本申请提供了以内存为中心的总线框架,因此能够避免CPU对内存读写能力的限制,提高总线架构的内存读写能力。本申请同时还提供了一种服务器、一种内存数据读写方法及一种计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种总线架构的结构示意图;
图2为内存模块结构示意图;
图3为本申请实施例所提供的一种内存数据读写方法的流程图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面请参见图1,图1为本申请实施例所提供的一种总线架构的结构示意图,具体结构可以包括:
通过总线300与总线控制器101连接的目标硬件设备200;
设置有所述总线控制器101的内存模块100,用于根据所述目标硬件设备200向所述总线控制器101发送的数据读写指令执行相应的内存数据读写操作。
请参见图2,图2为内存模块结构示意图,图2中DDR为内存,DDR PHY为内存的端口物理层,DDR Controller为内存控制逻辑层,BUS为总线,Arbiter为总线仲裁。本实施例相当于将原设置于CPU中的总线控制器移至内存模块100中,目标设备对内存读写的时候就可以直接与总线控制模块通信。因为总线控制模块101设置于内存模块上,因此就相当于目标设备直接和内存模块通信,不再间接通过CPU通信。内存模块与总线控制器之间的连接关系类似于普通的内存颗粒或者内存条直接挂在总线控制器下面,接口就是普通的内存接口。
如图1所示内存模块100直接和总线300连接,内存模块100作为主动器件,其他器件(即硬件设备200)作为从设备连接在总线上。内存模块100上有总线控制器,负责总线的调度,以及内存一致性控制。
作为一种可行的实施方式,上述目标硬件设备200可以包括CPU、GPU、FPGA和Switch组件中的任一种或任几种组合。其中,Switch组件可以用于连接扩展硬件设备;该扩展硬件设备包括FPGA和/或GPU,以实现硬件设备可连接数量的额外扩展。本实施例不限定目标硬件设备的种类和数量,本领域的技术人员可以根据实际应用情况灵活选择。
下面通过FPGA读写内存的过程说明本实施例所提供的总线结构的实现方式:当FPGA需要对内存进行读写时,通过总线直接将内存读写指令发送至内存模块的总线控制器,内存模块中执行内存读写指令对应的内存数据读写操作,并将读写操作结果通过总线直接返回至FPGA。而在以CPU为中心的总线架构中,FPGA需要对内存进行读写的时候,首先将读写请求发送给CPU,CPU根据读写请求的内容将其翻译为CPU对内存的读写控制,当CPU从内存上获得数据之后再转发给FPGA。由此可见,本实施例中总线架构不再以CPU为中心,其他硬件设备读写内存的时候不再通过CPU,可以不受制于CPU的性能。
本实施例通过在内存模块中设置总线控制器,所有的目标硬件设备均通过总线与内存模块中的总线控制器连接,实现以内存为中心的总线架构设计。内存直接挂在总线控制器下面,总线控制器成为内存模块的一部分。由于本实施例提供的总线结构以CPU为中心,因此目标设备发送的数据读写指令无需经过CPU即可直接到达内存模块,以便内存模块执行相应的内存数据读写操作。本实施例提供了以内存为中心的总线框架,因此能够避免CPU对内存读写能力的限制,提高总线架构的内存读写能力。
本申请还提供了一种服务器,可以包括上述实施例中任意一种总线架构。当然该服务器还可以包括各种网络接口,电源等组件。
下面请参见图3,图3为本申请实施例所提供的一种内存数据读写方法的流程图,本实施例可以应用于如上述实施例中任意一种总线架构,具体步骤可以包括:
S1:接收目标硬件装置通过总线发送的数据读写指令;
S2:在内存模块中执行所述数据读写指令对应的内存数据读写操作。
本实施例是基于图1对应的实施例所描述的总线架构实现的,本实施例的执行主体为内存模块,目标硬件装置通过总线发送的数据读写指令可以为目标硬件装置直接与内存模块之间的信息传递,在内存模块接收到数据读写指令后,内存模块根据数据读写执行相应的内存数据读写操作,以便将数据读写执行对应的读写操作结果返回至相应的目标硬件设备。在本实施例中不限定目标硬件设备的种类与数量,目标硬件设备可以包括CPU、GPU、FPGA和Switch组件。
具体的,当上述实施例中数据读写指令为内存数据读指令时,S2中在内存模块中执行所述数据读写指令的内存数据读写操作可以具体为:查询所述内存模块中与所述内存数据读指令对应的目标读写数据,并将所述目标读写数据通过所述总线传输至所述目标硬件装置。进一步的,还可以按照预设周期检测目标读写数据的传输状态;当检测到所述传输状态异常时,生成报警信息。
本实施例基于图1对应的总线架构来实现,该总线架构通过在内存模块中设置总线控制器,所有的目标硬件设备均通过总线与内存模块中的总线控制器连接,实现以内存为中心的总线架构设计。由于该总线结构以CPU为中心,因此目标设备发送的数据读写指令无需经过CPU即可直接到达内存模块,以便内存模块执行相应的内存数据读写操作。本实施例提供了以内存为中心的总线框架的内存数据读写方案,因此能够避免CPU对内存读写能力的限制,提高总线架构的内存读写能力。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (8)
1.一种总线架构,其特征在于,包括:
通过总线与总线控制器连接的目标硬件设备;
设置有所述总线控制器的内存模块,用于根据所述目标硬件设备向所述总线控制器发送的数据读写指令执行相应的内存数据读写操作。
2.根据权利要求1所述总线架构,其特征在于,所述硬件设备包括CPU、GPU、FPGA和Switch组件中的任一种或任几种组合。
3.根据权利要求2所述总线架构,其特征在于,所述Switch组件用于连接扩展硬件设备;其中,所述扩展硬件设备包括FPGA和/或GPU。
4.一种服务器,其特征在于,包括如权利要求1至3所述的任意一种总线架构。
5.一种内存数据读写方法,其特征在于,应用于如权利要求1至3任一项所述的总线架构,所述内存数据读写方法包括:
接收目标硬件装置通过总线发送的数据读写指令;
在内存模块中执行所述数据读写指令对应的内存数据读写操作。
6.根据权利要求5所述内存数据读写方法,其特征在于,当所述数据读写指令为内存数据读指令时,在内存模块中执行所述数据读写指令的内存数据读写操作包括:
查询所述内存模块中与所述内存数据读指令对应的目标读写数据,并将所述目标读写数据通过所述总线传输至所述目标硬件装置。
7.根据权利要求6所述内存数据读写方法,其特征在于,还包括:
检测所述目标读写数据的传输状态;
当所述传输状态异常时,生成报警信息。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求5至7任一项所述内存数据读写方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910375712.4A CN110109858A (zh) | 2019-05-07 | 2019-05-07 | 总线架构、服务器、内存数据读写方法及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910375712.4A CN110109858A (zh) | 2019-05-07 | 2019-05-07 | 总线架构、服务器、内存数据读写方法及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110109858A true CN110109858A (zh) | 2019-08-09 |
Family
ID=67488619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910375712.4A Pending CN110109858A (zh) | 2019-05-07 | 2019-05-07 | 总线架构、服务器、内存数据读写方法及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110109858A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1696917A (zh) * | 2004-07-07 | 2005-11-16 | 威盛电子股份有限公司 | 主从***中直接内存存取控制器及总线结构 |
CN101078991A (zh) * | 2006-05-23 | 2007-11-28 | 环达电脑(上海)有限公司 | 基于bios读写内存spd的计算机***信息保存和读取方法 |
CN101142562A (zh) * | 2005-03-14 | 2008-03-12 | 松下电器产业株式会社 | 总线控制器 |
US20160328340A1 (en) * | 2012-07-19 | 2016-11-10 | International Business Machines Corporation | Memory subsystem and computer system |
CN106557442A (zh) * | 2015-09-28 | 2017-04-05 | 北京兆易创新科技股份有限公司 | 一种芯片*** |
CN108733594A (zh) * | 2017-04-13 | 2018-11-02 | 慧荣科技股份有限公司 | 存储器控制器与数据储存装置 |
-
2019
- 2019-05-07 CN CN201910375712.4A patent/CN110109858A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1696917A (zh) * | 2004-07-07 | 2005-11-16 | 威盛电子股份有限公司 | 主从***中直接内存存取控制器及总线结构 |
CN101142562A (zh) * | 2005-03-14 | 2008-03-12 | 松下电器产业株式会社 | 总线控制器 |
CN101078991A (zh) * | 2006-05-23 | 2007-11-28 | 环达电脑(上海)有限公司 | 基于bios读写内存spd的计算机***信息保存和读取方法 |
US20160328340A1 (en) * | 2012-07-19 | 2016-11-10 | International Business Machines Corporation | Memory subsystem and computer system |
CN106557442A (zh) * | 2015-09-28 | 2017-04-05 | 北京兆易创新科技股份有限公司 | 一种芯片*** |
CN108733594A (zh) * | 2017-04-13 | 2018-11-02 | 慧荣科技股份有限公司 | 存储器控制器与数据储存装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104202197B (zh) | 设备管理的方法和装置 | |
CN100580643C (zh) | 包括多个存储器集线器模块的多处理器***和方法 | |
JP4568290B2 (ja) | ハブベースのメモリサブシステムにおける、双方向データバスに対するデータバイパスの装置および方法 | |
JP5546635B2 (ja) | データ転送装置およびその制御方法 | |
US20140149706A1 (en) | Storage device and data transfering method thereof | |
CN101876925B (zh) | 内存镜像处理方法、装置和*** | |
CN105786400B (zh) | 一种异构混合内存组件、***及存储方法 | |
CN106462520A (zh) | 用于与非易失性双列直插式存储器模块的控制器通信的技术 | |
CN109478158A (zh) | Ddr存储器错误恢复 | |
CN105340017A (zh) | 对包括非兼容性存储器技术或与其接合的存储器模块的写入流控制 | |
JP2010079526A5 (zh) | ||
CN109863481A (zh) | 用于平台裕度调节和调试的软件模式寄存器访问 | |
CN104991737B (zh) | 一种基于存储卡阵列架构的硬盘实现方法 | |
CN102609380B (zh) | 基于axi总线的sdram控制器写数据快速响应方法 | |
US8140724B1 (en) | SATA pass through port | |
CN111679783A (zh) | 存储器控制器 | |
CN108008917A (zh) | 存储设备及控制其链接状态的方法 | |
KR20220116041A (ko) | 이기종 메모리 시스템용 시그널링 | |
US9146693B2 (en) | Storage control device, storage system, and storage control method | |
CN102393838A (zh) | 数据处理方法及装置、pci-e总线***、服务器 | |
CN101599049B (zh) | 控制dma访问不连续物理地址的方法及dma控制器 | |
CN110109858A (zh) | 总线架构、服务器、内存数据读写方法及可读存储介质 | |
CN201218944Y (zh) | 双口ram实现闪存控制器缓存的结构 | |
CN108139993A (zh) | 内存装置、内存控制器、数据缓存装置及计算机*** | |
CN103150262B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190809 |